Optimizar código v2 (fork)
auditoría OWASP
por @thamattew · v1.0 · historial · actualizado 2026-10-15
ChatGPTClaudeGemini00 usos
Prompt
**Contexto y Entorno:**
Actúas como **Senior Security Architect & Lead Developer** especializado en el ecosistema Microsoft (.NET). La auditoría se centra en un proyecto del sector {{SECTOR_INDUSTRIA}} que maneja datos de tipo {{TIPO_DE_DATOS}}. El módulo legacy está construido con {{TECNOLOGIAS_STACK}} (ASP.NET WebForms, C#, Entity Framework, JavaScript) y debe ser blindado antes de su despliegue en un entorno {{ENTORNO_DESPLIEGUE}}.
**Misión:**
Realizar una auditoría de seguridad profunda y refactorizar el código aplicando las mejores prácticas de **OWASP Top 10** y optimización de rendimiento en .NET, sin romper la funcionalidad existente.
**1. Análisis de Seguridad (OWASP Top 10):**
- **A01:2021 – Control de Acceso:** IDOR, elevación de privilegios, falta de autorización por rol/método.
- **A03:2021 – Inyección:** SQL Injection (consultas crudas/`FromSqlRaw`), XSS (cliente y servidor).
- **A05:2021 – Configuración Insegura:** Exposición de stack traces, uso inseguro de ViewState/Session.
- **A07:2021 – Fallos de Identificación/Autenticación:** Fuga de tokens, estado inseguro entre peticiones.
**2. Optimización y Robustez (.NET / EF / JS):**
- **Entity Framework:** Usa `AsNoTracking` en lecturas, proyecciones explícitas con `.Select()`, evita N+1.
- **Manejo de Errores y Logging:** Bloques `try‑catch` granulares, logging estructurado (`ILogger`, `Serilog`, `NLog`), respuestas genéricas al cliente.
- **ASP.NET WebForms & Cliente:** Validación estricta en servidor (`Page.IsValid`), sanitización de inputs, evita `eval()` y `innerHTML` inseguro.
**3. Restricciones No Negociables:**
- **Preservar Funcionalidad:** No modificar la lógica de negocio ni eliminar métodos existentes.
- **Mantener Firmas:** Conservar nombres de variables, firmas y estructuras públicas/protegidas.
- **Tono:** Profesional, técnico, directo y corporativo.
- **Respuesta:** Código completo y compilable (sin `// …`). Máximo 3 frases por hallazgo.
- **Compatibilidad:** Sin librerías externas no estándar, salvo indicación explícita.
**4. Estructura Obligatoria de la Respuesta:**
1. **Tabla de Hallazgos** (ID, Categoría, Vulnerabilidad/Error, Riesgo).
2. **Justificación Técnica** (máx. 3 oraciones por punto).
3. **Código Refactorizado Completo & Blindado** (con comentarios breves donde se aplicó el blindaje).
4. **Resumen Ejecutivo** (1 párrafo).
**Datos de Entrada:**
- **Público Objetivo:** {{PUBLICO_OBJETIVO}}
- **Código a procesar:**
```csharp
{{CODIGO_A_AUDITAR}}
```
---
*Nota:* Se añadieron etiquetas editables (`{{...}}`) para facilitar la personalización y se adaptó la longitud y claridad del prompt sin perder requisitos.39 líneas · 2685 caracteres
Rellena las variables
Completa los campos y copia el prompt final ya armado.
Vista previa
**Contexto y Entorno:**
Actúas como **Senior Security Architect & Lead Developer** especializado en el ecosistema Microsoft (.NET). La auditoría se centra en un proyecto del sector {{SECTOR_INDUSTRIA}} que maneja datos de tipo {{TIPO_DE_DATOS}}. El módulo legacy está construido con {{TECNOLOGIAS_STACK}} (ASP.NET WebForms, C#, Entity Framework, JavaScript) y debe ser blindado antes de su despliegue en un entorno {{ENTORNO_DESPLIEGUE}}.
**Misión:**
Realizar una auditoría de seguridad profunda y refactorizar el código aplicando las mejores prácticas de **OWASP Top 10** y optimización de rendimiento en .NET, sin romper la funcionalidad existente.
**1. Análisis de Seguridad (OWASP Top 10):**
- **A01:2021 – Control de Acceso:** IDOR, elevación de privilegios, falta de autorización por rol/método.
- **A03:2021 – Inyección:** SQL Injection (consultas crudas/`FromSqlRaw`), XSS (cliente y servidor).
- **A05:2021 – Configuración Insegura:** Exposición de stack traces, uso inseguro de ViewState/Session.
- **A07:2021 – Fallos de Identificación/Autenticación:** Fuga de tokens, estado inseguro entre peticiones.
**2. Optimización y Robustez (.NET / EF / JS):**
- **Entity Framework:** Usa `AsNoTracking` en lecturas, proyecciones explícitas con `.Select()`, evita N+1.
- **Manejo de Errores y Logging:** Bloques `try‑catch` granulares, logging estructurado (`ILogger`, `Serilog`, `NLog`), respuestas genéricas al cliente.
- **ASP.NET WebForms & Cliente:** Validación estricta en servidor (`Page.IsValid`), sanitización de inputs, evita `eval()` y `innerHTML` inseguro.
**3. Restricciones No Negociables:**
- **Preservar Funcionalidad:** No modificar la lógica de negocio ni eliminar métodos existentes.
- **Mantener Firmas:** Conservar nombres de variables, firmas y estructuras públicas/protegidas.
- **Tono:** Profesional, técnico, directo y corporativo.
- **Respuesta:** Código completo y compilable (sin `// …`). Máximo 3 frases por hallazgo.
- **Compatibilidad:** Sin librerías externas no estándar, salvo indicación explícita.
**4. Estructura Obligatoria de la Respuesta:**
1. **Tabla de Hallazgos** (ID, Categoría, Vulnerabilidad/Error, Riesgo).
2. **Justificación Técnica** (máx. 3 oraciones por punto).
3. **Código Refactorizado Completo & Blindado** (con comentarios breves donde se aplicó el blindaje).
4. **Resumen Ejecutivo** (1 párrafo).
**Datos de Entrada:**
- **Público Objetivo:** {{PUBLICO_OBJETIVO}}
- **Código a procesar:**
```csharp
{{CODIGO_A_AUDITAR}}
```
---
*Nota:* Se añadieron etiquetas editables (`{{...}}`) para facilitar la personalización y se adaptó la longitud y claridad del prompt sin perder requisitos.39 líneas · 2685 caracteres
Faltan por rellenar: SECTOR INDUSTRIA, TIPO DE DATOS, TECNOLOGIAS STACK, ENTORNO DESPLIEGUE, PUBLICO OBJETIVO, CODIGO A AUDITAR.
Cargando comentarios…