Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
agentbox — オープンソースのサンドボックス化されたAIエージェント向けランタイム — gVisor/Docker分離、認証情報ボールト、不変監査ログ。CVE-2026-25253後に構築。 | Kitploit
ツール/GitHubGitHub/siyad01/agentbox
クラウドインフラストラクチャセキュリティコンテナセキュリティ暗号化/復号化ツールセキュリティ仮想化DevSecOpsアイデンティティ&アクセス管理 (IAM)
GitHubsiyad01/agentbox

agentbox

オープンソースのサンドボックス化されたAIエージェント向けランタイム — gVisor/Docker分離、認証情報ボールト、不変監査ログ。CVE-2026-25253後に構築。

リポジトリを見る
3ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🛡️ AgentBox

AIエージェント向けオープンソースのサンドボックスランタイム

AIエージェントを自信を持って実行。各エージェントには独自の権限スコープ、認証情報ボールト、監査証跡、キルスイッチが付与されます。

Build License: Apache 2.0 Go Version Tests Platform


AgentBoxが存在する理由

2026年1月27日、CVE-2026-25253 はエージェント型AIシステムに割り当てられた初のCVEとなりました。OpenClawの重大なWebSocketハイジャック脆弱性により、公開されたインスタンス(localhostにのみバインドされたものを含む)に対してワンクリックでリモートコード実行が可能になりました。

同じ週に、ClawHavocキャンペーンは341以上の悪意のあるスキルをOpenClawのマーケットプレイスに侵入させました。ClawHubからインストールされたすべてのスキルは、OpenClaw自体と同じ権限(フルディスクアクセス、OAuthトークン、APIキー)で実行されました。サンドボックスなし。監査証跡なし。キルスイッチなし。

「ClawHubからスキルをインストールすると、OpenClaw自体と同じリソースへのアクセスが付与されます。デフォルトではスキル間にサンドボックス分離はありません。」 — DEV Community セキュリティ分析、2026年4月

数字で見る現状:

  • 2026年だけでOpenClawで138件以上のCVE
  • 82か国で135,000以上の公開インスタンス
  • 341件の確認済み悪意のあるスキル(レジストリ全体の12%)
  • 150万件のエージェントAPIトークンが平文で流出
  • Microsoft: 「標準的な個人用または企業用マシンで実行することは適切ではありません。」

AgentBoxは構造的な修正です。パッチではなく、ランタイムです。


AgentBoxが行うこと

実行する各エージェントには以下が付与されます:

root@kitploit:~
AgentBox導入前                    AgentBox導入後
─────────────────                  ──────────────
エージェント → フルディスク ❌     エージェント → 許可されたパスのみ ✅
エージェント → 全ネットワーク ❌   エージェント → 許可されたホストのみ ✅
エージェント → 生のシークレット ❌ エージェント → スコープ付きトークン ✅
監査証跡なし ❌                    すべてのアクションを記録 ✅
キルスイッチなし ❌                100ms未満でキル ✅
スキルはrootで実行 ❌             カーネル分離サンドボックス ✅

クイックスタート

root@kitploit:~
# インストール
go install github.com/siyad01/agentbox/cmd/agentbox@latest

# 実行前にマニフェストを検証
agentbox validate manifests/email-sorter.yaml

# サンドボックスでエージェントを実行
agentbox run --manifest manifests/email-sorter.yaml python agent.py

# エージェントが行ったことを確認
agentbox audit --log logs/email-sorter-audit.log

# ログが改ざんされていないことを検証
agentbox verify logs/email-sorter-audit.log

# シークレットを管理
agentbox vault add ANTHROPIC_API_KEY
agentbox vault list

マニフェスト

各エージェントは必要なものだけを正確に宣言します。リストにないものにはアクセスできません。

root@kitploit:~
name: "email-sorter"
version: "1.0.0"
description: "受信トレイを読み取り、メールを分類し、仕分けフォルダに書き込む"
runtime: docker        # または: gvisor (カーネルレベル), firecracker (MicroVM)

permissions:
  filesystem:
    read:
      - "~/Documents/inbox"
    write:
      - "~/Documents/sorted"
    deny:                      # 読み取りリストにあっても常にブロック
      - "~/.ssh"
      - "~/.aws"
      - "~/.config"
      - "/etc"

  network:
    allow:
      - "api.anthropic.com"
      - "gmail.googleapis.com"
    deny:
      - "*"                    # それ以外はすべてブロック

  tools:
    allow:
      - "read_file"
      - "write_file"
      - "list_*"
    deny:
      - "execute_shell"        # シェルアクセスは一切不可
      - "*_delete"             # 削除ツールは不可

  credentials:
    - ANTHROPIC_API_KEY        # 実行時にボールトから注入
    - GMAIL_TOKEN              # エージェントは生の値を決して見ない

limits:
  max_tokens:    50000         # LLMトークン予算
  max_duration:  "30m"         # 30分後にキル
  max_memory_mb: 256           # RAM上限
  max_requests:  500           # 最大ツール呼び出し回数

audit:
  log_level: full
  alert_on:
    - filesystem_deny
    - network_deny
    - token_budget_80pct
  log_path: "logs/email-sorter-audit.log"

仕組み

root@kitploit:~
agentbox run --manifest agent.yaml python agent.py
         │
         ▼
┌─────────────────────────────────────────────────────┐
│                 ポリシーエンジン                      │
│  マニフェスト解析 → 許可/拒否リストを構築            │
│  署名を検証 → 未署名スキルを拒否                     │
│  ボールトから認証情報を注入                          │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              分離レイヤー                             │
│                                                     │
│  Docker  → コンテナ + seccomp + cap-drop            │
│  gVisor  → ユーザースペースカーネル、システムコール傍受│
│  Firecracker → エージェントごとに専用MicroVMカーネル  │
│                                                     │
│  ファイルシステム: 宣言されたパスのみマウント        │
│  ネットワーク:    宣言されたホストのみ到達可能       │
│  ケーパビリティ: すべて破棄、追加なし                │
└──────────────────────┬──────────────────────────────┘
                       │
          ┌────────────┼────────────┐
          ▼            ▼            ▼
   監査ロガー     認証情報      リソース
   (ハッシュチェーン) ボールト      モニター
   すべてのアクション  AES-256-GCM  自動キル
   を記録            スコープ付きトークン 制限時

gVisorがプロンプトインジェクションを阻止する理由

他のサンドボックスはコンテナ境界で止まります。カーネル脆弱性を悪用するエージェントは脱出できます。

gVisorはすべてのシステムコールをホストカーネルに到達する前に傍受します:

root@kitploit:~
エージェントの試み: write("/home/user/.ssh/id_rsa")
                    │
                    ▼
         gVisorユーザースペースカーネル
                    │
         拒否リストにパスがある? → YES
                    │
                    ▼
         EPERMが即座に返される
         ホストカーネルはこのシステムコールを決して見ない
         プロンプトインジェクションはこの層を越えられない

CLIリファレンス

root@kitploit:~
agentbox <command> [options]

コマンド:
  run       サンドボックスでエージェントを実行
  validate  マニフェストファイルを検証
  kill      実行中のエージェントを終了
  audit     エージェントの監査ログを表示
  verify    監査ログの整合性を検証
  vault     暗号化された認証情報を管理
  serve     REST APIサーバーを起動
  version   バージョンを表示

例:
  agentbox validate manifests/email-sorter.yaml
  agentbox run --manifest manifests/email-sorter.yaml python agent.py
  agentbox kill agent-abc123
  agentbox audit --log logs/email-sorter.log --deny
  agentbox audit --log logs/email-sorter.log --last 1h
  agentbox verify logs/email-sorter.log
  agentbox vault add ANTHROPIC_API_KEY
  agentbox vault list
  agentbox vault delete OLD_KEY
  agentbox serve :8081

REST API

agentbox serve で起動します(デフォルト: :8081)。


root@kitploit:~
# 実行中のエージェントを一覧表示
curl http://localhost:8081/api/agents

# エージェントを起動
curl -X POST http://localhost:8081/api/agents \
  -H "Content-Type: application/json" \
  -d '{"manifest":"manifests/email-sorter.yaml","command":["python","agent.py"]}'

# エージェントをキル
curl -X DELETE http://localhost:8081/api/agents/abc123

# 監査ログを照会
curl "http://localhost:8081/api/audit?deny=true&agent=email-sorter"

監査ログ

すべてのエージェントアクションは、追記専用でハッシュチェーン化されたJSON Linesファイルに記録されます:

root@kitploit:~
{"id":1,"hash":"a3f2...","prev_hash":"genesis","timestamp":"2026-05-05T09:00:00Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"agent_start","allowed":true,"resource":"manifests/email-sorter.yaml"}
{"id":2,"hash":"b7c1...","prev_hash":"a3f2...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_allow","allowed":true,"resource":"read:/home/user/Documents/inbox/mail.txt","rule":"filesystem.read: ~/Documents/inbox"}
{"id":3,"hash":"d9e4...","prev_hash":"b7c1...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_deny","allowed":false,"resource":"read:/home/user/.ssh/id_rsa","rule":"filesystem.deny: ~/.ssh","reason":"path is explicitly denied"}

改ざん検知:

root@kitploit:~
agentbox verify logs/email-sorter-audit.log

✅ 監査ログは無傷です
   エントリ: 47 (ID 1–47)
   ハッシュチェーン: 途切れなし

どのエントリの1文字でも変更すると、検証は即座に失敗します — チェーンが壊れるからです。


認証情報ボールト

root@kitploit:~
# シークレットを保存(ログに記録されず、環境変数に平文で置かれない)
agentbox vault add ANTHROPIC_API_KEY

# 保存された認証情報名を一覧表示(値は決して表示されない)
agentbox vault list

# 認証情報が復号できることを検証
agentbox vault test ANTHROPIC_API_KEY

# 認証情報をローテーション
agentbox vault add ANTHROPIC_API_KEY   # addは既存を更新

認証情報はAES-256-GCMで暗号化されます。マスターキーはボールトパスワードから導出され、ディスクに保存されることはありません。エージェント起動時に、AgentBoxは認証情報をスコープ付き環境変数として注入します。エージェントは通常どおり os.getenv("ANTHROPIC_API_KEY") を呼び出します — ボールトには触れません。


リソース制限

AgentBoxは宣言された制限を超えたエージェントをキルします:

root@kitploit:~
# このエージェントは max_duration: 5s で設定されています
agentbox run --manifest manifests/timeout-test.yaml python long_running_agent.py

Agent started
tick 1
tick 2
tick 3
tick 4
tick 5
🛑 Killing agent timeout-test: duration limit exceeded: 5s
⚠️  Agent timeout-test exited code 137 in 5.2s

終了コード137 = SIGKILL。クリーンなシャットダウン、最終監査エントリが書き込まれます。


ソースからビルド

root@kitploit:~
# クローン
git clone https://github.com/siyad01/agentbox
cd agentbox

# ビルド
go build -o agentbox ./cmd/agentbox/

# テストを実行(27テスト、すべて成功)
go test ./...

# グローバルにインストール
go install ./cmd/agentbox/

要件:

  • Go 1.26+
  • Docker(DockerおよびgVisorバックエンド用)
  • Linuxカーネル5.15+(gVisor用 — 自動検出され、Dockerにフォールバック)

プロジェクト構造

root@kitploit:~
agentbox/
├── cmd/agentbox/main.go          ← CLIエントリポイント
├── internal/
│   ├── policy/
│   │   ├── manifest.go           ← YAMLマニフェストスキーマ
│   │   ├── parser.go             ← 検証 + デフォルト値
│   │   └── engine.go             ← 拒否優先の決定エンジン(20テスト)
│   ├── audit/
│   │   ├── logger.go             ← 追記専用SHA-256ハッシュチェーンログ
│   │   ├── verifier.go           ← 改ざん検知
│   │   └── reader.go             ← 照会 + フィルタ
│   ├── vault/
│   │   ├── store.go              ← AES-256-GCM暗号化認証情報ストア
│   │   └── injector.go           ← 実行時注入(7テスト)
│   ├── sandbox/
│   │   ├── sandbox.go            ← Sandboxインターフェース
│   │   ├── docker.go             ← Dockerバックエンド
│   │   ├── gvisor.go             ← gVisorバックエンド(カーネルレベル)
│   │   ├── manager.go            ← エージェントライフサイクル管理
│   │   └── util.go               ← WSL2検出、パスヘルパー
│   ├── monitor/
│   │   └── enforcer.go           ← リソース制限 + 自動キル
│   └── api/
│       └── server.go             ← :8081のREST API
└── manifests/
    ├── email-sorter.yaml         ← 本番用の例
    └── timeout-test.yaml         ← 制限強制の例

セキュリティモデル

デフォルトで拒否優先。 エージェントはゼロ権限で開始します。すべてのケーパビリティは明示的に宣言する必要があります。

拒否リストが常に優先。 パスが読み取りリストと拒否リストの両方にある場合でも、拒否リストが優先されます。例外はありません。

gVisorによるカーネルレベルの強制。 seccompフィルタとケーパビリティ破棄はシステムコール境界で動作します。攻撃者が制御可能なモデル出力はユーザースペースで実行され、カーネルレベルのポリシーを変更できません。

認証情報の分離。 ボールトのマスターキーはディスクに保存されません。認証情報はサンドボックス起動時に短命のスコープ付きトークンとして注入され、終了時に破棄されます。エージェントプロセスの侵害は認証情報ボールトの侵害にはつながりません。

不変の監査証跡。 SHA-256ハッシュチェーンにより、事後的なログ改変が検出可能です。どのエントリの変更も、その時点以降のチェーンを壊します。

脆弱性の報告については SECURITY.md を参照してください。


比較


ロードマップ

  • Firecracker MicroVMバックエンド(エージェントごとに専用Linuxカーネル)
  • eBPFシステムコール監視(リアルタイム行動分析)
  • OPA/Regoポリシー・アズ・コード(Gitでの複雑なルールセット)
  • Prometheusメトリクスエンドポイント
  • AgentBox Cloud(マネージドホスティング、SOC2対応)
  • マニフェスト署名(Ed25519、来歴検証)
  • DLP(データ損失防止 — エージェント出力のPIIスキャン)

コントリビューション

CONTRIBUTING.md を参照してください。

ライセンス

Apache 2.0 — 自由に使用、変更、配布できます。LICENSE を参照してください。


Goで構築 · コアセキュリティ機能に外部依存ゼロ · ワンコマンドでセルフホスト可能

CVE-2026-25253が気になったなら、これが修正です。⭐を付けてください

ツールをダウンロード
保護仕組み
ゼロトラスト権限エージェントは必要なものだけを正確に宣言します。それ以外にはアクセスできません。
カーネルレベルの分離gVisorがすべてのシステムコールを傍受します。プロンプトインジェクションはこの境界を越えられません。
認証情報ボールトAES-256-GCM暗号化。エージェントは生のシークレットを決して見ません。スコープ付きトークンのみです。
不変の監査ログSHA-256ハッシュチェーン。すべてのアクションが記録されます。改ざん検知可能です。
キルスイッチ100ms未満で任意のエージェントを終了。制限違反時は自動キル。
リソース制限時間、メモリ、リクエスト数 — 設定時ではなく実行時に強制されます。
メソッドエンドポイント説明
GET/healthヘルスチェック
GET/dashboardWebダッシュボード
GET/api/agents全エージェントを一覧表示
POST/api/agents新しいエージェントを起動
DELETE/api/agents/:idエージェントをキル
GET/api/audit監査ログを照会
機能AgentBoxOpenClawサンドボックスDockerのみAccuKnox
オープンソース(Apache 2.0)✅✅✅❌
セルフホスト可能✅✅✅K8sのみ
gVisor / カーネル分離✅❌❌✅
認証情報ボールト✅❌❌✅
不変の監査ログ✅❌❌✅
制限違反時の自動キル✅❌❌✅
フレームワーク非依存✅❌ (OpenClawのみ)✅✅
単一バイナリ展開✅❌✅❌