Skill portátil de segurança para Claude Code, Roo Code, Antigravity e ambientes compatíveis. Detecta ataques de supply chain, dependências maliciosas, prompt injection, código ofuscado e muito mais.
Overview
Skill portátil de segurança para Claude Code, Roo Code, Antigravity e ambientes compatíveis. Detecta ataques de supply chain, dependências maliciosas, prompt injection, código ofuscado e muito mais. - 🐍 Python (requirements.txt, pyproject.toml, Pipfile, setup.py) - 📦 Node.js / npm / yarn / pnpm (package.json, lockfiles, scripts) - 🦫 Go (go.mod) - 🦀 Rust (Cargo.toml) - 💎 Ruby (Gemfile) - 🐳 Docker / docker-compose - ⚙️ GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI, Azure Pipelines O arquivo SKILL.md é carregado automaticamente pelo agente quando detecta uma tarefa de auditoria de segurança. O scanner não tem dependências externas — usa apenas stdlib Python 3.8+. 1. Carregar o skill automaticamente 2. Executar o scanner.py no projeto 3. Complementar com análise manual dos achados críticos 4.
README
🛡️ Supply Chain Sentinel
Skill portátil de segurança para Claude Code, Roo Code, Antigravity e ambientes compatíveis.
Detecta ataques de supply chain, dependências maliciosas, prompt injection, código ofuscado e muito mais.
O que ele detecta
| Categoria | Exemplos |
|---|---|
| Supply chain | Typosquatting no PyPI/npm, dependency confusion, URL installs, lifecycle scripts maliciosos |
| Código malicioso | eval(base64...), reverse shells, exfiltração de dados, coleta de credenciais |
| Ofuscação | Blobs base64, strings via chr(), shellcode hex, Trojan Source (CVE-2021-42574) |
| Prompt injection | ignore previous instructions, role overrides, templates de LLM injetados |
| CI/CD | GitHub Actions sem SHA fixo, script injection via github.event, secrets em logs |
| Docker | curl | bash, :latest em imagens base, secrets como ENV |
| Integridade | Lockfiles ausentes (Pipfile.lock, package-lock.json), go.mod replace |
Ecossistemas suportados
- 🐍 Python (
requirements.txt,pyproject.toml,Pipfile,setup.py) - 📦 Node.js / npm / yarn / pnpm (
package.json, lockfiles, scripts) - 🦫 Go (
go.mod) - 🦀 Rust (
Cargo.toml) - 💎 Ruby (
Gemfile) - 🐳 Docker / docker-compose
- ⚙️ GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI, Azure Pipelines
Instalação
Opção 1 — Como skill de Claude Code / Roo Code / Antigravity
# Clone ou copie a pasta supply-chain-sentinel para o diretório de skills do seu agente
# Claude Code (padrão):
cp -r supply-chain-sentinel ~/.claude/skills/
# Roo Code:
cp -r supply-chain-sentinel ~/.roo/skills/
# Ou use o arquivo .skill empacotado (se disponível):
claude skill install supply-chain-sentinel.skill
O arquivo SKILL.md é carregado automaticamente pelo agente quando detecta uma tarefa de auditoria de segurança.
Opção 2 — Uso direto do scanner (sem agente)
O scanner não tem dependências externas — usa apenas stdlib Python 3.8+.
# Copie o script
cp supply-chain-sentinel/scripts/scanner.py /usr/local/bin/sentinel
chmod +x /usr/local/bin/sentinel
# Execute
python3 sentinel --path /caminho/do/projeto --output report.json
Opção 3 — Usar de qualquer lugar via /tmp
# Cole o script em /tmp e execute imediatamente
python3 /tmp/sentinel_scanner.py --path . --output /tmp/report.json
Uso
Com Claude Code (recomendado)
Simplesmente diga ao Claude:
Faça uma auditoria de segurança do meu projeto em /home/user/meu-projeto
Scaneie as dependências do projeto por ataques de supply chain
Verifique se tem prompt injection ou código malicioso em ./agents/
O Claude irá:
- Carregar o skill automaticamente
- Executar o
scanner.pyno projeto - Complementar com análise manual dos achados críticos
- Gerar um relatório Markdown detalhado com severidade, evidências e recomendações
Linha de comando (standalone)
# Scan básico — output no terminal
python3 scanner.py --path /meu/projeto
# Com relatório JSON
python3 scanner.py --path /meu/projeto --output relatorio.json
# Silencioso (apenas JSON, sem console)
python3 scanner.py --path . --output /tmp/report.json --quiet
# Ajuda
python3 scanner.py --help
Saída
Console (stderr)
============================================================
Supply Chain Sentinel — meu-projeto
============================================================
Overall: 🟠 HIGH
Total: 12 findings
🟠 HIGH: 5
🟡 MEDIUM: 6
🟢 LOW: 1
============================================================
[Sentinel] JSON report → /tmp/sentinel_report.json
JSON (report.json)
{
"tool": "supply-chain-sentinel",
"version": "1.0.0",
"timestamp": "2025-08-01T14:32:00Z",
"project": "/home/user/meu-projeto",
"summary": {
"overall_severity": "HIGH",
"total_findings": 12,
"by_severity": { "HIGH": 5, "MEDIUM": 6, "LOW": 1 },
"by_category": { "supply-chain": 7, "prompt-injection": 3, "obfuscation": 2 }
},
"findings": [
{
"severity": "HIGH",
"category": "supply-chain",
"title": "Typosquatting PyPI: 'requets'",
"description": "Nome muito similar a pacote popular — similar: 'requests' (dist=1)",
"file": "requirements.txt",
"line": 3,
"evidence": "requets"
}
]
}
Relatório Markdown (gerado pelo Claude)
# 🛡️ Security Audit Report — Supply Chain Sentinel
**Projeto:** meu-projeto
**Severidade Geral:** 🟠 ALTA
## 🔴 Críticos (0)
...
## 🟠 Altos (5)
#### [HIGH] Typosquatting PyPI: 'requets'
- **Arquivo:** `requirements.txt:3`
- **Evidência:** `requets`
- **Impacto:** Pacote malicioso pode ser instalado no lugar de 'requests'
- **Remediação:** Corrija para `requests>=2.31.0` e verifique `pip show requests`
Categorias de Severidade
| Ícone | Nível | Ação recomendada |
|---|---|---|
| 🔴 | CRITICAL | Investigue imediatamente — provável comprometimento ativo |
| 🟠 | HIGH | Corrija antes do próximo deploy |
| 🟡 | MEDIUM | Planeje correção no próximo sprint |
| 🟢 | LOW / INFO | Boa prática; corrija quando conveniente |
Limitações
- Não substitui análise humana de achados CRITICAL — falsos positivos existem
- Não verifica hashes de pacotes contra bases de dados de malware (SonarType OSS Index, OSV, etc.)
- Para análise mais profunda de npm, integre com
npm audit; para Python, usepip-auditousafety - Não analisa arquivos binários compilados
- Cobertura de typosquatting baseada em lista curada — novos pacotes maliciosos podem não estar listados
Integração com outras ferramentas
# Após o Sentinel, complemente com:
# Python
pip-audit # CVEs em dependências
safety check # Base de dados de vulnerabilidades
# Node.js
npm audit # Vulnerabilidades conhecidas
npx better-npm-audit # Melhor formatação
# Multi-ecossistema
trivy fs . # Scanner de vulnerabilidades completo
grype dir:. # Análise de SBOMs
semgrep --config auto . # Análise estática de código
Estrutura do Skill
supply-chain-sentinel/
├── SKILL.md # Instruções para o agente (Claude Code / Roo / Antigravity)
├── README.md # Este arquivo
└── scripts/
└── scanner.py # Scanner autônomo — zero dependências externas
Contribuindo / Atualizando
Para adicionar novos padrões de detecção, edite as listas no scanner.py:
SUSPICIOUS_CODE_PATTERNS— padrões regex em código-fontePROMPT_INJECTION_TEXT_PATTERNS— markers de injeção em arquivos de textoPYPI_POPULAR/NPM_POPULAR— alvos de typosquatting conhecidosINTERNAL_NAME_PATTERNS— heurísticas de dependency confusion
Licença
MIT — use, modifique e distribua livremente.
Supply Chain Sentinel — parte do ecossistema de skills para Claude Code
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add aajj68/supply-chain-sentinel