概要
security-harness-kit (shk) とは何か、AI 支援開発においてどのような問題を解決するか、そして各機能がどのように組み合わさるかを説明します。
shk は、プロジェクト内のシークレットや PII(個人情報)を検出し、AI コーディングツール・Git コミット・生成ファイルに混入する前に止めるコマンドラインツールです。処理は手元のマシンで完結し、ファイルの内容を外部に送信しません。また、.env ファイルを暗号化し、ローカルコマンドの実行時にのみ復号した値を注入することもできます。
shk scan .出力例:
3 findings
HIGH secret.openai_api_key src/app.ts:12 Possible OpenAI API key detected
MED pii.ja.phone config/dev.ts:5 Japanese phone number pattern detected
MED pii.en.ssn docs/test.md:8 US SSN pattern detected
Failed: findings at or above high (max high).なぜ必要か
AI コーディングエージェントは、プロジェクトのファイルを読み、シェルコマンドを実行し、与えられた内容から新しいファイルを書き出します。shk はその手前にチェックを挟みます。エージェントが読み込む・送信する内容をスキャンし、プロンプトに貼る内容をマスクし、cat .env のようなコマンドを実行前に拒否します。
スキャン、マスク、フックのチェックがネットワーク通信を行うことはなく、監査ログにはメタデータだけが残ります。検出はパターンベースなので、shk は AI ツールとの境界でのチェックとして使い、唯一のシークレットスキャナーにはしないでください。
shk でできること
| 目的 | 機能 | 読むページ |
|---|---|---|
| 漏えいを見つける | Scan / Git history / MCP audit / Doctor | Quick Start |
| 共有する内容を加工 | Mask / Pseudonymize / Clipboard | Desktop |
| 秘密を保管・利用 | Env encryption / Runtime injection / AWS・GCP push | Configuration |
| 日々の操作を保護 | Git hooks / AI hooks / Action guard / Agent skills | Quick Start |
| チームで検出・確認 | CI / Metadata-only audit / Desktop | CI |
各機能の組み合わせ
- 入力・操作ファイル・プロンプト・コマンド
- shk の検査ポリシー・検出・アクションガード
- 結果に応じた処理報告・マスク・フックでブロック
| レイヤー | 保護対象 | エントリポイント |
|---|---|---|
| ポリシー | 単一の shk.toml で、プロジェクトごとのルール、しきい値、マスキング、アクションガードの動作を定義します。 |
shk init、設定 |
| スキャン | ファイル、ステージ済みの変更、または Git 履歴からシークレットと PII を検出します。 | shk scan |
| マスク | テキストやドキュメントの検出結果を秘匿化または仮名化し、安全に共有できるようにします。 | shk mask、shk clipboard、shk pseudonymize |
| フック | Git や AI コーディングツールの内部で、リスクのあるコンテンツやアクションをブロックまたは監査します。 | shk hooks install、shk hooks install-ai |
| Env | dotenv ファイルを暗号化し、実行時にのみ値を注入し、クラウドのシークレットマネージャーにプッシュします。 | shk env、shk secrets push |
| CI | 固定(ピン留め)され検証済みのリリースを使い、すべてのプルリクエストで同じスキャンを実行します。 | shk ci init github |
| Desktop | スキャン、マスキング(伏せ字または仮名化)、セットアップの自動化、監査ログの確認のための GUI です。 | デスクトップアプリ |