
ship-safe v9.7.5
Независимый агент безопасности для программного обеспечения, написанного ИИ. Находит проблемы, выясняет, реальны ли они, и показывает вам доказательства. Детерминированное ядро, API-ключ не требуется, вывод в форматах JSON и SARIF.
Независимый агент безопасности для программного обеспечения, написанного ИИ. Он находит проблемы, выясняет, реальны ли они, и показывает вам доказательства.
Сайт · Документация · Безопасность и поток данных · Бенчмарк · Цены · Блог · Участие
Ship Safe CLI
Ship Safe работает локально в вашем репозитории и состоит из двух слоёв.
Детерминированный движок находит проблемы в коде приложения, ИИ-агентах, конфигурациях MCP, промптах, зависимостях, CI/CD, секретах и конфигурации, связанной с облаком. Быстрый, воспроизводимый и проверенный бенчмарками — это сенсорный слой.
Затем слой расследования решает, чего стоят найденные проблемы. Он отслеживает значение, достигающее стока, ищет в проекте средства контроля, которые, согласно правилу, отсутствуют, строит цепочки атак через конфигурацию, которая не содержится ни в одном отдельном файле, и — когда вы его об этом попросите — проверяет утёкший ключ у его провайдера. Каждый вывод несёт в себе проход, который к нему привёл, и прочитанные им строки:
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.)
Реальный вывод ship-safe investigate против OWASP NodeGoat. Загрязнённое значение деструктурируется в файле маршрута и передаётся в DAO через три директории.
Начните с одной команды:
npx ship-safe
Без регистрации. Для сканирования не требуется API-ключ. Основные проверки работают офлайн. Режимы red-team с поддержкой ИИ используют ваш настроенный провайдер, когда он доступен.
Используйте --no-ai, чтобы гарантировать полностью локальное сканирование. Классификация на стороне провайдера, глубокий анализ и GPT-Red отправляют ограниченный контекст напрямую выбранному вами провайдеру после маскирования учётных данных по мере возможности. Точные границы и ограничения контекста см. в разделе Security & Data Flow.
Быстрый старт
# 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
Для pull request'ов сравните доверенное сканирование базовой ветки со сканированием головной ветки, чтобы существующий долг репозитория оставался видимым, не блокируя несвязанные изменения:
# 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
Базовый артефакт содержит хешированные идентификаторы находок, относительные пути и метаданные правил. Он не хранит необработанные найденные секреты. Результаты PR классифицируют находки как внесённые, устранённые, неизменённые или неопределённые; неоднозначные совпадения показываются, но не блокируют pull request.
Что находит Ship Safe
| Область | Примеры |
|---|---|
| Безопасность AI и LLM | Prompt injection, перехват управления агентом, чрезмерные полномочия, отравление памяти, отравление RAG, небезопасные вызовы инструментов |
| Конфигурации MCP и агентов | Слишком широкие разрешения инструментов, отравленные реестры, недоверенные транспорты, опасные списки разрешений |
| Безопасность приложений | SQL/NoSQL-инъекции, XSS, SSRF, обход аутентификации, обход путей, небезопасные маршруты API |
| Секреты и соответствие требованиям | API-ключи, токены, учётные данные, PII, утёкшие секреты в истории git |
| Цепочка поставок | Тайпсквоттинг, подмена зависимостей, рискованные установочные скрипты, не закреплённые версии AI-действий |
| CI/CD | Отравление конвейера, не закреплённые версии GitHub Actions, логирование секретов, небезопасные триггеры рабочих процессов |