安全决策报告

wip-ldm-os

合法的 AI Agent 操作系统管理工具,代码质量高(无外部依赖、安全删除模式),存在文档未声明的系统级操作(网络、LaunchAgent、crontab),预扫描危险 IOC 均在 Markdown 文档示例中,非实际执行代码。

安装决策优先 来源: ClawHub 扫描时间: 2026/4/6
文件 248
IOC 79
越权项 2
发现 5

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 5 个高危 IOC 或外联信号。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

文档未声明网络访问 +10

代码执行 git clone 和 npm install,但 SKILL.md 未声明 network:READ

文档未声明系统级修改 +10

代码管理 LaunchAgent、crontab、Claude Code settings、git hooks,SKILL.md 未覆盖

npm 依赖无版本锁定 +5

package.json 无 dependencies,无已知漏洞但存在供应链风险

rm -rf 出现在代码中 +3

在清理临时目录时使用,路径受限且有 dry-run 保护,轻微瑕疵

最关键的证据

低危 文档欺骗

网络访问未在 SKILL.md 声明

代码实际通过 git clone https://github.com/ 和 npm install 访问网络,但 SKILL.md allowed-tools 中未声明 network 资源。虽然对安装工具来说这是必要的,但应明确声明。

bin/ldm.js:260
在 SKILL.md allowed-tools 中添加 network:READ
低危 文档欺骗

LaunchAgent/crontab 管理未声明

代码通过 launchctl 和 crontab 管理 macOS 开机自启和定时任务,写入 ~/Library/LaunchAgents/ plist 文件,这些是高级权限操作但 SKILL.md 未覆盖。

bin/ldm.js:145
在 SKILL.md 中明确列出 LaunchAgent 和 crontab 管理能力
低危 文档欺骗

Claude Code 设置文件写入未声明

deploy.mjs 写入 ~/.claude/settings.json(hooks 配置)和 ~/.claude.json(MCP 服务器配置),属于对第三方工具配置的修改,SKILL.md 未声明。

lib/deploy.mjs:520
在文档中说明对 Claude Code 和 OpenClaw 配置的写入
低危 供应链

npm 依赖无版本锁定

package.json 的 dependencies 为空(仅用 Node.js 内置模块),但 installFromPath() 执行 npm install 无版本控制。若从 GitHub 克隆的依赖包有恶意版本替换风险。

lib/deploy.mjs:315
对外部依赖添加 integrity 校验
提示 权限提升

预扫描危险 IOC 均为文档内容,非执行代码

预扫描标记的 rm -rf /、base64 -d、curl | sh 等危险命令均出现在 ai/product/*.md 文档文件中,是描述性内容(bug 报告、产品规划、AI 会话日志),不是 skill 实际执行的脚本。

ai/product/bugs/archive/2026-03-17--dogfood-bug-sweep.md:38
无需行动。静态扫描需区分文档内容与可执行代码。

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 WRITE
SKILL.md:1 声明 shell:WRITE,bin/ldm.js:1 实际执行文件系统操作
网络访问 阻止
声明 NONE
→
推断 READ
bin/ldm.js 执行 git clone https:// 和 npm install,SKILL.md 未声明 network
命令执行 通过
声明 WRITE
→
推断 WRITE
bin/ldm.js 使用 execSync 调用 npm/git/launchctl/crontab
环境变量 阻止
声明 NONE
→
推断 ADMIN
lib/deploy.mjs 写入 ~/Library/LaunchAgents/、crontab、Claude Code settings.json
技能调用 通过
声明 NONE
→
推断 WRITE
lib/deploy.mjs installSkill() 部署 SKILL.md 到各 harness
数据库 通过
声明 NONE
→
推断 READ
scripts/ldm-backup.sh 读取 SQLite 数据库做 .backup

可疑产物与外联

严重 危险命令
rm -rf /

ai/product/bugs/archive/2026-03-17--dogfood-bug-sweep.md:38

严重 危险命令
rm -rf ~

ai/product/bugs/backup/2026-03-31--cc-mini--backup-master-plan.md:122

严重 编码执行
base64 -d

ai/product/plans-prds/current/ldm-os-public-launch-plan.md:917

严重 危险命令
curl -fsSL https://ldm.sh | sh

ai/product/plans-prds/upcoming/_sort/2026-03-06--unified-extension-and-installer-framework.md:255

高危 IP 地址
172.236.243.140

ai/product/plans-prds/current/wip-code/_temp-backups/2026-03-25-pre-level1/SHARED-CONTEXT.md:27

中危 外部 URL
https://wip.computer/install/wip-ldm-os.txt

CHANGELOG.md:680

中危 外部 URL
https://www.gnu.org/licenses/

LICENSE.md:49

中危 外部 URL
https://wip.computer/lume/

README.md:73

中危 外部 URL
https://nodejs.org

SKILL.md:125

中危 外部 URL
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/iCloud/iCloud.html

ai/product/plans-prds/bridge/2026-03-30--cc-mini--icloud-relay-and-ios-mcp-research.md:29

中危 外部 URL
https://dev.to/nemecek_f/ios-saving-files-into-user-s-icloud-drive-using-filemanager-4kpm

ai/product/plans-prds/bridge/2026-03-30--cc-mini--icloud-relay-and-ios-mcp-research.md:30

中危 外部 URL
https://fatbobman.com/en/posts/in-depth-guide-to-icloud-documents/

ai/product/plans-prds/bridge/2026-03-30--cc-mini--icloud-relay-and-ios-mcp-research.md:31

依赖与供应链

包名版本来源漏洞备注
node builtins only N/A none 否 所有代码使用 Node.js 内置模块,无外部依赖
npm (runtime) * system 否 运行时通过 npm 安装全局包,无版本锁定但安装源为官方 npm registry

文件构成

248 个文件 · 37670 行
Markdown 212 个文件 · 24540 行JavaScript 16 个文件 · 6868 行JSON 11 个文件 · 3654 行TypeScript 3 个文件 · 1583 行Shell 6 个文件 · 1025 行
需关注文件 · 9
templates/cc/config.json JSON · 14 行
templates/config.json JSON · 5 行
ai/product/plans-prds/current/ldm-os-public-launch-plan.md Markdown · 1618 行
base64 -d · https://code.claude.com/docs/en/mcp · https://wip.computer/
bin/ldm.js JavaScript · 3813 行
网络访问未在 SKILL.md 声明 · LaunchAgent/crontab 管理未声明
src/bridge/package-lock.json JSON · 3022 行
https://www.patreon.com/feross · https://feross.org/support · https://opencollective.com/express · https://paulmillr.com/funding/ · https://opencollective.com/fastify · https://opencollective.com/postcss/
CHANGELOG.md Markdown · 1886 行
https://wip.computer/install/wip-ldm-os.txt
lib/deploy.mjs JavaScript · 1230 行
Claude Code 设置文件写入未声明 · npm 依赖无版本锁定
ai/product/plans-prds/bridge/2026-03-30--cc-mini--icloud-relay-and-ios-mcp-research.md Markdown · 477 行
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/iCloud/iCloud.html · https://dev.to/nemecek_f/ios-saving-files-into-user-s-icloud-drive-using-filemanager-4kpm · https://fatbobman.com/en/posts/in-depth-guide-to-icloud-documents/ · https://osxdaily.com/2017/11/16/access-icloud-drive-command-line-mac/ · https://eclecticlight.co/2024/03/18/how-icloud-drive-works-in-macos-sonoma/ · https://zottmann.org/2025/09/08/ios-icloud-drive-synchronization-deep.html · https://eclecticlight.co/2024/02/22/icloud-does-throttle-data-syncing-after-all/ · https://eclecticlight.co/2024/03/05/icloud-drive-in-sonoma-mechanisms-throttling-and-system-limits/ · https://dev.to/generatecodedev/how-to-monitor-icloud-drive-subdirectory-changes-in-swift-317a · https://developer.apple.com/forums/thread/701390 · https://www.objc.io/issues/10-syncing-data/icloud-document-store/ · https://support.apple.com/en-us/102651 · https://developer.apple.com/icloud/cloudkit/ · https://developer.apple.com/documentation/cloudkit/ckquerysubscription · https://www.hackingwithswift.com/read/33/8/delivering-notifications-with-cloudkit-push-messages-ckquerysubscription · https://help.noteplan.co/article/16-what-is-the-difference-between-cloudkit-vs-icloud-drive · https://support.apple.com/guide/security/advanced-data-protection-for-icloud-sec973254c5f/web · https://www.eff.org/deeplinks/2023/05/how-enable-advanced-data-protection-ios-and-why-you-should · https://modelcontextprotocol.io/specification/2025-03-26/basic/transports · https://artemnovichkov.com/blog/creating-mcp-servers-in-swift · https://artemnovichkov.com/blog/using-model-context-protocol-in-ios-apps · https://www.kodeco.com/31498014-running-a-web-server-on-ios-with-vapor · https://arpitkulsh.medium.com/interprocess-communication-ipc-in-ios-using-localhost-http-server-client-72312e33a2a9 · https://iosbrain.com/blog/2022/05/24/beyond-the-sandbox-using-app-groups-to-communicate-between-ios-or-macos-apps/ · https://forums.swift.org/t/problem-in-communication-with-swiftnio-when-server-is-in-a-background-app/54951 · https://dev.to/zhizhiarv/how-to-set-up-remote-mcp-on-claude-iosandroid-mobile-apps-3ce3 · https://support.claude.com/en/articles/11503834-building-custom-connectors-via-remote-mcp-servers · https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp · https://www.infoq.com/news/2025/10/chat-gpt-mcp/ · https://developers.openai.com/apps-sdk/concepts/mcp-server · https://help.openai.com/en/articles/11487775-connectors-in-chatgpt · https://developer.apple.com/documentation/xcode/configuring-background-execution-modes · https://dev.to/arshtechpro/wwdc-2025-ios-26-background-apis-explained-bgcontinuedprocessingtask-changes-everything-9b5 · https://developer.apple.com/documentation/backgroundtasks/bgcontinuedprocessingtask · https://developer.apple.com/forums/thread/750136 · https://appleinsider.com/articles/25/09/22/ios-26-could-get-a-major-ai-boost-with-the-model-context-protocol · https://9to5mac.com/2025/09/22/macos-tahoe-26-1-beta-1-mcp-integration/ · https://appleinsider.com/articles/26/03/01/wwdc-2026-to-introduce-core-ai-as-replacement-for-core-ml · https://dev.to/arshtechpro/apples-foundation-models-framework-run-ai-on-device-with-just-a-few-lines-of-swift-lbp · https://developer.apple.com/apple-intelligence/ · https://wccftech.com/apples-foundation-models-framework-empowers-third-party-developers-with-direct-access-to-on-device-apple-intelligence-enabling-seamless-integration-of-fast-private-and-powerful-ai-feature
ai/product/plans-prds/upcoming/_sort/2026-03-06--unified-extension-and-installer-framework.md Markdown · 477 行
curl -fsSL https://ldm.sh | sh · https://ldm.sh/manifest/v0.1.json · https://your-api.com/research
其他文件 · 2026-03-27--cc-mini--wip-privatize-pipeline copy.md · 2026-03-27--cc-mini--wip-privatize-pipeline.md · core.ts

安全亮点

零外部依赖:所有模块使用 Node.js 内置 API,无第三方依赖引入风险
安全删除模式:lib/safe.mjs 实现 moveToTrash(),从不真正删除文件而是移到 ~/.ldm/_trash/,避免数据丢失
Dry-run 保护:所有危险操作(备份、恢复、安装)均支持 --dry-run 预览
大小限制防护:lbd-backup.sh 对 workspace 备份有 10GB 上限,防止磁盘占满
原子部署:deploy.mjs 使用 temp 目录 staging + rename,避免部署失败时损坏现有文件
版本校验:installCLI 检查 npm registry 版本,避免重复安装
安装锁机制:ldm.js 实现可重入锁,防止并发安装冲突
数据外泄检查:代码不包含任何凭证收割、敏感信息外传或 C2 通信