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

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🛡️ 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 的功能

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

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"        # 永远不允许 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"

工作原理

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 用户空间内核
                    │
         路径在拒绝列表中?→ 是
                    │
                    ▼
         立即返回 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)
   哈希链:未中断

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


凭据保险库

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 沙箱仅 DockerAccuKnox
开源(Apache 2.0)✅✅✅❌
可自托管✅✅✅仅 K8s
gVisor / 内核隔离✅❌❌✅
凭据保险库✅❌❌✅
不可变审计日志✅❌❌✅
超限自动终止✅❌❌✅
框架无关✅❌(仅 OpenClaw)✅✅
单二进制部署✅❌✅❌