ORIMUSUGROUND IMMUNE Guard
TECHNICAL PREVIEW · v0.1.0-preview.4

GROUND IMMUNE Guard

エージェントの操作には判定を返す。
証拠が足りないとき、黙って許可しない。

AI エージェントの操作を、明示した範囲と証拠に照らして判定する、ローカルのスコープ検査です。判定は ADMITTED、DENIED、UNRESOLVED の三値。証拠が足りないときは UNRESOLVED であり、許可とはみなしません。

2026年11月18日(水)17:01 JST、Product Hunt で公開予定。

三つの判定

  • ADMITTED

    範囲内で、必要な証拠がそろっている。Broker に渡され、1回だけ実行されます。

  • DENIED

    明示した範囲の外。実行しません。

  • UNRESOLVED

    証拠がない、判定の再利用、対象の差し替えなど。実行せず、許可としても扱いません。

実際の CLI 出力

README のコマンドを、v0.1.0-preview.4 の tarball に対して LIMITED_BLOCKING モードとローカルの模擬 Broker で実行したものです。最初の許可された操作だけが1回実行され、再実行・DENIED・UNRESOLVED は実行されません。

ターミナル出力: ADMITTED exit 0、UNRESOLVED DECISION_REUSED exit 4、DENIED OUT_OF_SCOPE exit 3、UNRESOLVED EVIDENCE_MISSING exit 4。
Node 22、v0.1.0-preview.4 で録画。ローカル評価のみ(模擬 Broker、実際の資格情報なし、GitHub への書き込みなし)。

試す

アカウント不要、資格情報不要、ダウンロード後はネットワーク不要。Node.js 22 以上と npm が必要です。新しい空のディレクトリで実行してください。

mkdir guard-try && cd guard-try
npm init -y >/dev/null
curl -LO https://github.com/ORIMUSU/ground-immune-guard/releases/download/v0.1.0-preview.4/ground-immune-guard-0.1.0-preview.4.tgz
echo "6bdc758c1059b2e530393e9f9a61706bbb097410ab88afb80adde55668e88168  ground-immune-guard-0.1.0-preview.4.tgz" | sha256sum -c -
npm install --offline --ignore-scripts ./ground-immune-guard-0.1.0-preview.4.tgz

./node_modules/.bin/guard init ./blocking --limited      # ローカルの模擬 Broker、資格情報なし
./node_modules/.bin/guard protect ./blocking allowed     # ADMITTED   -> 1回実行 (exit 0)
./node_modules/.bin/guard protect ./blocking allowed     # UNRESOLVED -> DECISION_REUSED (exit 4)
./node_modules/.bin/guard protect ./blocking denied      # DENIED     -> OUT_OF_SCOPE (exit 3)
./node_modules/.bin/guard protect ./blocking unresolved  # UNRESOLVED -> EVIDENCE_MISSING (exit 4)
./node_modules/.bin/guard verify ./blocking

tarball の SHA-256

6bdc758c1059b2e530393e9f9a61706bbb097410ab88afb80adde55668e88168
  • macOS では sha256sum -c - の代わりに shasum -a 256 -c -。Windows では (Get-FileHash -Algorithm SHA256 .\ground-immune-guard-0.1.0-preview.4.tgz).Hash で確認し、.\node_modules\.bin\guard.cmd を使います。
  • 動作確認: Linux(Node 22 / 24)、Windows 11(Node 24)、macOS(Apple Silicon、Node 24)。
  • 既定は SHADOW モードです。guard init ./shadow では判定を記録するだけで(outcome: OBSERVED)、何も遮断しません。
  • 詳しい手順と Windows の注意点(英語): README · JavaScript/TypeScript の Quickstart

承認後に差し替えられた操作は、実行されない

承認のあと、Broker に渡す操作が差し替えられた場合は、preview Broker バインドで止まります(UNRESOLVED / TARGET_CHANGED、模擬 Broker の実行は 0 回)。この場面は LIMITED_BLOCKING が必要で、SHADOW では出ません。同梱の examples/tamper-after-approval.mjs で再現できます。

examples/tamper-after-approval.mjs の実際の出力: decision UNRESOLVED、reason TARGET_CHANGED、execution UNRESOLVED、simulatedExecutions 0、credential NONE。

構成

エージェントは操作の意図を送り、Guard が判定します。Broker に届くのは ADMITTED の操作だけです。図は本来想定している遮断の構成で、このプレビューにはローカル評価用の模擬 Broker が同梱されています。

構成図: AI エージェントが意図を Guard に送る。Guard は明示した範囲と証拠に照らして判定する。ADMITTED は Broker(このプレビューでは模擬)へ。DENIED と UNRESOLVED は停止。既定の SHADOW は判定を記録するだけ。

このプレビューに含まれるもの、含まれないもの

含まれるもの

  • 意図の評価、スコープのバインド、ローカルの証拠記録
  • ローカル CLI と JavaScript/TypeScript API(プレビュー版)
  • GitHub メタデータの対応付け
  • 承認後に変わった操作を拒否する preview Broker バインド(LIMITED_BLOCKING)
  • パッケージのビルドに使ったソース(Apache License 2.0)

含まれないもの・主張しないこと

  • Broker は模擬のみ。専用の Broker ホスト、実際の資格情報、実際の GitHub 書き込み実行は含みません。
  • 本番利用の認定はしていません。
  • 資格情報の隔離は主張しません。プロセス内のバインドは、プロセスや OS による隔離ではありません。
  • npm レジストリには公開していません。GitHub Release の tarball を SHA-256 で確認して導入します(暗号署名・証明はありません)。

利用を検討する前に、Limitations、Threat Model、Security Model を読んでください(いずれも英語)。

連絡先

Shadow パイロット・製品について

immune@orimusu.com

範囲を絞った Shadow パイロット(1つの操作を観察のみ)のご相談、質問、フィードバックはこちらへ。パイロットの進め方(英語)。パスワード、トークン、鍵は送らないでください。

脆弱性の報告

security@orimusu.com

セキュリティポリシーに沿ってご連絡ください。脆弱性の詳細を公開の場に書かないでください。