security-audit
SKILL.md
Security Audit
OWASP Top 10
A01 - Broken Access Control
Verificar que autenticado ≠ autorizado. Cada endpoint verifica que el recurso pertenece al usuario.
// ❌ Solo verifica que está autenticado
app.delete('/posts/:id', authenticate, async (req, res) => {
await db.post.delete({ where: { id: req.params.id } })
})
// ✅ Verifica que el recurso pertenece al usuario
app.delete('/posts/:id', authenticate, async (req, res) => {
const post = await db.post.findFirst({
where: { id: req.params.id, authorId: req.user.id }
})
if (!post) return res.status(404).json({ error: 'Not found' })
await db.post.delete({ where: { id: post.id } })
})
A02 - Cryptographic Failures
Contraseñas con bcrypt/argon2 (nunca MD5/SHA sin salt). JWT secrets en variables de entorno, mínimo 32 chars.
// ❌ Algoritmo débil
const hash = crypto.createHash('md5').update(password).digest()
// ✅ Algoritmo seguro
const hash = await bcrypt.hash(password, 12)
A03 - Injection
Queries parametrizadas siempre. Validar inputs antes de exec/spawn.
// ❌ SQL Injection
const query = `SELECT * FROM users WHERE email = '${email}'`
// ✅ Query parametrizada
const user = await db.query('SELECT * FROM users WHERE email = $1', [email])
A05 - Security Misconfiguration
helmet(), CORS restringido, rate limiting en auth (5 intentos/15min).
// Rate limiting
app.use('/auth/login', rateLimit({
windowMs: 15 * 60 * 1000,
max: 5,
message: 'Too many attempts'
}))
A07 - Authentication Failures
Tiempo de respuesta constante, refresh tokens con hash, expiración y revocación.
A08 - Integrity
package-lock.json en repo, npm ci en CI/CD, npm audit en pipeline.
Detección de secrets
# Buscar secrets con grep
grep -r "password\s*=" --include="*.ts" .
# gitleaks
gitleaks detect --source-path .
Informe de auditoría
| ID | Severidad | Categoría OWASP | Archivo | Estado |
|---|---|---|---|---|
| SEC-001 | Critical | A01 | src/api/posts.ts | Pendiente |
| SEC-002 | High | A03 | src/db/query.ts | Corregido |
Severidades: Critical, High, Medium, Low.
Cuándo activarme
- "Revisa este código en busca de vulnerabilidades"
- "Audita la seguridad del proyecto"
- "Hay algún CVE en nuestras dependencias?"
Weekly Installs
2
Repository
cerebromaniaco/…e-skillsFirst Seen
Feb 25, 2026
Security Audits
Installed on
openclaw2
antigravity2
claude-code2
github-copilot2
codex2
kimi-cli2