
CLI d'analyse statique qui scanne le code généré par IA à la recherche de vulnérabilités telles que l'injection SQL, la réflexion non sécurisée et les secrets codés en dur, avec export SARIF et contrôle CI/CD.
Un outil d'analyse statique autonome et rapide pour détecter les risques de sécurité dans le code généré par IA. CanoP s'exécute localement et produit des résultats exploitables accompagnés de conseils de remédiation.
fixes.json pour une remédiation assistée par LLM.pip install canop
Sur macOS et Linux, utilisez pipx si l'installation globale via pip est restreinte :
pipx install canop
Vérifiez l'installation :
canop --version
Initialisez .canop.yml et .canopignore :
canop init
Analysez le répertoire courant, ou uniquement les fichiers modifiés dans Git :
canop scan .
canop scan . --changed
Les résultats sont limités à 50 par défaut. Utilisez --all pour supprimer la limite ou --limit N pour une limite personnalisée :
canop scan . --all
canop scan . --limit 10
Ces options renvoient un code de sortie non nul lorsque le seuil n'est pas atteint :
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 sortie SARIF peut être téléversée sur GitHub pour afficher les résultats en ligne. fixes.json contient des prompts pour une remédiation assistée par LLM.
Ajoutez .canop.yml à la racine du projet pour définir les seuils de politique et les chemins ignorés :
min_grade: B
fail_on:
- CRITICAL
- HIGH
ignore:
- "tests/**"
- "docs/**"
max_findings: 0
.canopignore utilise des motifs de style .gitignore pour exclure des fichiers et des répertoires.
CanoP charge les règles depuis canop/rules/*.yml et analyse localement avec son moteur de motifs intégré. Les règles de secrets inspectent les commentaires pour détecter les identifiants laissés accidentellement dans le code source frontend par les agents de codage IA ; les autres règles ignorent les lignes composées uniquement de commentaires afin de réduire le bruit. S'il est installé, Semgrep ajoute une analyse basée sur l'AST. Il est optionnel et n'est pas installé avec CanoP.
git clone https://github.com/openbreach/CanoP.git canop
cd canop
pip install -e .
python -m unittest discover -s tests -v
Construisez les artefacts de distribution avec :
pip install -r requirements-dev.txt
python -m build
Les règles utilisent le format YAML de Semgrep et se trouvent dans canop/rules/*.yml. Consultez CONTRIBUTING.md pour les directives.
Pour les bugs et les demandes de fonctionnalités, ouvrez une issue GitHub ou envoyez un e-mail à [email protected].
Ce projet est sous licence MIT License.