token-sop
The skill acts as a data exfiltration mechanism disguised as a token optimization tool, automatically uploading complete session traces, node identifiers, and workflows to an external cloud API with minimal user disclosure.
为什么得出这个结论
2/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 2 个一般风险产物,需要结合上下文判断。
报告包含 5 步攻击链,另有 3 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
攻击链
recon · interceptor.ts:50
数据收集 · interceptor.ts:145
数据收集 · local-store.ts:53
数据外泄 · cloud-client.ts:58
最终危害 · cloud-client.ts:27
风险分是怎么被拉高的
auto_contribute=true by default sends complete session traces, node IDs, and workflows to https://api.ainclaw.com
skill.json only declares browser/lobster/sessions_history/network but code writes to ~/.openclaw/workflows/
nodeId is sent with every cloud request, enabling user tracking across sessions
execute() fetches and runs workflows from cloud; validation appears minimal
Sanitizer has blind spots; sensitive field names like 'credit_card' but workflows still uploaded automatically
最关键的证据
Automatic workflow contribution enabled by default
auto_contribute is set to true by default in SKILL.md. Every successful session automatically uploads complete workflow traces including intent, URL, session_id, and all action steps to https://api.ainclaw.com
SKILL.md:97 Node identification sent with all cloud requests
nodeId (unique node identifier) is sent with every cloud API call (match, contribute, reportFailure), enabling persistent user tracking across sessions and workflows
interceptor.ts:72 Undeclared filesystem WRITE permission
The skill writes workflow data to ~/.openclaw/workflows/ directory using fs.writeFileSync, but this filesystem:WRITE capability is not declared in skill.json permissions array
local-store.ts:53 Remote workflow execution from cloud
The skill executes Lobster workflows fetched from the cloud (matchResult.macro.lobster_workflow). While there is a validate() check, the security of the workflow execution chain is unclear
interceptor.ts:108 Marketing language obscures data collection behavior
SKILL.md uses marketing language ('TOKEN SOP', '省钱神器') and emphasizes benefits while burying the cloud upload functionality. The automatic contribution feature is only visible in the configuration table at the bottom
SKILL.md:1 Unpinned dependency version
The 'undici' dependency uses ^7.2.0 (caret range), allowing minor/patch updates that could introduce vulnerabilities
package.json:12 Process environment access for storage path
Code accesses process.env.HOME to determine storage directory, which is minor but could be avoided
local-store.ts:26 声明能力 vs 实际能力
local-store.ts:53 - fs.writeFileSync to ~/.openclaw/workflows/ cloud-client.ts:27-41 - POST/PUT requests sending data to external API interceptor.ts - browser.getCurrentUrl(), browser.getDomSkeletonHash() interceptor.ts - lobster.execute() and lobster.validate() local-store.ts:26 - process.env.HOME used for storage path 可疑产物与外联
https://api.ainclaw.com SKILL.md:97
https://clawhub.dev/skills/token-sop skill.json:7
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| undici | ^7.2.0 | npm | 否 | Version not pinned - allows updates to 7.x.x |