Low Risk — Risk Score 25/100
Last scan:9 hr ago Rescan
25 /100
feishu-evolver-wrapper
Feishu集成的capability-evolver包装器,管理进化循环生命周期并发送飞书卡片报告
Feishu集成进化循环包装器,代码功能正常但使用new Function()处理LLM输出存在理论风险,属于合法的内部自动化工具
Skill Namefeishu-evolver-wrapper
Duration97.8s
Enginepi
Safe to install
可安全使用。建议将index.js中的new Function()回退替换为更安全的JSON解析方式,并补充SKILL.md中未声明的Git操作说明

Findings 3 items

Severity Finding Location
Medium
使用new Function()回退解析JSON RCE
当JSON.parse()解析sessions_spawn payload失败时,代码使用new Function()作为回退机制。虽然有control character过滤,但理论上仍可执行任意代码。
const parsed = new Function('return (' + sanitized + ')')();
→ 建议使用更安全的JSON5解析库或regex提取替代new Function()
index.js:1220
Low
SKILL.md未声明实际能力 Doc Mismatch
SKILL.md仅提及'Feishu报告'和'生命周期管理',但代码实际执行Git同步、子进程管理、凭证访问等操作
description仅声明wrapper功能,未提及gitSync/gitPull/gitPush
→ 更新SKILL.md声明filesystem:WRITE和shell:WRITE权限,明确Git操作范围
SKILL.md:1
Low
eval模式用于处理LLM输出 Obfuscation
代码包含针对LLM生成松散语法的容错解析逻辑,添加括号强制表达式上下文
// Wrap in parentheses to force expression context
→ 这是处理LLM输出的合理工程实践,但应在文档中说明
index.js:1195
ResourceDeclaredInferredStatusEvidence
Filesystem NONE WRITE ✗ Violation index.js:多处fs.readFileSync/fs.writeFileSync
Shell NONE WRITE ✗ Violation index.js:340 execWithTimeout调用git命令; lifecycle.js:多处execSync
Network READ WRITE ✗ Violation feishu-helper.js:向open.feishu.cn发送报告
Environment NONE READ ✗ Violation 多处读取FEISHU_APP_ID/OPENCLAW_MASTER_ID等环境变量
3 findings
🔗
Medium External URL 外部 URL
https://open.feishu.cn/open-apis/docx/v1/documents/$
export_history.js:76
🔗
Medium External URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=
feishu-helper.js:90
🔗
Medium External URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/chats?page_size=100$
report.js:260

File Tree

24 files · 190.7 KB · 4554 lines
JavaScript 19f · 4452L Shell 1f · 47L Markdown 2f · 41L JSON 2f · 14L
├─ 📁 utils
│ ├─ 📜 dashboard-generator.js JavaScript 127L · 4.0 KB
│ ├─ 📜 logger.js JavaScript 33L · 926 B
│ └─ 📜 sleep.js JavaScript 15L · 402 B
├─ 📋 _meta.json JSON 5L · 141 B
├─ 📜 check_health.js JavaScript 77L · 2.4 KB
├─ 📜 cleanup.js JavaScript 51L · 1.6 KB
├─ 📜 commentary.js JavaScript 37L · 1.6 KB
├─ 🔧 daemon.sh Shell 47L · 1.5 KB
├─ 📜 exec_cache.js JavaScript 25L · 803 B
├─ 📜 export_history.js JavaScript 99L · 3.4 KB
├─ 📜 feishu-helper.js JavaScript 105L · 3.0 KB
├─ 📜 index.js JavaScript 1706L · 86.2 KB
├─ 📜 issue_tracker.js JavaScript 163L · 5.2 KB
├─ 📜 lifecycle.js JavaScript 837L · 33.7 KB
├─ 📋 package.json JSON 9L · 208 B
├─ 📝 README.md Markdown 10L · 287 B
├─ 📜 report.js JavaScript 578L · 23.0 KB
├─ 📜 self-repair.js JavaScript 59L · 1.9 KB
├─ 📜 send-card-cli.js JavaScript 31L · 1.0 KB
├─ 📝 SKILL.md Markdown 31L · 1.3 KB
├─ 📜 skills_monitor.js JavaScript 170L · 5.9 KB
├─ 📜 trigger.js JavaScript 12L · 410 B
├─ 📜 visualize_dashboard.js JavaScript 192L · 7.2 KB
└─ 📜 weekly_insight.js JavaScript 135L · 4.7 KB

Dependencies 3 items

PackageVersionSourceKnown VulnsNotes
evolver file:../evolver local No 本地依赖,无版本锁定
feishu-common file:../feishu-common local No 本地依赖,飞书SDK封装
commander * npm No CLI参数解析,无已知漏洞

Security Positives

✓ 包含secret扫描防护(feishu-helper.js:34),防止凭证泄露
✓ 使用execWithTimeout限制命令执行时间,防止无限阻塞
✓ 包含去重机制防止重复报告(feishu-helper.js:LOG_DEDUP)
✓ 有circuit breaker和backoff防止资源耗尽
✓ Daemon使用PID文件确保单例运行
✓ Git操作使用绝对路径避免路径注入