apohara-compliance は何をしますか?
AIコーディングエージェントのアクション(またはリポジトリ)を、OWASP Agentic Top 10およびコンプライアンスフレームワークのコントロールにマッピングし、候補となる問題を引用付きで提示します。Rustスキャナ+エージェントスキル、SARIF出力。
概要
このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が生成したコードまたはリポジトリ全体をスキャンし、OWASP Agentic Top 10の各カテゴリ(例:A01: Prompt Injection、A02: Insecure Output Handling)や一般的なコンプライアンスフレームワークのコントロールにマッピングします。出力はSARIF形式で、GitHub Code ScanningやVS Codeなどのツールで読み込むことができます。
使用方法
前提条件
- Rustツールチェーン(1.70以上)
- スキャン対象のリポジトリまたはエージェントアクションログ(JSON形式推奨)
インストール
git clone https://github.com/SuarezPM/apohara-compliance.git
cd apohara-compliance
cargo build --release
スキャンの実行
./target/release/apohara-compliance --path /path/to/repo --output results.sarif
または、エージェントアクションログをスキャンする場合:
./target/release/apohara-compliance --actions /path/to/actions.json --output results.sarif
マッピング例
| OWASP Agentic Top 10 | 検出パターン例 |
|---|---|
| A01: Prompt Injection | 信頼できない入力を直接システムプロンプトに挿入 |
| A02: Insecure Output Handling | 生成された出力を検証せずにeval()に渡す |
| A03: Sensitive Information Disclosure | APIキーやトークンをログに出力 |
| A04: Insecure Agent-to-Agent Communication | 暗号化されていないチャネルでエージェント間通信 |
| A05: Agent Hallucination | 存在しないパッケージやバージョンを参照 |
| A06: Insecure Plugin/Extension Use | 未検証のサードパーティプラグインを実行 |
| A07: Privilege Escalation | 過剰な権限でコードを実行 |
| A08: Insecure Memory Handling | 機密データを適切に消去せず |
| A09: Agent Logic Flaws | 入力検証の欠如によるロジックバイパス |
| A10: Insecure Deployment | デフォルトの認証情報を使用 |
出力形式
スキルは"SARIF v2.1.0"形式で出力します。各結果には:
- 問題の説明(日本語を含む多言語対応)
- 該当するOWASP Agentic Top 10カテゴリまたはコンプライアンスコントロール番号
- 問題箇所へのコード引用(ファイル名、行番号)
- 推奨される対処方法
対応プラットフォーム
- Claude Code: Claudeのアクションログを直接スキャン可能
- Cursor: Cursorのコード生成履歴をスキャン可能
- Codex: GitHub Actionsとの統合でCodexの出力をスキャン可能
ライセンス
Apache-2.0