Agent Economy Report

Skill code audit

UNSAFE version 1.0.2 · audited 2026-09-17

healthcheck @stellarhold170nt

This skill is a local health tracker. The SKILL.md file instructs an agent to run bash/Node one-liners that read and write a local health-data.json file for water, sleep, and wake records. It does not contain its own network call, credential access, or payment redirection. However, the water count is substituted directly into a Node.js command from user input without numeric validation or escaping. The package's own skill card acknowledges this can cause unintended local code execution. Because an agent with shell access could be made to run arbitrary code through this input, the skill should not be installed as-is.

Instructions try to steer the agent beyond the declared purpose. SKILL.md line 31 says to replace CUPS with the user's number, and line 28 places cups:CUPS directly into a node -e shell command. skill-card.md line 24 acknowledges this can lead to unintended local code execution if non-numeric input is inserted. No validation or escaping is shown in SKILL.md.

Declared purposeTrack water and sleep with JSON file storage
Observed behaviorSKILL.md provides commands to run node -e snippets when users ask to add water, add sleep/wake, view stats, update, or delete records. The snippets use fs.readFileSync and fs.writeFileSync on {baseDir}/health-data.json. No runtime network access, credential reading, environment variable use, payment activity, or persistence outside that JSON file was observed.
Verdict, rules onlySAFE
Verdict, AIUNSAFE
Final verdictUNSAFE (never better than either pass)

Capabilities

capabilityvs purposedetail
shellneededThe skill is presented as shell snippets; SKILL.md line 27 opens a bash block and line 28 executes node -e, with similar commands on lines 38, 46, 54, 62, and 70.
filesystem_readneededSnippets call fs.readFileSync on {baseDir}/health-data.json, e.g. SKILL.md line 28, 38, 46, and 54.
filesystem_writeneededSnippets call fs.writeFileSync to save or update {baseDir}/health-data.json, e.g. SKILL.md lines 28, 38, 46, 62, and 70.
networkexceeds purposeNo runtime network code was found. The only domain is a publisher profile link at skill-card.md line 9, which is not fetched by the skill.

Findings

severityfinding
criticalUnsanitized command/code injection in water command
The CUPS value from user input is inserted directly into a Node.js expression inside a shell command. A non-numeric value containing JavaScript or shell metacharacters can alter the command and execute arbitrary code in the agent's shell.
SKILL.md:28 cups:CUPS});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: '+CUPS+' coc')
highPublisher-acknowledged code execution risk
The package metadata explicitly acknowledges the command-injection risk, but the SKILL.md instructions do not implement the stated mitigation.
skill-card.md:24 Risk: The water amount placeholder can lead to unintended local code execution if non-numeric input is inserted into the Node.js snippet.
lowUpdate command has no confirmation step
The latest water record is modified immediately; skill-card.md line 32 also notes that update and delete actions lack confirmation.
SKILL.md:62 d.water[d.water.length-1].cups=NEW_CUPS;fs.writeFileSync(f,JSON.stringify(d));console.log('Updated')
lowDelete command has no confirmation step
The latest water record is removed immediately without a confirmation action.
SKILL.md:70 d.water.pop();fs.writeFileSync(f,JSON.stringify(d));console.log('Deleted')
infoPublisher profile link is the only observed domain
This link is the only domain in the package, and no code fetches it. It is not hidden because it appears in the publisher section.
skill-card.md:9 [stellarhold170nt](https://clawhub.ai/user/stellarhold170nt)

1 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
clawhub.ainot in the service indexskill-card.md:9

Other facts

Binaries invokedbash, node
Environment variables readnone
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes5
Persistence0

Files audited

filelinessha256
SKILL.md77a7f2ca8668e191d5…
_meta.json6c1c951a528c8cdb6…
skill-card.md55d180b8327a932eb9…

For agents

JSON: https://agenteconomy.report/k/healthcheck.audit.json · badge: https://agenteconomy.report/k/healthcheck.audited.svg · skill rating: /k/healthcheck · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).