Status: Pre-Release v1.0

Tu IA escribe código rápido.
También vulnerabilidades.

Vigil es el primer security scanner determinista diseñado para código generado por agentes de Inteligencia Artificial. Detecta slopsquatting, alucinaciones y falsos tests en segundos.

$ pip install vigil-ai-cli
Github
Sin telemetría. Sin costes de API. Open Source.
Terminal — vigil scan

user@host:~$ vigil scan src/ --format human

◇ Vigil V1.0 - Analizando 42 archivos...

==================================================

[CRÍTICO] DEP-001: Dependency Hallucination

› Archivo: requirements.txt:14

› Paquete: 'fastapi-auth-middleware' NO EXISTE en PyPI.

› Riesgo: Alto potencial de Slopsquatting (Ejecución de código arbitrario).

[ALERTA] TEST-001: Test Theater Detected

› Archivo: tests/test_auth.py:22

› Función: 'test_verify_token' pasa pero no contiene asserts válidos.

==================================================

✗ Scan fallido: 2 problemas encontrados en 1.2s

El Gap que Semgrep no cubre

Las herramientas tradicionales buscan CVEs en código humano. Los agentes de IA introducen un nuevo vector de ataque de 0-days que los scanners actuales ignoran.

20%

Dependencias Falsas

De los paquetes recomendados por LLMs no existen en ningún registry. Son alucinaciones esperando ser secuestradas por un atacante.

45%

Código Vulnerable

Del código generado por IA contiene fallos de seguridad como over-permission, CORS desactivado o asserts vacíos en tests.

100%

Riesgo de Slopsquatting

Los nombres alucinados son repetibles. Atacantes registran esos paquetes en npm o PyPI para inyectar malware directo a tu máquina local.

Capacidades del Linter

CAT-01

Dependency Hallucination

Verifica la existencia real de dependencias. Bloquea el vector de ataque Slopsquatting verificando repositorios de npm, PyPI y crates.io en tiempo real.

  • Detecta paquetes que no existen
  • Alerta sobre paquetes < 30 días de vida
  • Previene typosquatting avanzado
CAT-06

Detección de "Test Theater"

Los LLMs a menudo generan tests que elevan el coverage pero no prueban nada. Vigil lee la semántica del test.

  • Identifica funciones de test sin asserts
  • Detecta mocks que replican la implementación
  • Alerta sobre aserciones inútiles (ej. is_not_None)
CAT-02

Over-Permission & Auth Gaps

Las IAs priorizan que el código "funcione" sobre que sea seguro, abriendo endpoints y desactivando CORS para evitar errores.

  • Endpoints sensibles sin middleware Auth
  • CORS configurado de forma permisiva (*)
  • Archivos con permisos 777
CAT-03

Secrets & Placeholders

Evita que secretos harcodeados o valores de ejemplo (copiados de .env.example) lleguen a tu entorno de producción.

  • Valores como "sk-your-key-here" o "TODO"
  • JWT Secrets débiles o por defecto
  • Credenciales estáticas con baja entropía

Integración sin fricción

Vigil es una CLI pura. Se integra en tu pipeline existente en minutos y genera reportes en formatos estándar.

Pre-commit Hook
repos:
  - repo: https://github.com/Diego303/vigil-cli
    rev: v1.0.0
    hooks:
      - id: vigil
        args: [scan, --changed-only]
CI/CD (SARIF Export)
- name: Scan AI Code
  run: vigil scan src/ \
       --format sarif \
       --output report.sarif
- uses: github/codeql-action/upload-sarif
  with:
    sarif_file: report.sarif
# En tu .architect.yaml
guardrails:
  quality_gates:
    - name: vigil
      command: "vigil scan src/"
      required: true

Vector de Ataque: Slopsquatting

Los LLMs alucinan nombres de paquetes que no existen. Un atacante registra ese nombre con malware. Vigil lo intercepta antes de que llegue a tu máquina.

1
Alucinación
IA Genera Código
import fastapi-auth-utils
2
El Ataque
Atacante Registra

El atacante sube malware a PyPI con ese nombre falso repetible.

Intercepción
Vigil Scan
[DEP-001] CRITICAL Paquete no existe o es demasiado nuevo. > ACCIÓN: Bloqueo.
3
Evitado
Instalación Local

El developer o CI/CD evita ejecutar pip install malicioso.

Asegura tu código hoy

Instala ruff para estilo. Instala Semgrep para CVEs.
Instala Vigil para alucinaciones de IA.

$ pip install vigil-ai-cli
Leer Documentación