ドキュメントはじめに

概要

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 でできること

目的 機能 読むページ
漏えいを見つける 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

各機能の組み合わせ

  1. 入力・操作ファイル・プロンプト・コマンド
  2. shk の検査ポリシー・検出・アクションガード
  3. 結果に応じた処理報告・マスク・フックでブロック
レイヤー 保護対象 エントリポイント
ポリシー 単一の 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 です。 デスクトップアプリ

次に読むページ

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