Kritt-ai/open-kritt
Open-source, self-hosted AI vulnerability research tool that orchestrates agents to find and validate security issues in code.
open·kritt – AI駆動型セキュリティ研究プラットフォーム
何であるか
- オープンソースで自己ホスティング可能なツールで、セキュリティ研究者がコードベース上でAIエージェントを実行し、実際の脆弱性を発見できる。
- 1つのモデルに全体のリポジトリをスキャンさせることではなく、ワークフローとして小さな焦点型のプロンプトを並列で実行し、その結果をマージ、重複除去、順位付けする。
コア機能
| 機能 | 得られるもの |
|---|---|
| ワークフロー作成ツール | スキルと呼ばれるプロンプトステップを連結して、再利用可能なセキュリティプレイブックを作成可能。 |
| マルチモデル対応 | APIキーまたはCodexログインを介して、Codex、Claude Code、Grok Build、または他のプロバイダーに接続可能。 |
| 自動スキャン | ローカルまたはリモートリポジトリ(依存関係を含む)を指定し、エージェントがコードを分析させる。 |
| 検証とPoC生成 | ポストスクリプトでコードをコンパイルし、テストを実行し、証明可能な攻撃(PoC)や検証スクリプトを生成可能。 |
| 結果のエクスポート | すべての発見、構造化データ、レポート、PoCが明確なマニフェストを持つZIPファイルにパッケージ化される。 |
| 優先順位付け | カスタム深刻度ランカー、一貫したスキーマ、自動重複除去により、最も重要な問題に集中できる。 |
| ヘッドレスCLI | GUIのないサーバーでもターミナルからスキャンを実行可能。CLIはWeb UIのバックエンドロジックを再現。 |
| 独自モデルの導入 | 任意のプロバイダーを使用可能。プラットフォームは特定のサービスに縛られない。 |
動作方法(概要)
- セットアップ – リポジトリをクローンし、
./kritt setupを実行。Docker、Node、モデルAPIの設定を順次ガイド。 - ワークフローの定義 – JSONで記述されたステップを選択または作成。LLMに、例えば不安全な関数の一覧、修正案の提案、テストケースの生成を依頼。
- スキャンの開始 – バックエンドが各ステップ用の一時的なDockerコンテナを起動し、ターゲットリポジトリをコピーして、エージェントがインターネットアクセスを許可された状態で実行。
- 検証 – ポストスクリプトでコードをコンパイルし、生成されたPoCを実行し、報告された問題が実際に存在するかを確認。
- 集約 – 発見結果は重複除去され、カスタム深刻度ロジックに基づいて順位付けされ、ZIPバンドルとしてエクスポート。
迅速な導入方法
git clone https://github.com/Kritt-ai/open-kritt
cd open-kritt
./kritt setup # Docker、Node、モデル認証情報を設定
./kritt start # http://localhost:5173 でWeb UIを起動
ブラウザのないサーバーでは、./kritt-headlessを使用。ターミナルから同じ機能が利用可能。
一般的な利用例
- 再現可能で順位付けされた脆弱性レポートが欲しいバグバウンティ研究者。
- CIパイプラインにAI支援コードレビューを統合したいDevSecOpsチーム(ヘッドレスCLI経由)。
- LLMに静的解析を促す方法を教えるためにカスタム学習ワークフローを作成したいセキュリティ教育者。
制限と注意点
- エージェントは一時コンテナ内でroot権限で実行され、完全なインターネットアクセスを持つ。隔離されたホスト上で実行し、付属の脅威モデルドキュメントを確認すること。
- Web UIには組み込み認証がない。ファイアウォールの後ろやプライベートネットワーク上にサービスを配置すること。
- 結果はプロンプトの質と基盤モデルの性能に大きく依存する。誤検出や見逃しは発生する可能性があるため、検証ステップは必須。
コミュニティと貢献
- Harel Rom と Gabriel Balko がメンテナンス。プルリクエストで貢献を歓迎。
- 議論、バグ報告、機能アイデアはGitHub DiscussionsとIssuesに掲載。
- セキュリティ関連の脆弱性報告は、
SECURITY.mdに記載された方法に従い、非公開で送信すること。
ライセンス
- GNU Affero General Public License v3.0 (AGPL-3.0) の下で配布。
open·kritt は、制御された、再現可能な方法でLLMをオーケストレーションし、コードの脆弱性を発見・検証・優先順位付けする本格的なAIエージェント駆動型セキュリティ研究プラットフォームです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト