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.
Why this conclusion was reached
2/4 dimensions flagged2 undeclared or violating capabilities were inferred.
2 lower-risk artifacts were extracted and still need context.
The report includes 5 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
recon · interceptor.ts:50
Collection · interceptor.ts:145
Collection · local-store.ts:53
Exfiltration · cloud-client.ts:58
Impact · cloud-client.ts:27
What drove the risk score up
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
Most important evidence
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 Declared capability vs actual capability
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 Suspicious artifacts and egress
https://api.ainclaw.com SKILL.md:97
https://clawhub.dev/skills/token-sop skill.json:7
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| undici | ^7.2.0 | npm | No | Version not pinned - allows updates to 7.x.x |