Voltar às atualizações
New releaseAug 31, 2026

ship-safe v9.7.5

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.

Compartilhar

Ship Safe Logo

O agente de segurança independente para software escrito por IA. Ele encontra problemas, investiga se são reais e mostra as evidências.

Website · Docs · Segurança e Fluxo de Dados · Benchmark · Preços · Blog · Contribuir

npm version npm downloads CI License: MIT GitHub stars Sponsor

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 controles que uma regra diz estarem ausentes, constrói cadeias de ataque através de 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.)

Saída real de ship-safe investigate contra o OWASP NodeGoat. O valor contaminado é desestruturado num ficheiro de rota e passado para um DAO a três diretórios de distância.

Comece com um único comando:

npx ship-safe

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

Use --no-ai para garantir uma varredura totalmente local. Classificação com suporte de provedor, análise profunda e GPT-Red enviam contexto limitado diretamente ao provedor selecionado após mascaramento de credenciais com melhor esforço. Consulte Security & Data Flow para limites exatos e limites de contexto.

Ship Safe REPL demo


Quick Start

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

# Full audit: secrets + 30 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, verify the path closed
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 base confiável com o scan head para que a dívida existente do repositório permaneça visível sem bloquear alterações não relacionadas:

# 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 correspondentes brutos. 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.

O que o Ship Safe Encontra

ÁreaExemplos
Segurança de IA e LLMInjeçã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 agentesPermissões de ferramentas excessivamente amplas, registros envenenados, transportes não confiáveis, listas de permissões perigosas
Segurança de aplicaçõesInjeção SQL/NoSQL, XSS, SSRF, bypass de autenticação, path traversal, rotas de API inseguras
Segredos e conformidadeChaves de API, tokens, credenciais, PII, segredos vazados no histórico do git
Cadeia de suprimentosTyposquatting, confusão de dependências, scripts de instalação arriscados, ações de IA sem fixação de versão
CI/CDEnvenenamento de pipeline, GitHub Actions sem fixação de versão, registro de segredos, gatilhos de workflow inseguros

Como Funciona

Categorias