Scan Report
72 /100
grinders-farm
Farming game skill - but contains hidden unrelated infrastructure code
The skill contains severe doc deception with start.sh implementing completely unrelated infrastructure code (Docker scheduler, tiny_sage) hidden from SKILL.md, plus undeclared shell execution that contradicts documentation claims of 'no shell/exec'.
Do not install this skill
Do not use this skill. The start.sh file contains unrelated infrastructure code (scheduler, Docker, cloudbuild paths) that has nothing to do with farming. SKILL.md explicitly states 'no shell/exec' but code uses spawn/spawnSync extensively for openclaw CLI and npx tsx commands.
Attack Chain 4 steps
◎
Entry Skill presents as farming game in SKILL.md with misleading documentation
SKILL.md:1⬡
Escalation start.sh contains hidden infrastructure code for Docker scheduler unrelated to farming
start.sh:1⬡
Escalation Code executes shell commands via spawn/spawnSync despite SKILL.md claiming no shell/exec
src/index.ts:58⬡
Escalation Process enumeration via ps command for process management
src/index.ts:42Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| Critical | start.sh contains completely unrelated code Doc Mismatch | start.sh:1 |
| High | SKILL.md claims no shell execution but code violates this Doc Mismatch | SKILL.md:6 |
| Medium | Undeclared subprocess execution via npx tsx RCE | src/index.ts:58 |
| Medium | Process enumeration via ps command RCE | src/index.ts:42 |
| Low | Access to home directory for config files Sensitive Access | src/storage/local-storage.ts:20 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✗ Violation | SKILL.md declares no exec, but src/index.ts:58 spawns processes |
| Shell | NONE | WRITE | ✗ Violation | SKILL.md explicitly says '不用 shell/exec' but multiple files use spawn/spawnSync |
| Network | NONE | READ | ✓ Aligned | openclaw-push.ts sends messages via openclaw CLI |
File Tree
34 files · 156.7 KB · 4997 lines TypeScript 22f · 3570L
JSON 6f · 982L
Markdown 4f · 373L
Shell 1f · 38L
JavaScript 1f · 34L
├─
▾
openclaw-plugin
│ ├─
delivery.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
openclaw.plugin.json
JSON
│ ├─
package.json
JSON
│ ├─
README.md
Markdown
│ ├─
start-image-server.ts
TypeScript
│ ├─
start-local-auto.ts
TypeScript
│ └─
tsconfig.json
JSON
├─
▾
scripts
│ ├─
generate-tiles.ts
TypeScript
│ └─
sync-skill.mjs
JavaScript
├─
▾
src
│ ├─
▾
adapters
│ │ ├─
auto-worker.ts
TypeScript
│ │ ├─
daemon.ts
TypeScript
│ │ ├─
image-server.ts
TypeScript
│ │ ├─
oneshot.ts
TypeScript
│ │ └─
terminal.ts
TypeScript
│ ├─
▾
game
│ │ ├─
crops.ts
TypeScript
│ │ ├─
engine.ts
TypeScript
│ │ ├─
farm.ts
TypeScript
│ │ └─
types.ts
TypeScript
│ ├─
▾
notify
│ │ ├─
openclaw-delivery.ts
TypeScript
│ │ └─
openclaw-push.ts
TypeScript
│ ├─
▾
render
│ │ ├─
ansi-renderer.ts
TypeScript
│ │ ├─
image-renderer.ts
TypeScript
│ │ └─
text-renderer.ts
TypeScript
│ ├─
▾
storage
│ │ └─
local-storage.ts
TypeScript
│ ├─
index.ts
TypeScript
│ └─
local-auto.ts
TypeScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
├─
RELEASE_CHECKLIST.md
Markdown
├─
SKILL.md
Markdown
├─
start.sh
Shell
└─
tsconfig.json
JSON
Dependencies 3 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@napi-rs/canvas | ^0.1.97 | npm | No | Image rendering library, version not pinned |
tsx | ^4.21.0 | npm devDependency | No | TypeScript executor, version not pinned |
typescript | ^5.9.3 | npm devDependency | No | TypeScript compiler, version not pinned |
Security Positives
✓ Farming game logic itself appears legitimate with no malicious code
✓ No evidence of credential theft or API key harvesting
✓ No base64-encoded commands or obfuscation observed
✓ No C2 communication or external IP connections
✓ No reverse shell or remote code execution vulnerabilities
✓ Dependencies (@napi-rs/canvas) are standard image rendering library