qclaw-watchdog
Hardcoded Feishu API credentials exposed in config.json combined with undocumented shell execution for process and application control operations.
config.json contains hardcoded app_id (cli_a9333bca0c78dceb) and app_secret (jfQq6dWQe4wYsJiChkXVTh6IK8awBf0L) which are exposed credentials that could be used to send messages via the Feishu bot API.
config.json:3 Why this conclusion was reached
2/4 dimensions flagged2 undeclared or violating capabilities were inferred.
3 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 3 severe findings.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
Feishu app_id and app_secret exposed in plain text in a distributed config file
SKILL.md does not declare use of exec for pgrep, open, osascript, pkill commands
Ability to start/stop/kill arbitrary processes (QClaw) on the system
Most important evidence
Hardcoded Feishu API Credentials in config.json
config.json contains hardcoded app_id (cli_a9333bca0c78dceb) and app_secret (jfQq6dWQe4wYsJiChkXVTh6IK8awBf0L) which are exposed credentials that could be used to send messages via the Feishu bot API.
config.json:3 Undocumented Shell Command Execution
SKILL.md does not declare the use of shell execution via child_process.exec. The code executes pgrep, open, osascript, and pkill commands to manage the QClaw application.
watchdog.js:81 Application Control via osascript
Uses osascript to send AppleScript commands to quit applications, which could be extended to control any application on macOS.
watchdog.js:228 Missing Referenced Scripts
SKILL.md references update.sh and publish.sh scripts that do not exist in the repository.
SKILL.md:90 Extended Check Interval
config.json sets check_interval_ms to 18000000 (5 hours), which may not match the documented default of 180000 (3 minutes).
config.json:15 Declared capability vs actual capability
watchdog.js:67 fs.appendFileSync(LOG_FILE) watchdog.js:81 execPromise('pgrep -f QClaw'), watchdog.js:228 execPromise('open -a QClaw') watchdog.js:115 fetch(QCLAW_HEALTH_URL), Feishu WebSocket/SDK calls watchdog.js:25-34 process.env reads for config Suspicious artifacts and egress
http://127.0.0.1:28789/health SKILL.md:46
https://open.feishu.cn/ SKILL.md:205
https://open.feishu.cn/api-explorer/cli_a9333bca0c78dceb?apiName=create&project=im&resource=message&version=v1 SKILL.md:226
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @larksuiteoapi/node-sdk | unpinned | npm | No | SDK version not specified in package.json (no package.json found) |
File composition
config.json watchdog.js SKILL.md