watch-my-money
Verdict safe, but 1 finding (1 medium), mainly data exfiltration. Most recent scan 2026-02-07.
The watch-my-money skill is a legitimate personal finance analysis tool with no critical security threats detected. The skill analyzes bank transactions locally, categorizes spending, tracks budgets, and generates HTML reports. It claims 'privacy: local-only' and shows no evidence of data exfiltration, network calls, or malicious behavior. The main concerns are: (1) missing optional metadata fields (allowed-tools, license, compatibility) which would improve transparency, (2) multiple missing referenced files suggesting incomplete packaging or inconsistent file paths, and (3) automatic persistent storage of financial data without explicit user consent in the workflow. The skill appears to be a work-in-progress with documentation/packaging issues rather than malicious intent. No prompt injection, command injection, credential theft, or data exfiltration patterns were found.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
SkillSpector found no issues but could not fully inspect the package, usually because SKILL.md refers to a file that is not present, so it fails closed to CAUTION instead of SAFE. Read it as "not fully checked", not as a finding. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Analyze bank transactions, categorize spending, track monthly budgets, detect overspending and anomalies. Outputs interactive HTML report.
- Package
- 4 files, 27 KB
- SKILL.md
- 503 words, 12+ sections
- Code
- None. Instructions only.
SKILL.md covers: watch-my-money · Workflow · 1. Get Transactions · 2. Parse & Normalize · 3. Categorize Transactions · 4. Check Budgets · 5. Detect Anomalies · 6. Generate HTML Report · 7. Save State · CLI Commands · Analyze CSV · Analyze from stdin
Findings
MEDIUM Persistent state storage without explicit user consent Data Exfiltrationllm
The skill automatically persists data to ~/.watch_my_money/ including state.json (budgets, merchant overrides, history) and monthly reports without explicitly requesting user permission in the workflow. While the skill claims 'privacy: local-only' in metadata, users should be informed that transaction data, spending patterns, and merchant information will be saved to disk before analysis begins.
SKILL.md
Persist to `~/.watch_my_money/`: state.json - budgets, merchant overrides, history; reports/YYYY-MM.json - machine-readable monthly data; reports/YYYY-MM.html - interactive reportWhat is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 4.2 KB |
assets/template.html | data | 17 KB |
references/budget-templates.md | doc | 3.6 KB |
references/common-merchants.md | doc | 2.2 KB |
External hosts referenced
fonts.googleapis.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/watch-my-money
- Raw scan result: watch-my-money-scan.json
- Badge for your README:
 - Request a re-scan