Auditoría de Seguridad de Código Fuente
ACCIÓN REQUERIDA (ejecutar inmediatamente después de leer)
AHORA: Leer../field-journal/precedent-pentest.mdo la autorización de auditoría de códigoAHORA: Confirmar que se tiene acceso al código fuente/repositorio (binario sin código fuente → derivar a la habilidad RE)AHORA: Definir el stack de lenguajes y el alcance (directorio/servicio/diff de PR)SIGUIENTE: tool-index; semgrep, etc.ACCIÓN: Modelo de amenazas (borrador) → escaneo automático → verificación manual
Escenarios de Uso
- Auditoría de caja blanca, revisión de seguridad de PR/diffs
- SAST con Semgrep / CodeQL / Bandit / gosec, etc.
- APIs peligrosas, puntos de inyección, autenticación faltante, mal uso de criptografía
- Diferenciación con
supply-chain-security/: esta habilidad se enfoca en la lógica del código propio, mientras que la de cadena de suministro se enfoca en dependencias y pipelines
Flujo de Trabajo
1. Alcance y Modelo de Amenazas
□ Límites de confianza: entrada de usuario, archivos, deserialización, SSRF, middleware de autenticación
□ Activos de alto valor: autenticación, pagos, panel de administración, manejo de claves
2. Escaneo Automático
semgrep --config auto .
# o con paquetes de reglas del proyecto
semgrep --config p/owasp-top-ten .
3. Verificación Manual (OBLIGATORIO)
□ Cada hallazgo de SAST: ¿alcanzable? ¿explotable? ¿falso positivo?
□ Autenticación: IDOR/fallo de autorización, falta de verificación, aislamiento incorrecto de multiinquilino
□ Inyección: SQL/comandos/plantillas/LDAP
□ Criptografía: claves hardcodeadas, ECB, criptografía personalizada
4. Resultados
Hallazgo: ubicación + flujo de datos + PoC + recomendación de corrección
Opcional: ID de ATT&CK / CWE
Cadena de Herramientas
| Herramienta | Lenguaje/Escenario |
|---|---|
| Semgrep | Reglas rápidas multilenguaje |
| CodeQL | Flujo de datos profundo (GitHub) |
| Bandit | Python |
| gosec / staticcheck | Go |
| SpotBugs / FindSecBugs | Java |
Referencias
references/sast-review-checklist.md../supply-chain-security/../api-security/../llm-security/(código de agente)
Contexto de Enrutamiento
Agua arriba: MASTER R26
Rol: ops/role-map.md cae
Agua abajo: vulnerabilidades de dependencias → supply-chain; verificación en tiempo real → pentest-tools
Autocomprobación de Tareas
- ¿Se ha verificado manualmente en lugar de solo pegar la salida del escáner?
- ¿Se incluyen recomendaciones de corrección?
- ¿Se ha limitado al alcance del repositorio autorizado?
- ¿Lista de verificación?