AS

aajj68/supply-chain-sentinel

Developer tools
5 stars Quality 58 Trend 13MIT

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á:

  1. Carregar o skill automaticamente
  2. Executar o scanner.py no projeto
  3. Complementar com análise manual dos achados críticos
  4. 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, use pip-audit ou safety
  • 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-fonte
  • PROMPT_INJECTION_TEXT_PATTERNS — markers de injeção em arquivos de texto
  • PYPI_POPULAR / NPM_POPULAR — alvos de typosquatting conhecidos
  • INTERNAL_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

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add aajj68/supply-chain-sentinel
New to MCP? Start with the mcpskill.org guide →