安全扫描
OpenClaw
可疑
high confidence该包实现了所宣传的对抗辩论引擎,但包含几个不成比例或危险的元素(硬编码的 API key、通过 subprocess 任意执行 Python、访问本地工作区文件、以及暴露的 Web/Socket 服务器),在安装或运行前需要谨慎。
评估建议
安装或运行前的关键要点:- 不要在包含敏感数据的机器上运行此引擎:它会在 /home/admin/.openclaw/workspace(知识库和数据库)下进行读写,并通过 subprocess 执行任意 Python 代码,完全访问主机文件系统和网络。- 将代码中的 DEFAULT_API_KEY 视为密钥泄露或无效占位符:移除它并配置正确的密钥管理(使用安全的密钥路由器或环境变量),并在允许网络访问前验证外部 BASE_URL 端点。- 声称的「沙箱」不是真正的沙箱:生成的代码使用系统 Python 运行,可以执行 I/O、打开套接字或读取环境变量。如果需要测试,请在具有严格文件系统和网络限制的隔离 VM 或容器中运行该技能。- 服务器暴露了 HTTP/WebSocket 端点;确认端口和主机设置,并在启动前限制访问(绑定到 localhost 或使用防火墙)。- 验证和/或移除任何引用共享工作区位置的 sys.path 插入,以避免意外访问其他技能或凭据。- 如果必须使用此代码,请审计和/或修改 CodeSandbox.run_safely 方法以实施更严格的隔离(例如容器化执行...详细分析 ▾
ℹ 用途与能力
代码和 SKILL.md 整体上与所述目的(多模型对抗辩论、代码沙箱、向量检索、WebSocket 推送)一致。然而,实现引用了 /home/admin/.openclaw/workspace 下的特定本地路径,在源代码中嵌入了 DEFAULT_API_KEY,并指向外部 BASE_URL — 这些在 SKILL.md 中没有文档化,对于开箱即用的技能来说出乎意料。
⚠ 指令范围
SKILL.md 描述了代码沙箱和 WebSocket API(连贯),但没有说明运行时写入临时文件、生成运行任意 Python 代码的子进程、读取本地知识库或将结果持久化到本地数据库的能力。README 中的服务器/WebSocket 端点和示例主机/端口与代码中的服务器默认值不一致。指令授予代理生成和执行代码的权限,但没有提供运行时安全约束。
✓ 安装机制
没有下载或执行远程归档的安装规范;所有代码都打包提供。没有使用包管理器下载或外部安装程序 — 与 URL 下载相比,这降低了供应链风险。
⚠ 凭证需求
该技能没有声明环境变量请求,但 async_engine.py 和 engine.py 都硬编码了 DEFAULT_API_KEY 和 BASE_URL。代码还尝试在存在时使用本地 api_key_manager(sys.path 插入到 /home/admin/.openclaw/workspace/multi_agent_engine)。硬编码密钥、可选密钥路由器集成和没有明确密钥管理的组合是不成比例且危险的。代码还在 /home/admin/.openclaw(知识库和数据库)下进行读写,这授予了对 SKILL.md 中未提及的本地数据的访问权限。
ℹ 持久化与权限
always:false(良好)。该技能创建本地 SQLite 数据库并引用持久化工作区路径;它可以运行 HTTP/WebSocket 服务器并生成后台任务。它没有声明 'always:true' 或请求修改其他技能,但如果启动可能会在工作区下留下持久化状态并打开网络端点。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv2.0.12026/4/2
- 提高了 async_engine.py 和 engine.py 的稳定性和内部逻辑。- 为提高性能和可维护性进行了小幅代码重构。- 外部 API 或文档无变化。
● Pending
安装命令 点击复制
官方npx clawhub@latest install openclaw-adversarial-engine
镜像加速npx clawhub@latest install openclaw-adversarial-engine --registry https://cn.clawhub-mirror.com
技能文档
核心能力
| 能力 | 说明 |
|---|---|
| 🎭 四模型对抗 | 架构师/工程师/安全官/仲裁者真实协作 |
| 🔧 代码沙箱 | 工程师生成代码 → Python执行验证 |
| 📚 向量检索 | 对话前检索知识库,避免假数据 |
| ⚖️ 收敛判断 | 仲裁者动态判断,避免无限循环 |
| 🔄 断点续传 | 中断后可恢复辩论 |
| 📡 WebSocket | 实时推送辩论进度 |
四模型配置
| 角色 | 模型 | 职责 |
|---|---|---|
| 🏗️ 架构师 | qwen3.5-plus | 方案生成 |
| 🔧 工程师 | qwen3-coder-plus | 代码实现+验证 |
| 🔍 安全官 | kimi-k2.5 | 漏洞攻击 |
| ✅ 仲裁者 | MiniMax-M2.5 | 收敛判断 |
执行流程
用户输入
↓
[1] 向量检索 → 知识库增强
↓
[2] 架构师 → 提出方案
↓
[3] 工程师 → 生成代码 → Python沙箱执行
↓
[4] 安全官 → 攻击漏洞
↓
[5] 仲裁者 → 收敛判断
↓
[6] 未收敛 → 返回[2]继续
↓
已收敛
[7] 保存结论 → 知识库固化
API接口
启动对抗
from adversarial_engine import AdversarialEngineengine = AdversarialEngine()
session = engine.run_debate(
topic="如何设计高并发CNC报价系统?",
max_rounds=5,
enable_code_sandbox=True,
enable_vector_search=True
)
WebSocket实时推送
ws://host:8083/ws → 实时推送每轮辩论内容
文件结构
adversarial-engine/
├── SKILL.md # 本文件
├── engine.py # 核心引擎
├── code_sandbox.py # Python沙箱
├── vector_enhancer.py # 向量检索增强
├── ws_server.py # WebSocket服务
└── database.py # 数据持久化
🦫 海狸 | 靠得住、能干事、在状态
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制