Skill Trust Decision

agile-workflow

硬编码用户目录路径 + 文档-实现严重偏离 + CORS 全开放,工具伪装成通用工作流但实际绑定特定用户环境,权限声明宽泛但未披露关键设计细节。

Install decision first Source: ClawHub Scanned: Apr 6, 2026
Files 140
Artifacts 3
Violations 4
Findings 6
Most direct threat evidence

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

4 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Review
Dependencies and supply chain hygiene

2 dependency or supply-chain issues need attention.

What drove the risk score up

硬编码用户目录路径 +15

所有核心模块硬编码 /home/ubutu/ 路径,工具伪装成通用但实际绑定特定用户环境

文档-实现严重偏离 +12

SKILL.md 描述通用敏捷工作流,代码却包含大量未声明的 novel_architect/novel_writer/novel_editor 专用 Agent 逻辑

CORS 全开放 +5

dashboard/server.js CORS origin: '*',暴露 API 给任意来源

文档中存在危险命令 +5

docs/DELIVERY-CHECKLIST.md:256 包含 rm -rf / 危险命令,虽在文档中非代码但需审查来源

process.kill SIGKILL 强制终止 +5

global-process-manager.js 使用 SIGKILL 强制杀死进程,可能导致数据丢失

Most important evidence

Medium Doc Mismatch

硬编码用户目录路径

所有核心 JS 文件(task-scheduler.js, agent-process-pool.js, submit-report.js 等)硬编码 /home/ubutu/ 绝对路径,SKILL.md 完全未提及此设计约束,工具伪装成通用但实际只能运行在特定用户环境中。

core/task-scheduler.js:13
将所有路径改为环境变量或配置文件读取,不要硬编码用户目录
Medium Doc Mismatch

文档未披露专用 Agent 类型

SKILL.md 描述通用敏捷工作流引擎,但代码中 hardcode novel_architect/novel_writer/novel_editor 等小说创作专用 Agent 类型,且未在任何文档中声明。

core/agent-process-pool.js:63
SKILL.md 应明确声明这是小说创作专用工作流引擎及其支持的 Agent 类型
Medium Sensitive Access

Dashboard CORS 全开放

dashboard/backend/server.js 中 CORS 配置为 origin: '*',允许任意来源访问任务/Agent 管理 API(包括 start/stop Agent),存在 CSRF 和接口滥用风险。

dashboard/backend/server.js:63
限制 CORS 到受信任的域名,不要使用通配符
Low RCE

agent-process-pool.js 动态加载外部模块

agent-process-pool.js 尝试从多个路径动态加载 FileManager/ModelConstraintInjector/ModelActionLogger 模块,失败时有备用方案,但动态加载机制本身增加了供应链风险。

core/agent-process-pool.js:23
使用 package.json 声明依赖,不要动态路径拼接
Low Priv Escalation

pkill 进程清理可能误杀关键进程

cleanupStaleProcesses 使用 pkill -f 杀死匹配 Agent 类型的进程,如果模式匹配宽泛可能误杀其他合法进程。

core/agent-process-pool.js:49
使用更精确的进程匹配模式,避免误杀
Info Sensitive Access

文档中存在危险 shell 命令

docs/DELIVERY-CHECKLIST.md:256 包含 'rm -rf /' 命令,虽在 Markdown 文档中非可执行代码,但该命令来源和存在目的需人工审查确认非恶意注入。

docs/DELIVERY-CHECKLIST.md:256
删除文档中的危险命令,该命令无任何合理用途

Declared capability vs actual capability

Filesystem Block
Declared NONE
Inferred WRITE
多个文件多处写入状态文件、经验库、Agent 输出
Shell Block
Declared NONE
Inferred WRITE
task-scheduler.js:157 exec()调用外部CLI; agent-process-pool.js:298 spawn()创建子进程; cleanupStaleProcesses pkill
Environment Block
Declared NONE
Inferred READ
task-scheduler.js 环境变量注入 OPENCLAW_TASK_ID 等
Network Block
Declared NONE
Inferred WRITE
dashboard/server.js 暴露 REST API + WebSocket,CORS 全开放

Suspicious artifacts and egress

Critical Dangerous Command
rm -rf /

docs/DELIVERY-CHECKLIST.md:256

Medium External URL
https://opencollective.com/ioredis

package-lock.json:77

Medium External URL
https://clawhub.com/skills/agile-workflow

package.json:39

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
ioredis ^5.10.0 npm No 无已知漏洞,Redis 客户端
express * npm (dashboard) No dashboard/backend 未声明但被 require
socket.io * npm (dashboard) No dashboard/backend 未声明但被 require

File composition

140 files · 51586 lines
JavaScript 66 files · 26974 linesMarkdown 64 files · 23522 linesHTML 1 files · 669 linesJSON 7 files · 329 linesShell 2 files · 92 lines
Files of concern · 4
docs/ADD-v7.18-Token 超限修复.md Markdown · 414 lines
docs/ADD-v7.22-Token 超限紧急修复.md Markdown · 299 lines
core/token-counter.js JavaScript · 141 lines
core/agent-process-pool.js JavaScript · 745 lines
文档未披露专用 Agent 类型 · agent-process-pool.js 动态加载外部模块 · pkill 进程清理可能误杀关键进程
Other files · health-check-v2.js · health-check.js · self-healing-monitor.js · agile-workflow-engine-v5.js · ADD-v7.0-并发安全架构.md · test-framework.js +2

Security positives

全局进程数限制(MAX_TOTAL_AGENTS=5),防止资源耗尽
进程池单实例锁机制,防止多实例竞争
产出物验证机制(文件存在性+内容有效性)
Agent 并发分组控制(novel_architect 串行,novel_editor 并发=2)
Token 计数和自动分片机制设计合理
无 base64 编码、eval、裸 IP 请求等明显恶意模式
无凭证收割、外传数据、外部 C2 通信行为