
CLI de análisis estático que escanea código generado por IA en busca de vulnerabilidades como inyección SQL, reflexión insegura y secretos hardcodeados, con exportación SARIF y control de acceso en CI/CD.
Una herramienta de análisis estático rápida y autónoma para encontrar riesgos de seguridad en código generado por IA. CanoP se ejecuta localmente y produce hallazgos accionables con orientación para la remediación.
fixes.json para la remediación asistida por LLM.pip install canop
En macOS y Linux, use pipx si la instalación global de pip está restringida:
pipx install canop
Verifique la instalación:
canop --version
Inicialice .canop.yml y .canopignore:
canop init
Escanee el directorio actual, o solo los archivos modificados en Git:
canop scan .
canop scan . --changed
Los hallazgos están limitados a 50 de forma predeterminada. Use --all para no aplicar límite o --limit N para un límite personalizado:
canop scan . --all
canop scan . --limit 10
Estas opciones devuelven un código de salida distinto de cero cuando no se alcanza el umbral:
canop scan . --fail-on HIGH
canop scan . --min-score 85
canop scan . --json-out results.json
canop scan . --sarif results.sarif
canop scan . --prescriptions fixes.json
La salida SARIF se puede cargar en GitHub para obtener hallazgos en línea. fixes.json contiene prompts para la remediación asistida por LLM.
Agregue .canop.yml a la raíz del proyecto para definir umbrales de política y rutas ignoradas:
min_grade: B
fail_on:
- CRITICAL
- HIGH
ignore:
- "tests/**"
- "docs/**"
max_findings: 0
.canopignore usa patrones al estilo de .gitignore para excluir archivos y directorios.
CanoP carga reglas desde canop/rules/*.yml y escanea localmente con su motor de patrones integrado. Las reglas de secretos inspeccionan los comentarios para detectar credenciales dejadas accidentalmente en el código fuente del frontend por agentes de codificación de IA; otras reglas ignoran las líneas que solo contienen comentarios para reducir el ruido. Si está instalado, Semgrep añade análisis basado en AST. Es opcional y no se instala con CanoP.
git clone https://github.com/openbreach/CanoP.git canop
cd canop
pip install -e .
python -m unittest discover -s tests -v
Compile los artefactos de distribución con:
pip install -r requirements-dev.txt
python -m build
Las reglas usan el formato YAML de Semgrep y se encuentran en canop/rules/*.yml. Consulte CONTRIBUTING.md para obtener las directrices.
Para errores y solicitudes de funciones, abra un issue en GitHub o envíe un correo a [email protected].
Este proyecto está licenciado bajo la Licencia MIT.