AIに自由を。機密情報は渡さない。

プロジェクトとAIツールの間に、ローカルで動くセキュリティレイヤーを。機密情報を検出し、共有する内容をマスク。危険な操作は実行前に止めます。

  • オープンソース・MITライセンス
  • CLIはmacOS · Windows · Linux対応
  • チェック中のネットワーク通信なし

対応するAIコーディングツール

  • Claude Code
  • Cursor
  • Codex
  • GitHub Copilot
  • Antigravity
  • Windsurf

その情報が、外に出る前に。

AIツールはファイルを読み、プロンプトを受け取り、シェルコマンドを実行します。 そのすべてに、外へ出る前のチェックを挟みます。

$ shk scan .DETECTED
入力
src/config.tsOPENAI_API_KEY = "••••••••••••" 
SHKの結果
HIGH  secret.openai_api_keysrc/config.ts:121 finding · value not displayed

ルールと検出位置を確認。一致した秘密の値は、スキャン結果に表示しません。

あくまで動作イメージです。

スキャンからCIまで、同じ設定で。

最初のプロンプトから、次のプルリクエストまで。セキュリティチェックを一貫したワークフローに。

スキャン

ソースコード、Markdown、テキスト、Office ドキュメント、テキストレイヤー付き PDF からシークレットと個人情報を検出します。対象はディレクトリ、ステージ済みファイル、ブランチ差分、Git 履歴から選べます。

$ shk scan .

マスク

プロンプト、ファイル、クリップボード、.docx / .xlsx / .pptx の検出箇所を共有前に秘匿化します。一致部分のみ・端を残す・行全体の 3 方式をプロジェクトごとに設定できます。

$ shk mask < prompt.txt

AI ツールフック

6 つの AI コーディングツールに pre-hook を導入します。機密情報はプロンプトに入る前に止まり、アクションガードが .env の出力や再帰削除といった危険なコマンドを拒否します。

$ shk hooks install-ai

.env の暗号化

dotenv ファイルを暗号化します。秘密鍵は OS キーリングか 1Password に保管され、復号した値は実行するコマンドにだけ注入されます。

$ shk env run -- npm test

MCP 監査

MCP クライアントの設定を読み、バージョン未固定のパッケージ、埋め込まれた認証情報、平文 HTTP、/ や $HOME を対象にしたファイルシステムサーバーを検出します。静的解析のみで、サーバーは起動しません。

$ shk mcp audit

CI ワークフロー

固定バージョンのリリースをチェックサムとアテステーションで検証してからインストールし、すべてのプルリクエストをスキャンする GitHub Actions ワークフローを生成します。SARIF アップロードはフラグ 1 つです。

$ shk ci init github

検出はパターンベースです(独自に調整したルールと、gitleaks のデフォルト設定から取り込んだルール)。画像のみの PDF はスキャンせず、スキップとして報告します。shk は AI ツールとの境界でのチェックとして使い、唯一のシークレットスキャナーにはしないでください。

プロジェクトの状態を、 Desktopで確認。

CLIと同じRustエンジンを、使いやすいアプリに。 プロジェクトのスキャン、プロンプトのマスク、AIのブロック履歴をひとつの画面で。

  • クイックセットアップで、ポリシー・.gitignore・フック・.env 暗号化・エージェントスキルを一括適用
  • プロンプトや Office ドキュメント向けの AI マスクワークスペース。普段使う AI アプリをすぐ開けるショートカット付き
  • フックがエージェントを止めると OS 通知。ファイルパスは通知には含めません
shk DesktopLOCAL
WORKSPACE~/projects

backend-api

あなたのマシンで処理
Project / backend-api3 件の検出
ブロックされた AI アクティビティ
ツール理由時刻
cursorpreaction_guardsecret_dump_command2m
claude-codeuser-promptfinding_thresholdsecret.openai_api_key14m
codexprefinding_thresholdpii.ja.my_number1h
windsurfpreaction_guardexternal_transfer3h
Desktopの画面イメージ · サンプルデータ

LOCAL BY DESIGN

機密情報のチェックはローカルで。

大切な情報を、チェックのために外へ送らない。スキャンも、マスクも、フックのチェックも、あなたのマシンで実行します。

安全性と設計を読む
  1. スキャン中は通信しない

    スキャン、マスク、フックのチェックはローカルファイルだけを読みます。更新確認は shk status と shk doctor version を実行したときに限られます。

  2. 監査ログはメタデータのみ

    記録するのは検出件数やルール ID などのメタデータ。検出した値、プロンプト本文、コマンド文字列は、監査ログに残しません。

  3. 配布物の正当性も、検証できる

    SHA256 チェックサムと GitHub のアテステーションで配布物を検証。生成される CI ワークフローは、インストール前に両方を確認します。

CLIをインストール

まずは読み取り専用のスキャンから。 結果を確認し、ポリシーを調整してからフックを有効にできます。

npm install -g security-harness-kit
CLI をインストール
  1. 01

    ポリシーを作る

    デフォルトのルールとしきい値を持つ shk.toml を書き出します。package.json があれば、npm / pnpm / Yarn / Bun 向けに ignore-scripts とリリース経過日数の下限も設定できます。

    shk init
  2. 02

    プロジェクトをスキャンする

    重要度・ルール ID・位置つきで検出結果を表示します。終了コードが安定しているので、同じコマンドが pre-commit フックでも CI でもそのまま使えます。

    shk scan .
  3. 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 モードならブロックせずに記録だけ行います。

まずはプロジェクトをスキャンしよう。

AIとつくる毎日に、ローカルなセキュリティ境界を。