本文へ移動
AgentPassGitHubで見る

公開アーキテクチャ

任せて離れられる。
ただし、境界は残す。

AgentPassはmacOS上のCoding Agent操作を対象にしたearly alphaのOSS policy brokerです。署名鍵を渡さず、短期かつ範囲限定のcapabilityをAgentへ委譲します。

リクエスト経路

ひとつのrequest。
4つの境界。

AgentPassは操作を依頼するprocessと鍵を使えるcomponentを分離します。各handoffの役割を狭くし、拒否地点を明確にします。

01

Agent

ひとつの操作を依頼

Claude CodeやCursorなど、設定済みのAgentが範囲を限定したGit操作を依頼します。

02

ローカルBroker

コンテキストを検証

ローカルBrokerがrepository、branch、remote、Agent identity、sessionを特定します。

03

ネイティブ境界

最も狭い権限を適用

Endpointがlocal policy、Agent scope、capability、revocation stateを組み合わせて確認します。

04

ハードウェア保護Signer

署名または拒否

署名鍵は設定されたsecurity boundary内に残り、秘密鍵としてAgentへ返されることはありません。

信頼境界

役割を
分離する。

公開ページ、人間のcontrol、device request、private signing serviceは別々のsecurity surfaceです。ひとつの障害が別の権限へ変わってはいけません。

01

公開境界

Webサイトはanonymousかつcache可能で、organization dataやConsole cookieを持ちません。

02

人間の境界

Organization操作は認証済みの人間に属し、高risk変更にはrole checkと直近のstep-up認証を要求します。

03

Device境界

Requestを登録済みdevice、audience、timestamp、nonce、replay stateへbindingします。

04

Signer境界

Native modeでは設定済みEndpointのsigning boundaryだけが鍵を使用できます。BrowserやCloud componentへ秘密鍵bytesは渡りません。

Fail-closed設計

安全な経路は
意図的に狭い。

署名はgenericなtool callではありません。AgentPassはrequestを検証し、intentを記録し、local policyが正確な操作を許可した後だけ結果を返します。

  1. 01

    受信

    署名とtimestampを持つrequestをローカルBrokerが受け取ります。

  2. 02

    検証

    audience、nonce、Agent identity、session、Git contextを検証します。

  3. 03

    絞り込み

    global policyとAgent scopeを交差させ、最も狭い権限を採用します。

  4. 04

    記録

    鍵を使う前にaudit intentを永続化し、結果も返却前に記録します。

  5. 05

    判断

    欠落、期限切れ、失効、replay、不一致のいずれかがあれば拒否します。

設計上の範囲

有用な権限には
明確な端がある。

AgentPassはmacOS、Git SSH commit signing、明示的なrepository context、短期Agent sessionという小さなsecurity sliceから始めています。

支援できること

  • 範囲限定のGit commit signing
  • Repository、branch、remoteの確認
  • Agentにbindingした短期session
  • Local auditと緊急失効

対象外のこと

  • Password managerやsecret取得API
  • Git push credentialやSSH login
  • 汎用署名・code approval service
  • 認可済みprocess tree内部のmalwareからの完全隔離

Threat model、claims、non-claimsをまとめて確認しますか?

Securityを読む