メインコンテンツまでスキップ
守りと規約メニュー:守りと規約 › 隔離と検査と署名

隔離と検査と署名

AI と、外から入れる物は、BeesBuild の本体と鍵から離して動かします。入れる前には検査し、配る物には署名します。どれか 1 つが破られても、ほかの守りが止める重ね方です。

AI はサンドボックスで動かす​

Windows の資格情報マネージャーと、コアと話す口(名前付きパイプ)は、同じ Windows の利用者のプロセスなら読める作りです。AI のエージェントを人と同じ利用者のまま動かすと、鍵の置き場とコアの口に届いてしまいます。だから AI は、サンドボックスで動かすのを既定にします。

形中身向く所
WSL2Windows との相互の呼び出しを切った Linux の中で動かすClaude Code(Claude Code のサンドボックスは、Windows の上では直接は動かないため)
Dockerコンテナーの中で動かす。Docker Sandboxes も使えるClaude Code・高度な設定のハーネス・スキルの試し
別の Windows の利用者AI 専用の Windows の利用者で動かすWindows でしか動かない物

Codex は、Windows の公式のサンドボックスを使います(ハーネスの設計)。

Windows Sandbox は、AI の隔離には使いません。同時に 1 つしか動かず、出力も取り出せないためです。

WSL2 の設定の見本​

AI を動かす WSL の中の /etc/wsl.conf で、Windows のプログラムを呼ぶ道と、C ドライブの自動のつなぎを切ります。

# Windows のプログラム(powershell.exe など)を呼べなくする
[interop]
enabled = false
# Windows の PATH を足さない
appendWindowsPath = false

# C ドライブなどを /mnt に自動でつながない
[automount]
enabled = false
  • 書き換えた後は、wsl --shutdown で WSL を止めてから起こし直すと効きます。
  • 仕事のフォルダーは、WSL の中に置くか、決めたフォルダーだけをつなぎます。
  • 自動のつなぎを切った時に困る所が無いかは、試しの週に確かめます。確認中

口を分ける​

口できる事
画面用の口人の操作と承認。お金・鍵・権限は Windows Hello で本人を確かめる
AI 用の口(hb の命令・Hive Bus)読む・案を作る・決まりの範囲で動かす。承認の引数が無く、鍵の中身も返さない

Hive Bus の守り​

守り中身
受ける所127.0.0.1 だけ。外のネットワークからは届かない
Origin のヘッダー確かめる。ブラウザーのページから手元の口を叩く攻撃(DNS rebinding など)を防ぐため
スレッドごとのトークン確かめる。名札の無い相手は受けない
承認道具は承認の引数を受けない
クラウドから届かない。手元に入る口は開けず、クラウドの蜂とは custom tool でつなぐ(クラウドの蜂)

詳しくはHive Busにあります。

入れる前の門​

外から入れる物は、どれも入れる前の門を通します。中心は、スキルと同じ 5 段の確認です(スキル)。

段すること
① 出どころ元のリポジトリ・作者・commit と tree SHA・署名・ライセンス・前の版との差を見る
② 静的な点検手元で決まった項目を流す。中身を外に送らない
③ AI の読み取り書いた AI と別のモデルが、全部のファイルを信用しないデータとして読む
④ サンドボックスでの試行鍵の無い使い捨ての VM・Docker・WSL の中で動かし、触ったファイルと出ようとした通信を宣言と比べる
⑤ 人の承認確認のカードに、要点・危ない所・許す事を 1 枚で出す。AI の承認は数えない
入れる物門詳しく
スキル5 段。T0〜T2 は通れば自動、公開の物は人の承認、スクリプトか hooks を持つ物は既定で入れないスキル
MCP のサーバー5 段。「読む」と「外へ送る」がそろう組み合わせは止めるつなぐ・MCP・プラグイン
プラグイン5 段に、権限の宣言と署名を足すつなぐ・MCP・プラグイン
テーマ18 の項目の点検。人からもらった物は、5 段の全部と確認のカードテーマ・キャラクター・遊びのモード
npm などの依存名前の似た偽物と、OSV の悪い部品の記録(MAL- で始まる番号)を確かめる。依存の宣言とロックのファイルを変える PR は人が押すPR の地図とマージ
  • リポジトリの中にあるスキルは、そのフォルダーでハーネスを開く前に点検に通します。
  • ハーネスの側でも、危ない機能を既定で止めます。例えば Claude Code では、スキルの中の命令の実行を切ります(スキル)。

署名​

物署名と確かめ
BeesBuild のインストーラー(Windows)OV 証明書で署名する。クラウドの HSM に置いた鍵で、CI から Tauri の signCommand を使って署名する
Mac 版Developer ID の証明書で署名し、Apple による確認(notarization)を通す ベータ版の後
プラグイン発行者を確かめて署名する。市場の物は、署名と審査が無いと入らない ベータ版の後
テーマを配る包み(.bbtheme)全部のファイルの sha256 を書いた MANIFEST.sha256 と、作った道具の版と時刻を書いた ORIGIN.json を付ける。署名は後で足す ベータ版の後
スキル版と digest(中身の指紋)を lock のファイルに書く。取り消した版は二度と入れない(スキル)
ハーネスの本体同梱しない。各社の公式の入れ方で入れ、Claude Code は安定版の流れと下限の版で固定する(入れ方)

Microsoft のクラウドの署名の仕組みは、調べた時点では日本の組織が対象外でした。だから OV 証明書を使います。Microsoft Store(MSIX)で配る形も比べています。確認中

プラグインの隔離​

プラグインは、BeesBuild と別のプロセスで動き、鍵を持ちません。外への通信は宣言した先だけで、宣言に無い先へ出ようとした物は検査で止めます。問題が出たら、全部の PC から遠隔で止めます。公開の市場では悪い動きをするスキルが配られた例があるので、BeesBuild の市場は、そういう物が来る前提で作ります(つなぐ・MCP・プラグイン)。

専用の環境​

ブラウザーと画面の操作と、スキルの試しは、仕事ごとに新しく作って消す専用の環境で動かします。

決まり中身
毎回まっさら仕事ごとに作って消す。ログインもプロフィールも残さない
root で動かさない別の利用者で動かし、ルートのファイルは読むだけ
PC のフォルダーをつながない受け渡しのフォルダーだけをつなぐ
資格を入れない鍵と会話はコアだけが持つ
出口を絞る許した送り先だけを通す。私的なアドレスとリンクローカルのアドレス(クラウドの資格を返す 169.254.169.254 など)へは出さない。名前を引くのは、コンテナーの中の決まった仕組みだけ
口を開けない中の部品とコアは、TCP の口を開けずに標準入出力でやり取りする

外のサイトを開く時は、公式の Playwright の Docker のイメージを、別の利用者・seccomp・Chromium のサンドボックスで固めて使います(ブラウザーと画面の操作)。

クラウドの蜂は、Anthropic のクラウドの Linux の箱で動きます。通信は許した送り先だけ(limited)にし、鍵は金庫にだけ置き、bash と push は毎回聞きます(クラウドの蜂)。

部品の守り​

見る物道具いつ
部品表(SBOM)Syft・npm sbom書き出す時
弱点osv-scanner。Rust は cargo-deny、PHP は composer auditPR ごと・毎晩
秘密の漏れgitleaksPR ごと
偽物と悪い部品OSV の MAL- の記録部品を足す時
ライセンスcargo-deny・cargo-about・generate-license-file部品を足す時
専用の環境のイメージ新しい版と弱点の知らせを見張る毎週

弱点の知らせは、使っている部品と突き合わせ、当たった物を人の番へ回します(監視と監査)。ライセンスの台帳は規約の線とライセンスにあります。

遠隔で止める​

悪いと分かったスキル・プラグイン・テーマは、全部のプロジェクト・全部のハーネス・全部の PC で、まとめて止めます。止める決まりを足す時は、確認のカードを通します(確認のカードと止める 3 段)。

データの型​

型中身
HbSkillCheck入れる前の確認の結果(5 段・札・使った道具の版)
HbStopRule止める決まり(NG のコマンド・触らない物・全部で止める)

次に読む​