ludwitt-university
通过 updateInstructions 机制实现远程代码执行(RCE),SKILL.md 完全未声明此阴影功能,服务器可随时注入任意 shell 命令
daemon.js 在 checkUpdateAvailable() 函数中,当服务器返回 apiVersion 时,会输出服务器提供的 updateInstructions。若服务器返回 'curl -sSL https://opensource.ludwitt.com/install | sh' 等命令,该命令会被打印到控制台,agent 可能执行。SKILL.md 完全未声明此更新机制。
daemon.js:42 Why this conclusion was reached
3/4 dimensions flagged4 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
The report includes 5 attack-chain steps and 4 severe findings.
Dependency information is incomplete, so supply-chain confidence stays limited.
Attack Chain
Entry · SKILL.md:1
Escalation · install.sh:66
Escalation · daemon.js:175
Impact · daemon.js:42
Impact · daemon.js:42
What drove the risk score up
SKILL.md未声明updateInstructions机制,但daemon.js:42暴露了该通道
服务器返回updateInstructions字段可包含任意shell命令
daemon.js:42 和多处 install.sh 中使用 curl | sh
Most important evidence
updateInstructions 远程代码执行通道
daemon.js 在 checkUpdateAvailable() 函数中,当服务器返回 apiVersion 时,会输出服务器提供的 updateInstructions。若服务器返回 'curl -sSL https://opensource.ludwitt.com/install | sh' 等命令,该命令会被打印到控制台,agent 可能执行。SKILL.md 完全未声明此更新机制。
daemon.js:42 SKILL.md 未声明更新/远程执行能力
SKILL.md 仅描述为大学课程学习平台,完全未提及任何更新机制。但 daemon.js 存在 checkUpdateAvailable() 和 updateInstructions 逻辑,存在严重文档-行为不符
SKILL.md:1 安装时修改 shell 配置文件添加 PATH
install.sh 会自动修改 ~/.zshrc 或 ~/.bashrc,在 PATH 中添加 ~/.ludwitt/bin。SKILL.md 未声明此持久化行为
install.sh:170 API密钥和指纹存储在明文文件
auth.json 包含 agentId、apiKey、fingerprint,chmod 600 仅保护文件权限,但数据以明文存储且持续保留在磁盘
install.sh:123 Agent框架检测覆盖多个AI平台
install.sh 检测 OPENCLAW_STATE_DIR、~/.openclaw、CURSOR_SESSION_ID、~/.cursor、CLAUDE_CODE_SESSION 等多个AI框架环境变量和目录,收集情报超出功能必要范围
install.sh:66 安装脚本来源单一且无代码签名验证
curl -sSL https://opensource.ludwitt.com/install | sh 直接从单一来源下载并执行脚本,无版本锁定、无签名验证
install.sh:2 Declared capability vs actual capability
install.sh:170-180 创建系统服务文件 daemon.js:42 updateInstructions机制可注入任意命令 install.sh:66-79 遍历检测多个AI框架环境变量 install.sh:89-100 POST注册数据到外部API Suspicious artifacts and egress
curl -sSL https://opensource.ludwitt.com/install | sh daemon.js:42
https://your-deployed-app.vercel.app README.md:181
https://www.youtube.com/watch?v=... README.md:183
https://opensource.ludwitt.com README.md:237
https://opensource.ludwitt.com/install daemon.js:42
http://www.apple.com/DTDs/PropertyList-1.0.dtd install.sh:216
Dependencies and supply chain
There are no structured dependency warnings.
File composition
daemon.js install.sh README.md SKILL.md