← Volver a Docs

Compliance y uso empresarial

Este documento describe como vigil se alinea con frameworks de compliance y como integrarlo en entornos empresariales que usan agentes de IA para generar codigo.


Por que vigil en un entorno empresarial

Las organizaciones que adoptan agentes de IA (Copilot, Cursor, Claude Code, ChatGPT) para generar codigo enfrentan riesgos nuevos que las herramientas SAST tradicionales no cubren:

  1. Supply chain via alucinaciones: Los agentes inventan nombres de paquetes. Un atacante puede registrar ese nombre con malware.
  2. Secrets de ejemplo en produccion: Los agentes copian valores de documentacion ("your-api-key-here") que terminan en produccion.
  3. Auth sin controles: Los agentes generan endpoints funcionales pero sin middleware de autenticacion.
  4. Tests cosmeticos: Los agentes generan tests que pasan pero no verifican nada real.

vigil detecta estos 4 patrones de forma determinista, auditable y sin dependencia de APIs externas de IA.


Alineacion con frameworks de compliance

OWASP Top 10 for LLM Applications (2025)

vigil se alinea directamente con 3 categorias del OWASP Top 10 for LLM Applications:

OWASP CategoryReglas vigilCobertura
LLM02 — Sensitive Information DisclosureSEC-001, SEC-002, SEC-003, SEC-004, SEC-006, AUTH-004Detecta secrets hardcodeados, placeholders, connection strings con credenciales
LLM03 — Supply Chain VulnerabilitiesDEP-001, DEP-002, DEP-003, DEP-005, DEP-007Detecta dependencias alucinadas, typosquatting, paquetes nuevos sospechosos
LLM06 — Excessive AgencyAUTH-001, AUTH-002, AUTH-005, AUTH-006Detecta endpoints sin auth, CORS permisivo, cookies inseguras

EU Cyber Resilience Act (CRA)

El CRA exige que los productos con componentes digitales sean seguros “by design”. vigil contribuye a:

Requisito CRAComo contribuye vigil
Gestion de vulnerabilidades en componentes de tercerosDEP-001 a DEP-007 verifican que las dependencias existen, son legitimas y no son typosquatting
Proteccion de datos almacenados y en transitoSEC-001 a SEC-006 detectan credenciales hardcodeadas que comprometen datos
Control de acceso adecuadoAUTH-001 a AUTH-007 detectan endpoints sin autenticacion y configuraciones permisivas
Testing adecuadoTEST-001 a TEST-006 detectan tests que no verifican nada (desde v0.5.0)

SOC 2 Type II

Trust Service CriteriaReglas vigil relevantes
CC6.1 — Logical access controlsAUTH-001, AUTH-002, AUTH-005, AUTH-006
CC6.6 — External threatsDEP-001, DEP-002, DEP-003 (supply chain)
CC6.7 — Credential managementAUTH-004, SEC-001, SEC-002, SEC-003, SEC-004, SEC-006
CC7.1 — Vulnerability managementTodas las reglas DEP- para supply chain

ISO 27001:2022

ControlReglas vigil relevantes
A.8.25 — Secure development lifecycleIntegrar vigil en CI/CD como quality gate
A.8.26 — Application security requirementsAUTH-001 a AUTH-007 verifican controles de acceso
A.8.28 — Secure codingSEC-001 a SEC-006 detectan secrets en codigo

NIST Cybersecurity Framework (CSF) 2.0

FunctionCategoryReglas vigil
IdentifyAsset ManagementDEP-001 a DEP-007 (inventario de dependencias)
ProtectAccess ControlAUTH-001 a AUTH-007
ProtectData SecuritySEC-001 a SEC-006
DetectContinuous MonitoringIntegrar vigil en CI/CD pipelines

Integracion en pipelines empresariales

Pipeline recomendado

Codigo generado por IA
    |
    v
[1. vigil scan]          <- Detecta patrones especificos de IA
    |
    v
[2. Semgrep/Bandit]      <- SAST generalista
    |
    v
[3. Snyk/Dependabot]     <- CVEs en dependencias
    |
    v
[4. Gitleaks]            <- Secrets reales filtrados
    |
    v
[5. Tests + Coverage]    <- Calidad funcional
    |
    v
Deploy

vigil complementa (no reemplaza) las herramientas existentes. Su valor unico esta en detectar problemas especificos del codigo generado por IA.

Estrategia por entorno

EntornoEstrategia--fail-onNotas
Desarrollo localrelaxedcriticalFeedback rapido sin bloquear
CI/CD (feature branch)standardhighBalance entre velocidad y seguridad
CI/CD (main/release)strictmediumMaximo rigor antes de produccion
Auditoria de seguridadstrictlowReporte completo para analisis

Ejemplo GitHub Actions (produccion)

- name: Security scan (AI-specific)
  run: |
    pip install vigil-ai-cli
    vigil scan src/ \
      --format sarif \
      --output results/vigil.sarif \
      --fail-on medium \
      --config .vigil.strict.yaml

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: results/vigil.sarif

Formato SARIF para plataformas de seguridad

vigil produce reportes en SARIF 2.1.0, compatible con:

  • GitHub Code Scanning (nativo)
  • GitLab Security Dashboard
  • Azure DevOps
  • SonarQube (via importador)
  • Defect Dojo
  • Snyk (via importador SARIF)

Cada finding incluye ruleId, level, location, y opcionalmente fixes con sugerencias de correccion.


Reportes para auditorias

Generar reporte JSON completo

vigil scan src/ --format json --output audit-report.json

El reporte JSON incluye:

  • findings: Lista completa de hallazgos con rule_id, severity, message, location, suggestion
  • findings_count: Total de hallazgos
  • files_scanned: Archivos analizados
  • duration_seconds: Tiempo de ejecucion
  • analyzers_run: Analyzers ejecutados
  • errors: Errores durante el analisis (si hubo)
  • version: Version de vigil usada

Generar reporte SARIF con referencias CWE

vigil scan src/ --format sarif --output audit-report.sarif

El reporte SARIF mapea cada regla a CWEs cuando aplica:

CWENombreReglas vigil
CWE-306Missing Authentication for Critical FunctionAUTH-001
CWE-208Observable Timing DiscrepancyAUTH-007
CWE-614Sensitive Cookie Without ‘Secure’AUTH-006
CWE-798Hard-coded CredentialsAUTH-004, SEC-001, SEC-002, SEC-003
CWE-829Inclusion of Untrusted FunctionalityDEP-001, DEP-003
CWE-862Missing AuthorizationAUTH-002
CWE-942Permissive Cross-domain PolicyAUTH-005

Privacidad y seguridad de vigil

vigil esta disenado para ser seguro en entornos empresariales:

  • Sin telemetria: No envia datos a servidores externos.
  • Determinista: No usa IA, ML, ni APIs externas de inferencia.
  • HTTP limitado: Solo hace GET requests a APIs publicas de PyPI/npm para verificar existencia de paquetes. Se deshabilita con --offline.
  • Cache local: Las respuestas de registries se cachean en ~/.cache/vigil/registry/ (no contienen datos del proyecto).
  • Auditable: Cada regla es un patron definido en codigo. Sin cajas negras.
  • Sin side effects: vigil solo lee archivos. Nunca modifica codigo, envia mensajes, ni crea recursos.

Modo air-gapped

Para entornos sin acceso a internet:

vigil scan src/ --offline

En modo offline, solo se ejecutan checks estaticos (typosquatting por similaridad, auth patterns, secrets). Las reglas que requieren verificar registries (DEP-001, DEP-002, DEP-005, DEP-007) se omiten automaticamente.


FAQ empresarial

vigil reemplaza a Semgrep/Snyk/SonarQube?

No. vigil detecta patrones especificos del codigo generado por IA que otras herramientas no cubren. Es complementario:

ProblemavigilSemgrepSnykGitleaks
Paquete alucinado (no existe)SiNoNoNo
TyposquattingSiNoParcialNo
Placeholder secret ("changeme")SiParcialNoNo
Secret real filtradoNoNoNoSi
CVE conocida en dependenciaNoNoSiNo
SQL injectionNoSiNoNo

Cuanto tarda un scan?

vigil es rapido porque no hace inferencia de IA. Un scan tipico:

  • 100 archivos: < 1 segundo (offline), < 5 segundos (con verificacion de registries)
  • 1000 archivos: < 5 segundos (offline), < 30 segundos (con cache frio)

Se puede usar en monorepos?

Si. vigil soporta multiples paths y el descubrimiento de archivos hace pruning automatico de directorios como node_modules/, .venv/, etc.

vigil scan services/auth/ services/api/ libs/shared/

Como excluir falsos positivos?

Dos opciones:

  1. Deshabilitar la regla para todo el proyecto:
rules:
  AUTH-005:
    enabled: false
  1. Cambiar la severidad para que no bloquee:
rules:
  AUTH-005:
    severity: "low"