ドキュメントはじめに

概要

security-harness-kit (shk) とは何か、AI 支援開発においてどのような問題を解決するか、そして各機能がどのように組み合わさるかを説明します。

このページの内容

shk は、プロジェクト内のシークレットや PII(個人情報)を検出し、AI コーディングツール・Git コミット・生成ファイルに混入する前に止めるコマンドラインツールです。処理は手元のマシンで完結し、ファイルの内容を外部に送信しません。また、.env ファイルを暗号化し、ローカルコマンドの実行時にのみ復号した値を注入することもできます。

shk scan .
bash

出力例:

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).
text

なぜ必要か

AI コーディングエージェントは、プロジェクトのファイルを読み、シェルコマンドを実行し、与えられた内容から新しいファイルを書き出します。shk はその手前にチェックを挟みます。エージェントが読み込む・送信する内容をスキャンし、プロンプトに貼る内容をマスクし、cat .env のようなコマンドを実行前に拒否します。

スキャン、マスク、フックのチェックがネットワーク通信を行うことはなく、監査ログにはメタデータだけが残ります。検出はパターンベースなので、shk は AI ツールとの境界でのチェックとして使い、唯一のシークレットスキャナーにはしないでください。

shk でできること

  • ソースコード、Markdown、プレーンテキスト、Office ドキュメント(.docx.xlsx.pptx)、テキストレイヤー付き .pdf ファイルを対象に、プロジェクトのパスや Git のステージ済みファイルから一般的なシークレットと PII をスキャンします。
  • 標準入力、テキストファイル、Office ドキュメントの機密コンテンツを、プロンプトに貼り付ける前にマスクします。
  • CSV、xlsx、テキストデータを決定的なトークンで仮名化し、共有したデータセットを結合可能なまま保ちます。元の値を戻すための暗号化された復元マップも作成します。
  • .env ファイルを暗号化し、秘密鍵を設定済みのシークレットストアに保存し、復号した値を実行時にのみ注入してコマンドを実行します。
  • プロバイダーの CLI を通じて、AWS Secrets Manager または GCP Secret Manager に dotenv ペイロードをプッシュします。書き込みの前に PII スキャンと lint を実行します。
  • ステージ済みのシークレットをブロックする Git pre-commit フックをインストールします。
  • Claude Code、Cursor、Codex、GitHub Copilot、Antigravity、Windsurf 向けのマネージド AI フックをインストールします。リスクのある操作を実行前にブロックするアクションガードを備えています。
  • 検出された値を保存することなく、ブロックされたフックのアクティビティを把握するためにメタデータのみの監査ログを確認します。
  • 安全でないパッケージ、認証情報、HTTP、ファイルシステムの設定について、MCP クライアント設定を静的に監査します。
  • すべてのプルリクエストで shk scan を実行する GitHub Actions ワークフローを生成します。
  • ignore ファイルと .env の安全性カバレッジを診断します。
  • Claude Code、Codex、Cursor、GitHub Copilot、Antigravity、Windsurf のプロジェクトディレクトリに AI エージェントスキルをデプロイします。
  • GUI でローカルのスキャン、マスキング、セットアップ、監査ログの確認を行うには shk Desktop アプリを使います。

各機能の組み合わせ

レイヤー 保護対象 エントリポイント
ポリシー 単一の shk.toml で、プロジェクトごとのルール、しきい値、マスキング、アクションガードの動作を定義します。 shk init設定
スキャン ファイル、ステージ済みの変更、または Git 履歴からシークレットと PII を検出します。 shk scan
マスク テキストやドキュメントの検出結果を秘匿化または仮名化し、安全に共有できるようにします。 shk maskshk clipboardshk pseudonymize
フック Git や AI コーディングツールの内部で、リスクのあるコンテンツやアクションをブロックまたは監査します。 shk hooks installshk hooks install-ai
Env dotenv ファイルを暗号化し、実行時にのみ値を注入し、クラウドのシークレットマネージャーにプッシュします。 shk envshk secrets push
CI 固定(ピン留め)され検証済みのリリースを使い、すべてのプルリクエストで同じスキャンを実行します。 shk ci init github
Desktop スキャン、マスキング、セットアップの自動化、監査ログの確認のための GUI です。 デスクトップアプリ

次に読むページ

  • インストール — CLI またはデスクトップアプリをインストールします。
  • クイックスタート — 数分でポリシーを作成し、スキャンを実行し、フックをインストールします。
  • コマンド — CLI の完全なリファレンスです。
  • 検出モデル — 検出結果がどのように分類され、何がカバーされているかを説明します。