Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

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 构建。

查看仓库
1244个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🛡️ 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 令牌以明文形式暴露
  • 微软:"在标准个人或企业机器上运行它是不合适的。"

AgentBox 是结构性的修复方案。不是补丁——而是一个运行时。


AgentBox 的功能

你运行的每个代理都能获得:

保护措施实现方式
零信任权限代理精确声明其所需内容。其他一切均不可访问。
内核级隔离gVisor 拦截每个系统调用。提示注入无法跨越此边界。
凭据保险库AES-256-GCM 加密。代理永远看不到原始机密——只能看到作用域令牌。
不可变审计日志SHA-256 哈希链。每个操作都被记录。防篡改。
紧急终止开关在 100ms 内终止任何代理。超限时自动终止。
资源限制时间、内存、请求次数——在运行时强制执行,而非配置时。
使用 AgentBox 之前                    使用 AgentBox 之后
─────────────────                  ──────────────
代理 → 完全磁盘访问 ❌              代理 → 仅允许的路径 ✅
代理 → 所有网络 ❌                  代理 → 仅允许的主机 ✅
代理 → 原始机密 ❌                  代理 → 作用域令牌 ✅
无审计追踪 ❌                       每个操作都被记录 ✅
无紧急终止开关 ❌                   100ms 内终止 ✅
技能以 root 权限运行 ❌             内核隔离沙箱 ✅

快速开始

# 安装
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

清单

每个代理都精确声明其所需内容。未列出的内容均不可访问。

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"        # 永远不允许 shell 访问
      - "*_delete"             # 不允许删除工具

  credentials:
    - ANTHROPIC_API_KEY        # 运行时从保险库注入
    - GMAIL_TOKEN              # 代理永远看不到原始值

limits:
  max_tokens:    50000         # LLM 令牌预算
  max_duration:  "30m"         # 30 分钟后终止
  max_memory_mb: 256           # 内存上限
  max_requests:  500           # 最大工具调用次数

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

工作原理

agentbox run --manifest agent.yaml python agent.py
         │
         ▼
┌─────────────────────────────────────────────────────┐
│                 策略引擎                             │
│  解析清单 → 构建允许/拒绝列表                        │
│  验证签名 → 拒绝未签名的技能                         │
│  从保险库注入凭据                                    │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              隔离层                                  │
│                                                     │
│  Docker  → 容器 + seccomp + cap-drop                │
│  gVisor  → 用户空间内核,系统调用拦截                │
│  Firecracker → 每个代理专用的 MicroVM 内核           │
│                                                     │
│  文件系统:仅挂载声明的路径                          │
│  网络:   仅可访问声明的主机                         │
│  能力:   全部丢弃,不添加任何回退                   │
└──────────────────────┬──────────────────────────────┘
                       │
          ┌────────────┼────────────┐
          ▼            ▼            ▼
   审计日志器      凭据保险库    资源监控器
   (哈希链)       AES-256-GCM  自动终止
   每个操作       作用域令牌    超限时
   都被记录

为什么 gVisor 能阻止提示注入

其他所有沙箱都在容器边界处停止。利用内核漏洞的代理可以逃逸。

gVisor 在到达主机内核之前拦截每个系统调用:

代理尝试:write("/home/user/.ssh/id_rsa")
                    │
                    ▼
         gVisor 用户空间内核
                    │
         路径在拒绝列表中?→ 是
                    │
                    ▼
         立即返回 EPERM
         主机内核永远不会看到此系统调用
         提示注入无法跨越此层

CLI 参考

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)。

方法端点描述
GET/health健康检查
GET/dashboardWeb 仪表板
GET/api/agents列出所有代理
POST/api/agents启动新代理
DELETE/api/agents/:id终止代理
GET/api/audit查询审计日志

# 列出正在运行的代理
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 文件中:

{"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"}

篡改检测:

agentbox verify logs/email-sorter-audit.log

✅ 审计日志完整
   条目数:47(ID 1–47)
   哈希链:未中断

更改任何条目中的任何字符,验证将立即失败——链已断裂。


凭据保险库

# 存储机密(永不记录,永不作为环境变量明文)
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 会终止超出其声明限制的代理:

# 此代理配置了 max_duration: 5s
agentbox run --manifest manifests/timeout-test.yaml python long_running_agent.py
下载工具