
CLI de análise estática que escaneia código gerado por IA em busca de vulnerabilidades como injeção de SQL, reflexão insegura e segredos embutidos no código, com exportação SARIF e controle em CI/CD.
Uma ferramenta de análise estática rápida e autônoma para encontrar riscos de segurança em código gerado por IA. O CanoP é executado localmente e produz descobertas acionáveis com orientações de remediação.
fixes.json para remediação assistida por LLM.pip install canop
No macOS e Linux, use o pipx se a instalação global via pip estiver restrita:
pipx install canop
Verifique a instalação:
canop --version
Inicialize .canop.yml e .canopignore:
canop init
Escaneie o diretório atual, ou apenas os arquivos alterados no Git:
canop scan .
canop scan . --changed
As descobertas são limitadas a 50 por padrão. Use --all para não haver limite ou --limit N para um limite personalizado:
canop scan . --all
canop scan . --limit 10
Estas opções retornam um código de saída diferente de zero quando o limite não é atingido:
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
A saída SARIF pode ser enviada ao GitHub para descobertas em linha. O fixes.json contém prompts para remediação assistida por LLM.
Adicione .canop.yml à raiz do projeto para definir limites de política e caminhos ignorados:
min_grade: B
fail_on:
- CRITICAL
- HIGH
ignore:
- "tests/**"
- "docs/**"
max_findings: 0
O .canopignore usa padrões no estilo .gitignore para excluir arquivos e diretórios.
O CanoP carrega regras de canop/rules/*.yml e escaneia localmente com seu mecanismo de padrões integrado. As regras de segredos inspecionam comentários para capturar credenciais deixadas acidentalmente no código-fonte de frontend por agentes de codificação de IA; outras regras ignoram linhas compostas apenas por comentários para reduzir ruído. Se instalado, o Semgrep adiciona análise baseada em AST. Ele é opcional e não é instalado com o CanoP.
git clone https://github.com/openbreach/CanoP.git canop
cd canop
pip install -e .
python -m unittest discover -s tests -v
Crie os artefatos de distribuição com:
pip install -r requirements-dev.txt
python -m build
As regras usam o formato YAML do Semgrep e ficam em canop/rules/*.yml. Consulte o CONTRIBUTING.md para diretrizes.
Para bugs e solicitações de recursos, abra uma issue no GitHub ou envie um e-mail para [email protected].
Este projeto está licenciado sob a Licença MIT.