AIに自由を。機密情報は渡さない。
プロジェクトとAIツールの間に、ローカルで動くセキュリティレイヤーを。機密情報を検出し、共有する内容をマスク。危険な操作は実行前に止めます。
対応するAIコーディングツール
- Claude Code
- Cursor
- Codex
- GitHub Copilot
- Antigravity
- Windsurf
その情報が、外に出る前に。
AIツールはファイルを読み、プロンプトを受け取り、シェルコマンドを実行します。 そのすべてに、外へ出る前のチェックを挟みます。
src/config.tsOPENAI_API_KEY = "••••••••••••"
HIGH secret.openai_api_keysrc/config.ts:121 finding · value not displayed
ルールと検出位置を確認。一致した秘密の値は、スキャン結果に表示しません。
Please review this customer record:Email: alex@example.comPhone: +1 (415) 555-0123
Please review this customer record:Email: [REDACTED]Phone: [REDACTED]
AIアプリに貼り付ける前に、プロンプトの機密情報を置き換えます。
AI agent → shellcat .env
DENY action_guardsecret_dump_commandStopped before execution
管理された事前フックが、エージェントによる危険なコマンドの実行を拒否します。
あくまで動作イメージです。
スキャンからCIまで、同じ設定で。
最初のプロンプトから、次のプルリクエストまで。セキュリティチェックを一貫したワークフローに。
スキャン
ソースコード、Markdown、テキスト、Office ドキュメント、テキストレイヤー付き PDF からシークレットと個人情報を検出します。対象はディレクトリ、ステージ済みファイル、ブランチ差分、Git 履歴から選べます。
$ shk scan .マスク
プロンプト、ファイル、クリップボード、.docx / .xlsx / .pptx の検出箇所を共有前に秘匿化します。一致部分のみ・端を残す・行全体の 3 方式をプロジェクトごとに設定できます。
$ shk mask < prompt.txtAI ツールフック
6 つの AI コーディングツールに pre-hook を導入します。機密情報はプロンプトに入る前に止まり、アクションガードが .env の出力や再帰削除といった危険なコマンドを拒否します。
$ shk hooks install-ai.env の暗号化
dotenv ファイルを暗号化します。秘密鍵は OS キーリングか 1Password に保管され、復号した値は実行するコマンドにだけ注入されます。
$ shk env run -- npm testMCP 監査
MCP クライアントの設定を読み、バージョン未固定のパッケージ、埋め込まれた認証情報、平文 HTTP、/ や $HOME を対象にしたファイルシステムサーバーを検出します。静的解析のみで、サーバーは起動しません。
$ shk mcp auditCI ワークフロー
固定バージョンのリリースをチェックサムとアテステーションで検証してからインストールし、すべてのプルリクエストをスキャンする GitHub Actions ワークフローを生成します。SARIF アップロードはフラグ 1 つです。
$ shk ci init github検出はパターンベースです(独自に調整したルールと、gitleaks のデフォルト設定から取り込んだルール)。画像のみの PDF はスキャンせず、スキップとして報告します。shk は AI ツールとの境界でのチェックとして使い、唯一のシークレットスキャナーにはしないでください。
プロジェクトの状態を、 Desktopで確認。
CLIと同じRustエンジンを、使いやすいアプリに。 プロジェクトのスキャン、プロンプトのマスク、AIのブロック履歴をひとつの画面で。
- クイックセットアップで、ポリシー・.gitignore・フック・.env 暗号化・エージェントスキルを一括適用
- プロンプトや Office ドキュメント向けの AI マスクワークスペース。普段使う AI アプリをすぐ開けるショートカット付き
- フックがエージェントを止めると OS 通知。ファイルパスは通知には含めません
backend-api
| ツール | 理由 | 時刻 |
|---|---|---|
| cursorpre | action_guardsecret_dump_command | 2m |
| claude-codeuser-prompt | finding_thresholdsecret.openai_api_key | 14m |
| codexpre | finding_thresholdpii.ja.my_number | 1h |
| windsurfpre | action_guardexternal_transfer | 3h |
LOCAL BY DESIGN
機密情報のチェックはローカルで。
大切な情報を、チェックのために外へ送らない。スキャンも、マスクも、フックのチェックも、あなたのマシンで実行します。
チェック中のネットワーク通信なし
スキャン中は通信しない
スキャン、マスク、フックのチェックはローカルファイルだけを読みます。更新確認は shk status と shk doctor version を実行したときに限られます。
監査ログはメタデータのみ
記録するのは検出件数やルール ID などのメタデータ。検出した値、プロンプト本文、コマンド文字列は、監査ログに残しません。
配布物の正当性も、検証できる
SHA256 チェックサムと GitHub のアテステーションで配布物を検証。生成される CI ワークフローは、インストール前に両方を確認します。
CLIをインストール
まずは読み取り専用のスキャンから。 結果を確認し、ポリシーを調整してからフックを有効にできます。
npm install -g security-harness-kitcurl --proto '=https' --tlsv1.2 -LsSf https://github.com/Kazuki-tam/security-harness-kit/releases/latest/download/shk-cli-installer.sh | shbrew install Kazuki-tam/homebrew-tap/shkpowershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://github.com/Kazuki-tam/security-harness-kit/releases/latest/download/shk-cli-installer.ps1 | iex"- 01
ポリシーを作る
デフォルトのルールとしきい値を持つ shk.toml を書き出します。package.json があれば、npm / pnpm / Yarn / Bun 向けに ignore-scripts とリリース経過日数の下限も設定できます。
shk init - 02
プロジェクトをスキャンする
重要度・ルール ID・位置つきで検出結果を表示します。終了コードが安定しているので、同じコマンドが pre-commit フックでも CI でもそのまま使えます。
shk scan . - 03
フックを入れる
使っている各 AI ツールに shk を pre-hook として登録します。まず --audit で様子を見て、問題なければフラグを外してブロックに切り替えます。
shk hooks install-ai --audit
よくある質問
コードやプロンプトが外部に送られることはありますか?
ありません。スキャン、マスク、フックのチェック、MCP 監査はすべて手元のマシンで実行され、ローカルファイルだけを読みます。ネットワークにアクセスするのは、shk status と shk doctor version による任意の更新確認と、shk secrets push や shk env の 1Password バックエンドのように、自分で選んだサービスと通信するためのコマンドだけです。
無料で使えますか?
はい。shk は MIT ライセンスのオープンソースで、CLI も shk Desktop も無料で使えます。ソースコードとすべてのリリースアーカイブは GitHub で公開しています。
対応している OS は?
CLI は macOS(Intel / Apple Silicon)、Linux(x86_64 / aarch64)、Windows x86_64 で動作し、npm、Homebrew、インストーラースクリプトから導入できます。shk Desktop も同じプラットフォーム向けに配布しています。macOS 版は署名・公証済みで、Windows 版インストーラーは現時点ではコード署名されていません。
gitleaks やホスト型のシークレットスキャナーと何が違いますか?
shk は AI ツールとの境界に特化しています。ファイルのスキャンに加えて、プロンプトのマスク、エージェント操作のブロック、MCP 設定の監査を行います。検出はパターンベースで、gitleaks のデフォルト設定から取り込んだルールも含みます。専用のスキャンプラットフォームの代替ではなく、ローカルのガードレールとして使ってください。
対応しているファイル形式は?
ソースコード、Markdown、テキスト、dotenv ファイル、.docx、.xlsx、.pptx、テキストレイヤー付き PDF です。画像のみの PDF は黙って無視せず、スキップとして報告します。
フックは具体的に何をブロックしますか?
2 種類です。しきい値を超えるシークレット・個人情報ルールに一致した内容と、アクションガードが危険と判定した操作(機密ファイルの読み書き、シークレットや環境変数の出力、再帰削除、データベースの変更、権限変更、外部への転送、パッケージマネージャーやシステムへのインストール、strict プロファイルでは bash -c のような不透明な実行)です。どちらも shk.toml で調整でき、--audit モードならブロックせずに記録だけ行います。

