Retour aux mises à jour
New releaseAug 31, 2026

ship-safe v9.7.5

L'agent de sécurité indépendant pour les logiciels écrits par IA. Il détecte les problèmes, vérifie s'ils sont réels et vous montre les preuves. Cœur déterministe, aucune clé API requise, sortie JSON et SARIF.

Partager

Ship Safe Logo

L'agent de sécurité indépendant pour les logiciels écrits par IA. Il détecte les problèmes, vérifie s'ils sont réels et vous montre les preuves.

Site web · Documentation · Sécurité et flux de données · Benchmark · Tarifs · Blog · Contribuer

npm version npm downloads CI License: MIT GitHub stars Sponsor

Ship Safe CLI

Ship Safe s'exécute localement dans votre dépôt et fonctionne en deux couches.

Un moteur déterministe détecte les problèmes dans le code applicatif, les agents IA, les configurations MCP, les prompts, les dépendances, les pipelines CI/CD, les secrets et les configurations proches du cloud. Rapide, reproductible et benchmarké — c'est la couche de capteurs.

Une couche d'investigation décide ensuite de la valeur des résultats. Elle trace la valeur qui atteint un sink, recherche dans le projet les contrôles qu'une règle déclare manquants, construit des chaînes d'attaque à travers une configuration qu'aucun fichier ne contient à lui seul et — lorsque vous le lui demandez — teste une clé divulguée auprès de son fournisseur. Chaque conclusion porte la passe qui l'a atteinte et les lignes qu'elle a lues :

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.)

Sortie réelle de ship-safe investigate contre OWASP NodeGoat. La valeur contaminée est déstructurée dans un fichier de route et transmise à un DAO situé trois répertoires plus loin.

Commencez par une seule commande :

npx ship-safe

Pas d'inscription. Aucune clé API requise pour l'analyse. Fonctionne hors ligne pour les vérifications essentielles. Les modes red-team assistés par IA utilisent votre fournisseur configuré lorsqu'il est disponible.

Utilisez --no-ai pour garantir une analyse entièrement locale. La classification via fournisseur, l'analyse approfondie et GPT-Red envoient un contexte limité directement à votre fournisseur sélectionné après un masquage des identifiants au mieux. Consultez Security & Data Flow pour connaître les limites exactes et les limites de contexte.

Ship Safe REPL demo


Démarrage rapide

# 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

Pour les pull requests, comparez un scan de base de confiance avec le scan de la tête afin que la dette existante du dépôt reste visible sans bloquer les changements non liés :

# 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

L'artefact de base contient des identités de constatations hachées, des chemins relatifs et des métadonnées de règles. Il ne stocke pas les secrets correspondants bruts. Les résultats de PR classent les constatations comme introduites, résolues, inchangées ou incertaines ; les correspondances ambiguës sont affichées mais ne bloquent pas la pull request.

Ce que Ship Safe détecte

DomaineExemples
Sécurité IA et LLMInjection de prompt, détournement d'agent, agence excessive, empoisonnement de mémoire, empoisonnement RAG, appels d'outils non sécurisés
Configurations MCP et d'agentsPermissions d'outils trop larges, registres empoisonnés, transports non fiables, listes d'autorisation dangereuses
Sécurité applicativeInjection SQL/NoSQL, XSS, SSRF, contournement d'authentification, traversée de chemin, routes API non sécurisées
Secrets et conformitéClés API, jetons, identifiants, PII, secrets divulgués dans l'historique git
Chaîne d'approvisionnementTyposquatting, confusion de dépendances, scripts d'installation risqués, actions IA non épinglées
CI/CDEmpoisonnement de pipeline, GitHub Actions non épinglées, journalisation de secrets, déclencheurs de workflow non sécurisés

Comment ça fonctionne

Catégories