Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ship-safe — O agente de segurança independente para software escrito por IA. Encontra problemas, investiga se são reais e mostra-lhe as evidências. Núcleo determinístico, sem necessidade de chave de API, saída em JSON e SARIF. | Kitploit
Ferramentas/GitHubGitHub/asamassekou10/ship-safe
Segurança de Infraestrutura em NuvemAnálise EstáticaSegurança de ContêineresTestes de Segurança de APIsAuditoria de ConfiguraçãoDevSecOpsSegurança MóvelDetecção de SegredosSegurança da Cadeia de SuprimentosRed TeamingSegurança de IA
7859786há 16 diasRevisado pelo Kitploit
GitHubasamassekou10/ship-safe

ship-safe

O agente de segurança independente para software escrito por IA. Encontra problemas, investiga se são reais e mostra-lhe as evidências. Núcleo determinístico, sem necessidade de chave de API, saída em JSON e SARIF.

Ver RepositórioSite

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/49363/b1f8834990a38d393bed6703c926c2f633c9d6afc19261eb02c67e9d45b7f350.png" alt="Ship Safe Logo" width="180" />
</p>
<p align="center"><strong>O agente de segurança independente para software escrito por IA. Ele encontra problemas, investiga se são reais e mostra as evidências.</strong></p>
<p align="center"><a href="https://shipsafe.sh">Site</a> · <a href="https://shipsafe.sh/docs">Documentação</a> · <a href="https://shipsafe.sh/security">Segurança e Fluxo de Dados</a> · <a href="https://shipsafe.sh/benchmarks">Benchmark</a> · <a href="https://shipsafe.sh/pricing">Preços</a> · <a href="https://shipsafe.sh/blog">Blog</a> · <a href="https://github.com/asamassekou10/ship-safe/contribute">Contribuir</a></p>

<p align="center">
  <a href="https://www.npmjs.com/package/ship-safe"><img src="https://badge.fury.io/js/ship-safe.svg" alt="npm version" /></a>
  <a href="https://www.npmjs.com/package/ship-safe"><img src="https://img.shields.io/npm/dm/ship-safe.svg" alt="npm downloads" /></a>
  <a href="https://github.com/asamassekou10/ship-safe/actions/workflows/ci.yml"><img src="https://github.com/asamassekou10/ship-safe/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a>
  <a href="https://github.com/asamassekou10/ship-safe/stargazers"><img src="https://img.shields.io/github/stars/asamassekou10/ship-safe?style=social" alt="GitHub stars" /></a>
  <a href="https://github.com/sponsors/asamassekou10"><img src="https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa?logo=github" alt="Sponsor" /></a>
</p>

## Ship Safe CLI

O Ship Safe é executado localmente no seu repositório e funciona em duas camadas.

Um **motor determinístico** encontra problemas em código de aplicação, agentes de IA, configurações de MCP, prompts, dependências, CI/CD, segredos e configurações adjacentes à nuvem. Rápido, repetível e com benchmark — esta é a camada de sensores.

Uma **camada de investigação** então decide o valor dos achados. Ela rastreia o valor que chega a um sink, procura no projeto os controles que uma regra diz estarem ausentes, constrói cadeias de ataque entre configurações que nenhum arquivo isolado contém e — quando você solicita — testa uma chave vazada contra seu provedor. Toda conclusão carrega a passagem que a alcançou e as linhas que leu:

```
CONFIRMED — traced end to end (10)

    NoSQL Injection via $where [high]
    app/data/allocations-dao.js:78  NOSQL_INJECTION_WHERE
    why: threshold is assigned from the HTTP request and reaches the sink without validation on that path.
    decided by: dataflow
      1. value reaches NOSQL_INJECTION_WHERE here  app/data/allocations-dao.js:78
      2. getByUserIdAndThreshold is called here with threshold  app/routes/allocations.js:23
      3. threshold is assigned here  app/routes/allocations.js:20
    fix: Replace $where with standard MongoDB operators ($eq, $gt, $regex, etc.)
```

<sub>Saída real de <code>ship-safe investigate</code> contra o OWASP NodeGoat. O valor contaminado é desestruturado em um arquivo de rota e passado para um DAO a três diretórios de distância.</sub>

Comece com um comando:

```bash
npx ship-safe
```

Sem cadastro. Nenhuma chave de API necessária para escanear. Funciona offline para verificações principais. Os modos de red-team com suporte de IA usam o provedor configurado quando disponível.

Use `--no-ai` para garantir uma varredura totalmente local. A classificação com suporte do provedor, a análise profunda e o GPT-Red enviam contexto limitado diretamente ao provedor selecionado após mascaramento de credenciais em melhor esforço. Consulte [Security & Data Flow](https://shipsafe.sh/security) para os limites exatos e limites de contexto.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/49363/75988a5baca705edcd06c5d39049d35be36f660fad2362de6700cf40eb72d2dd.gif" alt="Demonstração do REPL do Ship Safe" width="800" />
</p>

---

## Início Rápido

Requer Node.js 22.13+ na linha 22.x, ou Node.js 24+. Node 18 e 20
não são mais suportados pela versão de desenvolvimento atual.

```bash
# Interactive REPL: scan, fix, and ask questions in one session
npx ship-safe

# Full audit: secrets + 31 agents + deps + remediation plan
npx ship-safe audit .

# Investigate: confirmed / likely / unresolved / refuted, with the evidence
npx ship-safe investigate .
npx ship-safe investigate . --all       # also detail unresolved and refuted
npx ship-safe investigate . --verify    # probe leaked keys against their providers

# Before you open an unfamiliar folder with an agent: what runs on open?
npx ship-safe trust ~/Downloads/take-home
npx ship-safe trust . --json

# What can an AI agent working in this repo actually reach?
npx ship-safe capabilities .

# AI agent red-team scenarios for agent-readable content
npx ship-safe red-team . --gpt-red

# Interactive fix agent: plan, diff, approve, inspect the static rescan
npx ship-safe agent .
npx ship-safe agent . --severity critical   # critical findings only
npx ship-safe agent . --branch --pr         # fix on a branch + open a PR

# Undo the last fix
npx ship-safe undo

# CI/CD mode — fails on any critical finding
npx ship-safe ci . --sarif results.sarif
npx ship-safe ci . --fail-on high              # stricter: critical or high

# Gate on evidence instead of severity: block only what was established
npx ship-safe ci . --fail-on-verdict confirmed
npx ship-safe ci . --ignore-refuted            # do not block on what was argued away
```

Para pull requests, compare um scan de base confiável com o scan do head para que a dívida existente do repositório permaneça visível sem bloquear alterações não relacionadas:

```bash
# On the trusted base revision
npx ship-safe ci . --fail-on none --no-deps \
  --write-baseline-report /tmp/ship-safe-base.json

# On the pull request head
npx ship-safe ci . --base-report /tmp/ship-safe-base.json --fail-on high
```

O artefato base contém identidades de achados com hash, caminhos relativos e metadados de regras. Ele não armazena segredos brutos correspondidos. Os resultados de PR classificam os achados como introduzidos, resolvidos, inalterados ou incertos; correspondências ambíguas são exibidas, mas não bloqueiam o pull request.

### Contrato de relatório legível por máquina

`scan --json`, `audit --json` e `ci --json` incluem `schemaVersion: 1`, a versão do Ship Safe e um timestamp UTC `generatedAt`. Os caminhos dos achados são relativos ao projeto por padrão, para que os relatórios possam transitar entre estações de trabalho e CI sem vazar nomes de diretórios locais. Use `--absolute-paths` apenas quando um consumidor precisar explicitamente de caminhos do host. Os relatórios SARIF carregam a mesma versão do pacote em seus metadados de ferramenta.

## O que o Ship Safe encontra

| Área | Exemplos |
|------|----------|
| Segurança de IA e LLM | Injeção de prompt, sequestro de agente, agência excessiva, envenenamento de memória, envenenamento de RAG, chamadas de ferramentas inseguras |
| Configurações de MCP e agentes | Permissões de ferramentas excessivamente amplas, registros envenenados, transportes não confiáveis, allowlists perigosas |
| Segurança de aplicações | Injeção SQL/NoSQL, XSS, SSRF, bypass de autenticação, path traversal, rotas de API inseguras |
| Segredos e conformidade | Chaves de API, tokens, credenciais, PII, segredos vazados no histórico do git |
| Cadeia de suprimentos | Typosquatting, confusão de dependências, scripts de instalação arriscados, ações de IA sem fixação de versão |
| CI/CD | Envenenamento de pipeline, GitHub Actions sem fixação de versão, registro de segredos em logs, gatilhos de workflow inseguros |

## Como funciona

1. **Escaneie localmente** - O Ship Safe inspeciona seu repositório com agentes direcionados e pula verificações que não se aplicam.
2. **Investigue cada achado** - Passes separados decidem se ele é real, ordenados de modo que um mais barato nunca sobreponha um mais caro: um caminho de dados rastreado tem precedência sobre a leitura de um modelo do mesmo arquivo, e uma sondagem que se autenticou tem precedência sobre ambos.
3. **Leia as evidências** - Os achados são resolvidos como confirmados, prováveis, não resolvidos ou refutados, cada um citando as linhas a partir das quais foi concluído, para que você possa discordar de uma etapa em vez de um rótulo de severidade.
4. **Corrija com controle** - O agente propõe um plano e um diff, pergunta antes de escrever, relata evidências de reescaneamento estático e mantém as alterações reversíveis. O desaparecimento do detector não é um reteste independente; consulte [resultados de correção](https://github.com/asamassekou10/ship-safe/blob/main/docs/fix-verification.md).
5. **Faça o gate no CI** - Use `ship-safe ci` para falhar builds arriscados e enviar SARIF para o GitHub code scanning.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/49363/31125a0161ee16c772304e3097cdea464c8988cdc8e818ebf8356506fa1f1314.gif" alt="Demonstração do agente Ship Safe" width="800" />
</p>

---

## "Por que não simplesmente pedir ao meu agente de codificação para revisar o repositório?"

Você pode, e deveria. Ele encontrará coisas reais. Mas há três perguntas que ele estruturalmente não consegue responder sobre o próprio trabalho.

**O agente que escreveu este código acabou de corrigir a própria prova?** Perguntar ao autor se o autor cometeu um erro não é uma revisão. O Ship Safe é um revisor separado com um método separado, e ele discorda de si mesmo em público — um rastreamento de fluxo de dados sobrepõe o passe heurístico, e uma sondagem ao vivo sobrepõe ambos.

**Ele consegue ver o que consegue alcançar?** Um agente de codificação revisando seu repositório não consegue ler a configuração do seu servidor MCP, não consegue enumerar as permissões com as quais foi iniciado, e é o ator cujo alcance está em questão. `ship-safe capabilities` lê tudo isso de fora e relata as combinações que são perigosas juntas, embora inexpressivas separadamente:

```
  CRITICAL  Repository-controlled instructions reach an unattended write capability
    1. CLAUDE.md is read as instructions and can be changed by anyone who lands a commit
       CLAUDE.md:1
    2. Claude Code runs without per-action approval
       .claude/settings.json:2
    3. shell execute granted: Bash(git push:*)
       .claude/settings.json:3
    4. filesystem write granted: Write
       .claude/settings.json:3
    5. mcp-tool write granted: mcp__github__create_pull_request
       .claude/settings.json:3
    Impact: Text committed to this repository can direct the agent to write files
            or run commands with no human in the loop.
    Boundary: Require approval for write and execute tools during sessions on
              untrusted branches, or remove the pre-granted entries.
```

Cada uma dessas linhas é inofensiva isoladamente. Juntas, formam um caminho de um pull request até uma escrita privilegiada, e nenhuma revisão de arquivo único consegue enxergar isso, porque nenhum arquivo único o contém.

**Isso é consistente, e você consegue provar que melhorou?** Pergunte duas vezes, obtenha duas respostas. O motor do Ship Safe é determinístico, e suas conclusões são validadas em CI por um benchmark que avalia a *qualidade das conclusões*, não a cobertura de padrões: quantos achados conhecidos como reais ele resolve, quanto ruído conhecido ele refuta, e se ele alguma vez refuta algo real. O orçamento desse último número é zero — é a única classe de erro que perde uma vulnerabilidade silenciosamente. Veja [benchmarks/](https://github.com/asamassekou10/ship-safe/blob/main/benchmarks).

## Por que os desenvolvedores o utilizam

- **Feito para aplicações nativas de IA**: detecta riscos em agentes, servidores MCP, prompts, fluxos RAG, configurações de agentes gerenciados e CI potencializado por IA.
- **Funciona com clientes de IA**: exponha o Ship Safe ao Codex, Claude Desktop, Cursor, Windsurf e outros clientes MCP por meio do servidor stdio local.
- **Feedback local rápido**: execute-o antes de um PR, durante a revisão ou dentro do CI sem enviar código para um scanner hospedado.
- **Correções revisáveis**: cada alteração sugerida é exibida como um diff antes de tocar nos seus arquivos.
- **Funciona com a sua stack**: JavaScript, TypeScript, Python, arquivos de configuração, arquivos de infraestrutura, GitHub Actions e muito mais.
- **Núcleo open source**: CLI licenciada sob MIT com documentação, exemplos e um sistema de agentes em crescimento.

## CLI gratuita, fluxos de trabalho pagos para equipes

A CLI open source é a maneira mais rápida de escanear qualquer repositório localmente. Faça upgrade quando precisar de um fluxo de trabalho hospedado em torno do mesmo scanner:

| Necessidade | Use |
|------|-----|
| Escaneamentos locais, auditorias e correções assistidas por agentes | CLI gratuita |
| Histórico de escaneamentos, painel na nuvem e relatórios em PDF | Pro |
| Espaço de trabalho compartilhado, PR Guardian, relatórios de equipe e colaboração | Team |

Compare os planos em [shipsafe.sh/pricing](https://shipsafe.sh/pricing).

O Ship Safe Cloud, o painel hospedado para histórico de escaneamentos, PR Guardian, cobrança e fluxos de trabalho de equipe, é desenvolvido em um repositório privado porque contém código de produto comercial e fluxos de trabalho de infraestrutura hospedada. O repositório público `ship-safe` continua focado na CLI licenciada sob MIT, agentes de segurança, regras, fixtures, integrações de CI e documentação. Veja [Ship Safe Cloud](https://github.com/asamassekou10/ship-safe/blob/main/docs/cloud.md) para os limites do repositório.

---

## Agentes de segurança

Todos os agentes são executados em paralelo. Cada um ignora automaticamente projetos irrelevantes.

| Agente | Categoria | O que Detecta |
|-------|----------|-----------------|
| **InjectionTester** | Vulnerabilidades de Código | Injeção SQL/NoSQL, injeção de comandos, XSS, path traversal, XXE, ReDoS, poluição de protótipo |
| **AuthBypassAgent** | Autenticação | Falhas em JWT (alg:none, segredos fracos), CSRF, configuração incorreta de OAuth, BOLA/IDOR, bypass de TLS |
| **SSRFProber** | SSRF | Entrada do usuário em fetch/axios, endpoints de metadados de nuvem, IPs internos |
| **SupplyChainAudit** | Cadeia de Suprimentos | Typosquatting, versões com wildcard, scripts de instalação suspeitos, confusão de dependências |
| **ConfigAuditor** | Configuração | Docker (usuário root, :latest), Terraform, Kubernetes, CORS, CSP, Firebase, Nginx |
| **SupabaseRLSAgent** | Autenticação | Chave service_role em código cliente, tabelas sem RLS, inserções com chave anon |
| **LLMRedTeam** | IA/LLM | OWASP LLM Top 10: injeção de prompt, agência excessiva, vazamento de prompt de sistema |
| **MCPSecurityAgent** | IA/LLM | Uso indevido de servidor MCP, envenenamento de ferramentas, typosquatting, entradas não validadas |
| **A2ASecurityAgent** | IA/LLM | Envenenamento de agent card A2A, autenticação ausente, endpoints em texto simples, callbacks push inseguros e cards remotos não fixados ([cobertura](https://github.com/asamassekou10/ship-safe/blob/main/docs/a2a-security.md)) |
| **AgenticSecurityAgent** | IA/LLM | OWASP Agentic AI Top 10: sequestro de agente, escalonamento de privilégios, uso indevido de chamadas de ferramentas compatíveis com Kimi K3/OpenAI |
| **RAGSecurityAgent** | IA/LLM | Injeção de contexto, envenenamento de documentos, controle de acesso a banco de dados vetorial |
| **MemoryPoisoningAgent** | IA/LLM | Injeção de instruções em arquivos de memória de agente, payloads Unicode ocultos (ASI-01, ASI-05) |
| **PIIComplianceAgent** | Conformidade | SSNs, cartões de crédito, e-mails, números de telefone no código-fonte |
| **VibeCodingAgent** | Vulnerabilidades de Código | Antipadrões em código gerado por IA: ausência de validação, catches vazios, TODO-auth |
| **ExceptionHandlerAgent** | Vulnerabilidades de Código | Catches vazios, rejeições não tratadas, stack traces vazados (OWASP A10:2025) |
| **AgentConfigScanner** | IA/LLM | Injeção de prompt em .cursorrules, CLAUDE.md, hooks maliciosos do Claude Code |
| **MobileScanner** | Mobile | OWASP Mobile Top 10 2024: armazenamento inseguro, injeção em WebView, modo debug |
| **GitHistoryScanner** | Segredos | Segredos vazados no histórico de commits do git |
| **CICDScanner** | CI/CD | Envenenamento de pipeline, actions não fixadas, registro de segredos (OWASP CI/CD Top 10) |
| **APIFuzzer** | API | Rotas sem autenticação, mass assignment, introspecção GraphQL, endpoints de debug |
| **ManagedAgentScanner** | IA/LLM | Configurações incorretas do Claude Managed Agent: políticas always_allow, rede irrestrita (ASI-03–ASI-07) |
| **HermesSecurityAgent** | IA/LLM | Envenenamento de registro de ferramentas, injeção de chamadas de função, desvio de permissões de skills (ASI-01–ASI-10) |
| **AgentAttestationAgent** | Cadeia de Suprimentos | Versões de agente não fixadas, hashes de integridade ausentes, manifestos não assinados (ASI-10, SLSA L0) |
| **AgenticSupplyChainAgent** | Cadeia de Suprimentos | Actions de CI de IA com privilégios excessivos, escalonamento de escopo OAuth, receptores de webhook de IA não assinados (ASI-02, ASI-06) |
| **RobloxSecurityAgent** | Cadeia de Suprimentos | Assets maliciosos do Roblox/Luau Toolbox (injeção de asset em tempo de execução, loaders `rbxassetid://`, `HttpEnabled`, payloads ocultos em atributos de instância) |
| **ModelScanAgent** | Cadeia de Suprimentos | Payloads de execução de código em pesos de modelos de ML (opcodes pickle em `.pt`/`.pkl`/`.ckpt`), `torch.load` sem `weights_only`, arquivos de evasão de scanner (CWE-502, CWE-506) |
| **TrustBoundaryAgent** | Agêntico | Ataques de symlink GhostApproval (links com nomes de configuração para `~/.ssh`/`~/.aws`/`.env`), symlinks de repositório escapando da árvore e instruções de execução em revisão Friendly Fire em documentos lidos por agentes (CWE-59, CWE-61) |
| **SlopSquatAgent** | Cadeia de Suprimentos | Importações de pacotes alucinadas/fantasma (slopsquatting) — importações bare não declaradas, não instaladas ou não nativas, além de nomes conhecidos por alucinação de IA (CWE-1357) |
| **ClickFixAgent** | Cadeia de Suprimentos | Iscas ClickFix / falso-CAPTCHA de colar e executar (erro falso + teclas Win+R/Ctrl+V/barra de comandos, cradles PowerShell) e scripts de ciclo de vida npm de instaladores falsos (CWE-1357, CWE-506) |
| **InstallGuardAgent** | Cadeia de Suprimentos | Comportamentos de worm npm em scripts de ciclo de vida (coleta de credenciais, exfiltração de env, `rm -rf` destrutivo, `node -e` ofuscado) e ações node-gyp de `binding.gyp` weaponizado (CWE-506, CWE-829) |

**Passes de investigação**, na ordem em que as suas evidências se sobrepõem umas às outras:

| Pass | Classificação | O que estabelece |
|------|------|---------------------|
| **VerifierAgent** | heurística | Verificação de padrões em torno do achado. Nunca afirma mais do que "provável" |
| **DeepAnalyzer** | análise | Leitura de taint por LLM do achado e do seu ficheiro, com a citação validada |
| **DataflowInvestigator** | fluxo de dados | Rastreia o valor até à sua origem, através de uma fronteira de função e para outros ficheiros. JavaScript, TypeScript e Python |
| **AbsenceInvestigator** | presença | Procura no projeto, ou no handler, o controlo que uma regra diz estar em falta |
| **LiteralContextInvestigator** | presença | Decide achados sobre um valor escrito com base no que o rodeia — prosa, uma string de ajuda ou um endereço reservado |
| **CapabilityGraph** | cadeia | Constrói cadeias de ataque a partir de configuração que nenhum ficheiro isolado contém |
| **RedosReproducer** | reprodução | Executa um padrão sinalizado contra input gerado num worker com um prazo limite |
| **SecretsVerifier** | reprodução | Apresenta uma chave exposta ao seu fornecedor. Opt-in: isto divulga a chave |

Uma alegação cujo ficheiro ou linha citados não resolvem é registada mas nunca decide um veredicto. Dois passes de igual classificação que discordem resolvem para não resolvido em vez de para o veredicto mais assustador.

**Também:** ScoringEngine

---

## O REPL

```
$ ship-safe

  ███████╗██╗  ██╗██╗██████╗     ███████╗ █████╗ ███████╗███████╗
  ...

  v9.4.1  ·  DeepSeek  ·  ~/my-project

  /scan to find issues  ·  /agent to fix them  ·  /help for more

shipsafe ›
```

| Comando | O que faz |
|---------|-------------|
| `/scan` | Reanalisa o projeto |
| `/agent` | Executa o ciclo interativo de correção |
| `/findings` | Lista os achados da última análise |
| `/show <n>` | Detalhes completos do achado n |
| `/plan <n>` | Pré-visualiza o plano de correção para o achado n (sem gravações) |
| `/undo [--all]` | Reverte a última correção (ou todas as correções) |
| `/share` | Publica o relatório da análise como URL pública (7 dias) |
| `/diff` | Mostra o diff da árvore de trabalho do git |
| `/provider <name>` | Alterna o provedor de LLM no meio da sessão |
| `/quit` | Sair (também `Ctrl-D` ou `Ctrl-C`) |

Qualquer coisa que não comece com `/` é enviada ao LLM como uma pergunta de formato livre, com os resultados da sua última análise como contexto.

---

## CI/CD

```yaml
# .github/workflows/security.yml
name: Security Audit
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Security gate
        run: npx ship-safe ci . --sarif results.sarif
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: results.sarif
```

Uma versão para GitLab CI está em [docs/examples/gitlab-security-workflow.yml](https://github.com/asamassekou10/ship-safe/blob/main/docs/examples/gitlab-security-workflow.yml).

### GitHub Action com achados de PR inline

Use a Action a partir de um workflow `pull_request` quando quiser que achados críticos e altos sejam anexados às linhas alteradas. Mantenha `pull_request_target` fora deste caminho para contribuições via fork: o Ship Safe recusa essa combinação privilegiada porque o checkout pode conter código não confiável.

```yaml
name: Ship Safe
on:
  pull_request:

permissions:
  contents: read
  pull-requests: write
  security-events: write

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: asamassekou10/[email protected]
        with:
          fail-on: high
          inline: true
```

Comentários inline são opcionais e publicam apenas achados críticos/altos. Reexecutar
o job atualiza o resumo sem criar comentários inline duplicados.

---

## Suporte a LLM

Funciona com qualquer provedor — detectado automaticamente a partir de variáveis de ambiente. Use `--provider <name>` para substituir.

Anthropic · OpenAI · Google · DeepSeek · Kimi K3 / Moonshot · Groq · Together · Mistral · xAI · Perplexity · Ollama · LM Studio · qualquer endpoint compatível com OpenAI

O Kimi usa `kimi-k3` por padrão através de `MOONSHOT_API_KEY` ou `KIMI_API_KEY`. Use `--provider kimi --model kimi-k3` para execuções de GPT-Red de contexto longo e análise profunda.

Para red teaming de contexto longo específico do Kimi K3:

```bash
npx ship-safe red-team . --gpt-red --provider kimi --model kimi-k3 --k3-long-context
```

O Ship Safe também verifica implementações de chamadas de ferramentas compatíveis com Kimi K3 / OpenAI para carregamento dinâmico de ferramentas a partir do contexto do prompt, listas de permissões de ferramentas ausentes, chamadas de ferramentas forçadas em entradas não confiáveis e resultados de ferramentas reproduzidos sem a mensagem original de chamada de ferramenta do assistente.

Nenhuma chave de API é necessária para a verificação principal. A classificação por IA e `red-team --gpt-red` usam o provedor configurado quando disponível, com fallback offline determinístico para as verificações do GPT-Red.

---

## Suprimir Falsos Positivos

```python
password = get_password()  # ship-safe-ignore
```

Achados `critical` são sempre reportados. Um comentário inline não consegue ocultar um deles, e uma tentativa de suprimir um é registrada na varredura. O comentário destina-se a uma pessoa que está descartando um falso positivo, e qualquer coisa que possa escrever uma linha do seu código-fonte — incluindo um agente de IA — também pode escrever o comentário, portanto as severidades mais altas não o respeitam. Toda supressão é contabilizada, de modo que uma varredura que silenciou achados nunca parece uma que não tinha nenhum.

As regras comuns de código não classificam prosa Markdown ou exemplos de código em blocos cercados como código-fonte implantado. Segredos continuam sendo verificados em todos os lugares, e arquivos legíveis por agentes, como `AGENTS.md` e `CLAUDE.md`, mantêm suas verificações dedicadas de injeção de prompt e de limites de confiança. Para revisar exemplos em blocos cercados intencionalmente, use `--include-doc-examples` com `scan`, `audit` ou `ci`.

```gitignore
# .ship-safeignore
tests/fixtures/
docs/
```

### Quão ruidoso é?

Recall é a metade fácil de um scanner. Uma ferramenta que sinaliza tudo captura
tudo e é inútil, então também rastreamos o que o Ship Safe reporta em projetos
maduros sem vulnerabilidades ativas conhecidas. Estes são achados brutos, não
defeitos confirmados.

| projeto | achados brutos | críticos | pontuação | nota |
|---|---:|---:|---:|:---:|
| [express](https://github.com/expressjs/express) | 10 | 0 | 88.2 | B |
| [requests](https://github.com/psf/requests) | 7 | 0 | 95.5 | A |
| [flask](https://github.com/pallets/flask) | 17 | 0 | 81.4 | B |
| [chalk](https://github.com/chalk/chalk) | 4 | 0 | 89.4 | B |

Os quatro originais somam 38 achados brutos, abaixo dos 1.031 antes da v9.6.3. O
corpus limpo atual de cinco projetos também inclui o Hermes Agent, que reporta 662
achados, incluindo 66 críticos. Nenhuma das contagens é uma taxa de falsos positivos ou uma
alegação de precisão; os rótulos de investigação automatizada e a carga de trabalho restante
estão documentados no benchmark. As verificações de piso de detecção no NodeGoat e no DVWA
ainda passam.

Corpus fixado por commit, reproduzível com um comando, limites documentados:
**[benchmarks/false-positives/](https://github.com/asamassekou10/ship-safe/blob/main/benchmarks/false-positives)**

### Como se compara ao Semgrep, Gitleaks, Trivy, CodeQL?

Execute o Ship Safe junto deles, não no lugar deles. O CodeQL faz análise de taint
interprocedural que o Ship Safe não tenta, o Gitleaks é o especialista em
segredos, e o Trivy tem um banco de dados de CVE real por trás.

O Ship Safe cobre uma questão mais restrita: o que um agente de codificação de IA
acabou de fazer ao seu repositório, ao seu CI e à configuração das suas ferramentas locais. Configuração de cliente MCP,
envenenamento de memória de agente, importações de pacotes alucinados e AIBOM são as áreas
onde não encontramos regras públicas equivalentes nos outros quatro.

Matriz de cobertura completa, verificada contra seus registros públicos, incluindo onde
eles nos superam: **[docs/comparison.md](https://github.com/asamassekou10/ship-safe/blob/main/docs/comparison.md)**

---

## Adicionar um Badge

```markdown
[![Ship Safe](https://img.shields.io/badge/Ship_Safe-A+-22c55e)](https://shipsafe.sh)
```

## Próximos Passos

**10.1 é uma versão de precisão.** Ela mantém a linha de base verificada do Hermes Agent 10.0 e reforça a atestação para que as próprias citações de avisos do Ship Safe não sejam confundidas com recursos de agente não assinados. As verificações existentes de plugins e adaptadores são parciais; a postura do terminal, ACP/TUI, o ciclo de vida atual do cron e a acessibilidade de credenciais permanecem como trabalho explícito em vez de cobertura implícita. Consulte a
[matriz de cobertura](https://github.com/asamassekou10/ship-safe/blob/main/docs/hermes-coverage-matrix.md).

Consulte o [roadmap](https://github.com/asamassekou10/ship-safe/blob/main/ROADMAP.md) para saber o que está planejado e o que é deliberadamente
não planejado. Contribuições focadas e correções respaldadas por benchmarks são bem-vindas.

## Contribuindo

O Ship Safe é de código aberto, e as melhores contribuições são melhorias pequenas e focadas que tornam o desenvolvimento assistido por IA mais seguro.

Boas áreas para começar:

- Adicionar um agente de segurança focado para um risco de IA, MCP, CI, nuvem ou cadeia de suprimentos
- Adicionar uma regra de segurança precisa a um agente existente
- Adicionar fixtures vulneráveis e testes de regressão
- Escrever exemplos para varreduras locais, gates de CI, fluxos de trabalho de red-team e configuração de MCP/agente

Comece aqui:

- [Boas primeiras issues](https://github.com/asamassekou10/ship-safe/contribute)
- [Guia do contribuidor](https://github.com/asamassekou10/ship-safe/blob/main/CONTRIBUTING.md)
- [Adicionar um agente](https://github.com/asamassekou10/ship-safe/blob/main/docs/adding-an-agent.md)
- [Adicionar uma regra de segurança](https://github.com/asamassekou10/ship-safe/blob/main/docs/adding-a-security-rule.md)
- [Escrever um plugin de agente personalizado](https://github.com/asamassekou10/ship-safe/blob/main/docs/custom-agent-plugins.md)
- [Manipular variáveis de ambiente do MCP com segurança](https://github.com/asamassekou10/ship-safe/blob/main/docs/mcp-env-safety.md)
- [Usar o Ship Safe com o Codex](https://github.com/asamassekou10/ship-safe/blob/main/docs/integrations/codex.md)
- [Usar o Ship Safe com o Claude Code](https://github.com/asamassekou10/ship-safe/blob/main/docs/integrations/claude-code.md)
- [Usar o Ship Safe com o Cursor](https://github.com/asamassekou10/ship-safe/blob/main/docs/integrations/cursor.md)
- [Entender os resultados de correção e os limites da verificação estática](https://github.com/asamassekou10/ship-safe/blob/main/docs/fix-verification.md)
- [Processo de release](https://github.com/asamassekou10/ship-safe/blob/main/docs/releasing.md)

---

## Patrocinadores

O Ship Safe é licenciado sob MIT e gratuito para sempre.

<p align="center">
  <a href="https://github.com/sponsors/asamassekou10">
    <img src="https://img.shields.io/badge/Sponsor%20Ship%20Safe-%E2%9D%A4-ea4aaa?style=for-the-badge&amp;logo=github" alt="Sponsor Ship Safe" />
  </a>
</p>

---

## Histórico de Estrelas

[![Star History Chart](https://star-history.dera.page/svg?repos=asamassekou10/ship-safe&type=Date)](https://star-history.dera.page/#asamassekou10/ship-safe&type=date)

---
**Entregue rápido. Entregue com segurança.** — [shipsafe.sh](https://shipsafe.sh)
Baixar ferramenta