デスクトップアプリ
shk Desktop は、プロジェクトスキャン、AI 向けマスキング、セットアップ自動化、監査レビューのためのローカル GUI で、フックが AI アクティビティをブロックすると OS 通知を表示します。
shk Desktop アプリは、プロジェクトスキャン、AI 向けマスキング、セットアップ自動化、監査レビューのためのローカル GUI を提供します。CLI と同じエンジンを同梱しているため、検出結果とポリシーは両者の間で一貫しています。
アプリを開いている間は、いずれかのプロジェクトでフックが AI アクティビティをブロックすると OS の通知も表示されるため、バックグラウンドで動作しているエージェントの状況をアプリに切り替えることなく把握できます。
アプリでできること
- プロジェクト — フォルダを開くか Git リポジトリをクローンし、プロジェクトごとの検出結果バッジと最終スキャン時刻とともにサイドバーに保持します。
- スキャン — プロジェクト全体のスキャンを実行し、検出結果を重要度、ルール、ファイルごとに閲覧します。
- クイックセットアップ — 推奨される修正を一括で適用します。
shk.tomlの作成、.gitignoreの修正、Git pre-commit フックのインストール、AI ツールフックのインストール、.envファイルの暗号化、npm 強化の適用、エージェントスキルのインストールを行います。 - AI マスク — テキスト、Office ドキュメント、テキストレイヤー付き PDF を貼り付けまたは開き、選択したプロジェクトのポリシーを使って検出結果をマスクし、安全な結果を普段使う AI アプリにコピーします。PDF のマスキングはデスクトップアプリ専用で、CLI の
shk maskは PDF を受け付けません。 - ブロックされた AI アクティビティ — サイドバーにあるすべてのプロジェクトについて、
.shk/audit.logのメタデータのみの監査エントリを確認します。 - アプリで開く — Cursor、VS Code、Antigravity、Claude Desktop、ChatGPT でプロジェクトを開きます。
- 言語 — インターフェースは英語と日本語で利用できます。
キーボードショートカット: ⌘O でプロジェクトを開く、⌘R でスキャンを実行、⌘M でマスクワークスペースを開く、⌘⇧N でウェルカム画面に戻る。Windows と Linux では ⌘ の代わりに Ctrl を使用します。
インストール
デスクトップアプリは CLI とは別に配布されています。リリースは desktop-vX.Y.Z(または統合された shk-vX.Y.Z)タグから、GitHub Releases 上の shk-desktop_* アセットとして公開されます。desktop-v0.6.0 以降、macOS ビルドは Developer ID で署名、公証(notarize)、ステープルされています。Windows インストーラーは現在 Authenticode 署名されていません。
インストーラーの選択
| プラットフォーム | アセットのパターン | 備考 |
|---|---|---|
| Linux x86_64 | shk-desktop_*_x86_64-unknown-linux-gnu_*.AppImage または *.deb |
AppImage には chmod +x が必要 |
| Linux aarch64 | shk-desktop_*_aarch64-unknown-linux-gnu_*.AppImage または *.deb |
上記と同じ |
| macOS Intel | shk-desktop_*_x86_64-apple-darwin_*.dmg |
署名・公証済み。shk.app を /Applications にドラッグ |
| macOS Apple Silicon | shk-desktop_*_aarch64-apple-darwin_*.dmg |
上記と同じ |
| Windows x86_64 | shk-desktop_*_x86_64-pc-windows-msvc_*setup.exe または *.msi |
現在は未署名 |
対象タグのリリースページからダウンロードしてください。例:
https://github.com/Kazuki-tam/security-harness-kit/releases/tag/desktop-v0.7.0チェックサムが提供されている場合は検証してください。
curl -LO https://github.com/Kazuki-tam/security-harness-kit/releases/download/desktop-v0.7.0/shk-desktop.sha256sum
sha256sum -c shk-desktop.sha256summacOS
desktop-v0.6.0 以降のインストーラーは Developer ID で署名・公証されており、Gatekeeper は回避策なしでそれらを開きます。古い未署名の早期アクセスビルドをまだ使用している場合は、署名済みの .dmg インストールに置き換えてください。すべてのリリースが同じ Tauri アップデーター署名鍵を共有しているため、アプリ内アップデーターも既存のインストールを移行します。
Windows SmartScreen
Windows インストーラーは現在 Authenticode 署名されていないため、SmartScreen が Windows によって PC が保護されました と表示することがあります。リリースのチェックサムとアテステーション(証明)を信頼できる場合は、詳細情報 → 実行 を選択してください。
ブロックされたアクティビティの通知
アプリを開いている間、サイドバーにあるすべてのプロジェクトの .shk/audit.log を監視(tail)し、フックが AI アクティビティをブロックすると OS の通知を表示します。トップバーのベルメニューから通知をオフにしたり、1 種類のブロックだけに絞り込んだりできます。デフォルトでは両方の種類がオンになっています。
知っておくと役立つ詳細:
- 通知されるのは、プロジェクトがサイドバーに表示された後に記録されたブロックのみです。既存の履歴が通知の山を生むことはありません。
- 数秒以内に到着したブロックは 1 つの通知にまとめられます。
- 通知のテキストは、ブロックの理由、リスクのあるアクションのカテゴリ、AI ツールに限定されます。通知はロック画面に表示され、OS によって保存されるため、ファイルパスは意図的に除外されています。ファイルパスを確認するには ブロックされた AI アクティビティ パネルを使用してください。
- 通知をオフにしてもバナーが止まるだけで、監視は止まりません。アプリを開いている間、監査パネルは引き続き更新されます。
- 最初のブロック時に OS の通知許可を求められます。macOS ではインストールしたアプリは shk として表示されます。
tauri devバイナリは代わりに ターミナル の識別情報で送信するため、テスト時はターミナルの通知を許可してください。 - バナーが表示されないのにパネルにブロックが表示される場合は、ほぼ間違いなく macOS が表示を抑制しています。集中モードと、システム設定 → 通知にあるアプリごとの通知スタイルを確認してください。
アプリ内アップデート
デスクトップアプリは、GitHub 上の desktop-latest/latest.json を確認してアップデーターのメタデータを取得します。アップデーターパッケージは、OS のコード署名とは独立して、常にプロジェクトの Tauri アップデーター鍵で署名されています。
関連情報
- CLI についてはインストールを、デスクトップのアーティファクトも対象とするアンインストール手順もあわせて参照してください。
- 同じ監査ログを CLI から確認するには
shk auditを参照してください。 - メンテナー向けのリリース手順は、メインリポジトリの
desktop-release.mdにあります。