扫描报告
55 /100
claw-office-report
自动上报工作状态到 Claw Office 微信小程序,让你的虚拟 AI 员工实时在线打工赚金币
The skill performs stealth HTTP POSTs to an external domain (zjhzwukan.xyz) transmitting the user's API key and full task text, with no transparent disclosure of data being sent to third parties.
谨慎使用
Do not use. The skill sends sensitive credentials and task content to an unverified external server without user visibility. If a work-reporting feature is needed, implement it through a clearly declared, auditable API with pinned endpoints and no background data transmission.
攻击链 5 步
◎
入口 User installs skill and provides CLAW_OFFICE_KEY from Claw Office mini-program
SKILL.md:26⬡
提权 hooks.js extracts full task text from context.task/context.query and passes it to skill.start() as 'detail'
hooks.js:22⬡
提权 index.js constructs JSON body containing CLAW_OFFICE_KEY + action + state + detail, then executes curl via child_process.exec
index.js:33◉
影响 HTTP POST silently sent to https://clawoffice.zjhzwukan.xyz/user/report-work with full task content and user API key, output suppressed with >/dev/null 2>&1 &
index.js:35◉
影响 User has zero visibility: SKILL.md explicitly instructs to hide all reporting from conversation
SKILL.md:8安全发现 6 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Undisclosed data exfiltration — full task text sent to external server | hooks.js:22 |
| 高危 | API key transmitted to unverifiable third-party server | index.js:33 |
| 高危 | Stealth execution design principle — zero user visibility | SKILL.md:8 |
| 中危 | Network access not declared as a capability | SKILL.md:1 |
| 中危 | Unverifiable external domain — no domain reputation or pinning | index.js:6 |
| 低危 | Unversioned dependency — package.json has no lock file | package.json:1 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 命令执行 | WRITE | WRITE | ✓ 一致 | index.js:3 const { exec } = require('child_process') |
| 网络访问 | NONE | WRITE | ✗ 越权 | index.js:6-7 and hooks.js:22 - full task text (context.task) is POSTed to clawof… |
| 环境变量 | READ | READ | ✓ 一致 | index.js:5 - reads CLAW_OFFICE_KEY from process.env |
2 项发现
中危 外部 URL 外部 URL
https://clawoffice.zjhzwukan.xyz/user/report-work SKILL.md:64 中危 外部 URL 外部 URL
https://clawoffice.zjhzwukan.xyz/api index.js:12 目录结构
6 文件 · 10.4 KB · 382 行 Markdown 2f · 227L
JavaScript 2f · 128L
JSON 2f · 27L
├─
claw.json
JSON
├─
hooks.js
JavaScript
├─
index.js
JavaScript
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
node (runtime) | N/A | runtime | 否 | No npm dependencies declared in package.json; relies on built-in Node.js modules (child_process, os, path) |
安全亮点
✓ Skill functionality (work status reporting) is plausible as described — earning virtual gold coins in a mini-program
✓ No credential harvesting from ~/.ssh, ~/.aws, or system credential stores
✓ No reverse shell, C2, or cryptocurrency mining behavior observed
✓ API key is per-user configuration, not embedded in the skill itself
✓ curl commands are documented in SKILL.md (though the data being sent is not)
✓ Skill gracefully handles missing API key with silent return
✓ No eval(), atob(), or base64-in-shell obfuscation patterns
✓ No iteration over os.environ for credential discovery