AIを使ってコードを書くことはますます便利になっていますが、セキュリティ上の問題もより隠れた形で発生するようになっています。Cursorで生成されたコードにはSQLインジェクションが隠されている可能性があり、MCPの設定が悪意のあるコードで汚染されている可能性があり、CLAUDE.mdには悪意のある命令が埋め込まれている可能性もあります。
Ship Safeはこの問題を解決するためのツールです。一行のコマンドでプロジェクト全体をスキャンし、すべてのセキュリティ脆弱性を見つけ出します。
それは何か?
Ship SafeはオープンソースのAIセキュリティスキャナーで、23個のセキュリティエージェントが並行して動作し、80種類以上の攻撃タイプをカバーしています。登録やAPIキーは不要で、オフラインでも使用できます。
npx ship-safe
一行のコマンドでスキャンを開始できます。
何を検出できるか?
コードの脆弱性:
- SQL/NoSQLインジェクション、コマンドインジェクション、XSS
- JWTの欠陥(alg、弱い鍵)
- CSRF、OAuthの設定ミス、TLSのバイパス
- SSRF(サーバー側のリクエスト偽装)
AI/LLM特有の脆弱性:
- プロンプトインジェクション(OWASP LLM Top 10)
- MCPツールの悪意のある改ざん、エージェントのハイジャック
- RAG(Random Access Generation)によるコンテキストインジェクション、ドキュメントの悪意のある改ざん
- システムのプロンプト文の漏洩
- エージェントメモリへの悪意のあるデータの注入(Unicodeデータの隠蔽)
サプライチェーンセキュリティ:
- 依存関係のコードの隠蔽、Typosquatting(似た名前のファイルの悪用)
- 疑わしいインストールスクリプト
- Docker/Terraform/K8sの設定ミス
その他:
- ハードコードされた鍵(Gitの履歴に含まれるものも)
- CI/CDパイプラインへの悪意のあるコードの挿入
- 個人情報(PII)のコンプライアンスチェック(身分証明書番号、銀行カード番号など)
実際に使ってみる
私は自分のAstroブログプロジェクトで試してみました:
Security Score: 84.6/100 B — 小さな問題がいくつかありますが、確認が必要です
Category Breakdown
────────────────────────────────────────────────
✔ シークレット 問題なし +0
✔ コードの脆弱性 問題なし +0
✘ 依存関係 4件の問題 -13ポイント
✔ 認証とアクセス制御 問題なし +0
✔ 設定 問題なし +0
✘ サプライチェーン 2件の問題 -2.4ポイント
✔ APIセキュリティ 問題なし +0
✔ AI/LLMのセキュリティ 問題なし +0
4件の依存関係に関するCVEがあり、サプライチェーンに関する問題が2件ありました。コード自体には問題ありませんでした。
23個のセキュリティエージェント
各エージェントは特定のタイプの脆弱性を専門にスキャンし、関係のない部分は自動的にスキップします:
| エージェント | 検出内容 |
|---|---|
| InjectionTester | SQLインジェクション、コマンドインジェクション、XSS、パスの遍歴 |
| AuthBypassAgent | JWTの欠陥、CSRF、OAuthのエラー |
| SSRFProber | サーバー側のリクエスト偽装 |
| SupplyChainAudit | 依存関係のコードの隠蔽、疑わしいインストールスクリプト |
| ConfigAuditor | Docker/K8s/Terraformの設定 |
| LLMRedTeam | プロンプトインジェクション、システムのプロンプト文の漏洩 |
| MCPSecurityAgent | MCPツールの悪意のある改ざん、入力の検証 |
| AgenticSecurityAgent | エージェントのハイジャック、権限の昇格 |
| RAGSecurityAgent | コンテキストインジェクション、ドキュメントの悪意のある改ざん |
| MemoryPoisoningAgent | エージェントメモリへの悪意のあるデータの注入 |
| … | その他13個 |
使い方
# インタラクティブなスキャン
npx ship-safe
# 完全な監査
npx ship-safe audit .
# スコアのみを表示
npx ship-safe score .
# AIによる自動修復
npx ship-safe agent .
# CI/CDとの統合
npx ship-safe ci --threshold 80
誰に適しているか?
- AIを使ってコードを書く開発者(Cursor、Copilot、Claude Codeのユーザー)
- AIエージェントを開発するチーム
- MCPを使って外部ツールを統合しているプロジェクト
- セキュリティ監査が必要なオープンソースプロジェクト
プロジェクトのURL:https://github.com/asamassekou10/ship-safe
721個の星を獲得しており、MITライセンスの下で利用できます。npx ship-safeという一行のコマンドで簡単に使用できます。どのAIを使ってコードを書いていても、一度スキャンしておくことに損はありません。