← Volver

Security Audit

Esta habilidad realiza una auditoría de seguridad integral en tu proyecto, incluyendo escaneo de secretos, análisis estático (SAST) y comprobaciones de seguridad a nivel de fila (RLS) de Supabase. Corrige los problemas identificados de forma autónoma y repite las comprobaciones hasta que el proyecto esté limpio.

Qué hace

Esta habilidad realiza una auditoría de seguridad exhaustiva de tu código. Escanea en busca de secretos usando gitleaks, realiza pruebas de seguridad estática de aplicaciones (SAST) con semgrep, verifica las configuraciones de seguridad a nivel de fila (RLS) de Supabase y comprueba si hay archivos de entorno mal rastreados. La habilidad intentará solucionar todas las vulnerabilidades identificadas y volverá a ejecutar la auditoría hasta que no queden problemas.

Cuándo usarlo

Utiliza esta habilidad cuando necesites asegurar la postura de seguridad de tu proyecto antes del despliegue o como parte de un pipeline de integración continua. Es ideal para identificar y remediar rápidamente problemas de seguridad comunes, especialmente al tratar con secretos, hallazgos de SAST o RLS de Supabase. Puedes ejecutarla bajo demanda para obtener un estado de proyecto limpio.

Cómo configurarlo

Para usar esta habilidad, copia el archivo a .claude/skills/security-audit/SKILL.md en tu repositorio. Una vez que el archivo esté en su lugar, puedes invocarlo directamente en Claude Code usando /security-audit. Claude Code ejecutará los pasos de la auditoría y proporcionará un resumen de los hallazgos y las soluciones.

El contenido

Security Audit

Run a comprehensive security audit on this project. Fix all findings autonomously.

Current git status: !git status --short Supabase project: !ls supabase/migrations/ 2>/dev/null | tail -5 || echo "No supabase directory"

Step 1: Run Scanners

Run all applicable scanners:

# Secret scanning
gitleaks detect --source . --no-git --report-format json --report-path /tmp/gitleaks-report.json 2>&1 || true

# SAST
semgrep --config=auto --json --output /tmp/semgrep-report.json . 2>&1 || true

Read both report files and understand all findings.

Step 2: Check Supabase RLS

If supabase/migrations/ exists:

  • Read all migration files
  • For every CREATE TABLE in public schema, verify RLS is enabled and at least one policy exists
  • Flag missing RLS

Step 3: Check Environment Files

  • Verify .env and .env.* (except .env.example) are in .gitignore
  • Run git ls-files | grep '\.env' to find tracked env files (exclude .env.example and vite-env.d.ts)
  • Scan src/ for hardcoded API keys or tokens

Step 4: Fix All Findings

For each finding:

  • Secrets in code: Replace with env var reference, add to .env.example
  • Tracked .env files: git rm --cached
  • SAST issues: Apply semgrep's recommended fix
  • Missing RLS: Generate migration file with RLS + basic policy

Step 5: Re-run Until Clean

Re-run all scanners from Step 1. If findings remain, fix and repeat. Stop after 3 cycles or when clean.

Step 6: Summary

Output what was found, what was fixed, and final scan status.

Viene directamente del framework con el que se construye este sitio. Esta página muestra siempre la versión actual.

¿Quieres algo así para ti?

Empieza con una conversación: 30 minutos, sin compromiso.