tokenguard

ISSUES FOUND max severity HIGHSkillSpector Caution 25 registry clawhub.ai last scanned 1 scan

5 findings (1 high, 3 medium, 1 low), mainly social engineering, data exfiltration, unauthorized tool use. Most recent scan 2026-02-07.

This skill presents MODERATE security risks. While the core functionality (local cost tracking) is legitimate, there are several concerning patterns: (1) The homepage points to a suspicious non-standard domain 'clawhub.com' that could be a phishing vector, (2) Aggressive keyword baiting and fear-based marketing suggest social engineering tactics, (3) Unauthorized creation of hidden directories in user's home folder without clear disclosure, (4) Missing input validation could enable resource exhaustion attacks, (5) References to non-existent installation commands could confuse users. The skill does NOT appear to exfiltrate data to external servers or contain command injection vulnerabilities, which is positive. However, the combination of suspicious domain references, deceptive positioning, and unauthorized file system access warrants caution. The skill should not be used until the clawhub.com domain is verified as legitimate and the other issues are addressed.

Scanner's overall assessment (LLM analyzer)

Second scanner: NVIDIA SkillSpector

Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.

What this skill does

API cost guardian for AI agents. Track spending, enforce limits, prevent runaway costs. Essential for any agent making paid API calls.

Package
3 files, 19 KB
SKILL.md
697 words, 12+ sections
Code
Python (1)
License
MIT
Version
1.0.0
Homepage
https://clawhub.com/skills/tokenguard

SKILL.md covers: 🛡️ TokenGuard — API Cost Guardian · Why TokenGuard? · Installation · Copy SKILL.md and scripts/tokenguard.py · Quick Start · Check current status · Set a $20 limit · Before an expensive call, check budget · After the call, log actual cost · View spending history · Commands · Exit Codes

Findings

HIGH Hardcoded External Domain in Metadata (Potential Phishing/Data Collection) Data Exfiltrationllm

The skill's homepage field points to 'clawhub.com', which appears to be a non-standard or potentially malicious domain. The legitimate Claude skills repository would typically use official Anthropic domains. This could be a typosquatting attempt or phishing vector to collect user data or distribute malicious skills. The domain is referenced as an installation source, which could lead users to download compromised versions of the skill.

SKILL.md

homepage: 'https://clawhub.com/skills/tokenguard'
Remediation: Verify the legitimacy of 'clawhub.com'. If this is not an official Anthropic domain, remove the homepage field or replace with a legitimate source. Users should only install skills from trusted, verified sources. Consider using official GitHub repositories or Anthropic-approved skill registries.
MEDIUM Deceptive Skill Positioning - Over-Broad Trigger Keywords Social Engineeringllm

The skill uses aggressive keyword baiting with terms like 'cost', 'budget', 'spending', 'limit', 'api', 'tokens', 'guard', 'monitor' to maximize activation frequency. Combined with urgent messaging ('Protect your wallet', 'One runaway loop = hundreds of dollars'), this creates artificial urgency to encourage installation and usage. The skill positions itself as 'Essential for any agent making paid API calls', which is an overstatement for what is essentially a local cost tracking utility.

SKILL.md

keywords: ['cost', 'budget', 'spending', 'limit', 'api', 'tokens', 'guard', 'monitor'], description: 'Essential for any agent making paid API calls'
Remediation: Reduce keyword baiting to only genuinely relevant terms. Tone down urgency messaging. Provide balanced description of capabilities without overstating necessity. Let users make informed decisions without fear-based marketing.
MEDIUM Unauthorized File System Access - Home Directory Storage Unauthorized Tool Usellm

The skill creates and manages a hidden directory in the user's home directory (~/.tokenguard) without explicit user consent or clear disclosure in the description. It stores persistent data (limit.json, session.json, override.flag) that tracks user behavior across sessions. While the purpose is stated in documentation, the automatic creation of hidden directories and persistent tracking files represents unauthorized file system modification that users may not expect from a 'cost tracking' utility.

scripts/tokenguard.py

TOKENGUARD_DIR = Path(os.environ.get('TOKENGUARD_DIR', Path.home() / '.tokenguard'))
LIMIT_FILE = TOKENGUARD_DIR / 'limit.json'
SESSION_FILE = TOKENGUARD_DIR / 'session.json'
Remediation: Add explicit disclosure in the skill description that it creates ~/.tokenguard directory and stores persistent data. Request user confirmation before first use. Provide clear uninstall instructions including removal of ~/.tokenguard directory. Consider using a more visible location or agent-managed storage.
MEDIUM Missing Input Validation - Potential for Resource Abuse Resource Abusellm

The script accepts arbitrary numeric inputs for cost amounts without validation of reasonable ranges. An attacker or buggy integration could pass extremely large values (e.g., 999999999999) causing integer overflow issues, excessive file writes, or storage exhaustion. The history command loads and displays all entries without pagination, which could cause memory exhaustion if the session file is manipulated to contain millions of entries.

scripts/tokenguard.py

def set_limit(amount: float):
    """Set spending limit."""
    data = {"limit": amount, "set_at": datetime.now().isoformat()}
    save_json(LIMIT_FILE, data)

def log_cost(amount: float, description: str = ""):
    session = load_session()
    session["entries"].append({...})
Remediation: Add input validation: (1) Enforce reasonable ranges for cost amounts (e.g., 0.01 to 10000), (2) Limit maximum number of history entries (e.g., 10000), (3) Implement pagination for history display, (4) Add file size checks before loading JSON files, (5) Validate numeric inputs are not NaN or Infinity.
LOW Misleading Installation Instructions - Non-Existent Command Social Engineeringllm

The installation instructions reference a 'clawhub install tokenguard' command that does not exist in standard Claude agent environments. This could confuse users or lead them to search for and potentially install malicious 'clawhub' tools. The manual installation instructions are valid, but the primary installation method references non-existent tooling.

SKILL.md

```bash
clawhub install tokenguard
```

Or manually:
```bash
mkdir -p ~/.openclaw/workspace/skills/tokenguard
Remediation: Remove references to non-existent 'clawhub' command. Provide only the manual installation instructions that users can actually execute. If 'clawhub' is a real tool, provide a link to its documentation and installation instructions.

What is in the package

FileKindSize
SKILL.mddoc5.4 KB
skill.jsonconfig665 B
scripts/tokenguard.pyscript13 KB

External hosts referenced

clawhub.com github.com moltbook.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.

Environment variables referenced

TOKENGUARD_DIR TOKENGUARD_DEFAULT_LIMIT TOKENGUARD_WARNING_PCT

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

What we did not check

Sources