openpet
Verdict safe, but 2 findings (2 medium), mainly resource abuse, unauthorized tool use. Most recent scan 2026-02-06.
The OpenPet skill is a virtual pet game with MEDIUM security concerns primarily related to autonomous behavior and resource usage. The skill implements an unbounded cron job that runs every 2 hours without explicit user consent, potentially leading to resource consumption and notification spam. The cross-platform alert system lacks rate limiting, which could result in excessive notifications. Several referenced files are missing from the package (message.py, unknown.py, templates/sprites.json), indicating incomplete implementation that may cause runtime errors. The skill does not exhibit critical threats like data exfiltration, credential theft, or prompt injection. However, the autonomous cron job and alert system require better user controls and rate limiting. The missing optional metadata fields (license, compatibility, allowed-tools) reduce transparency but are low severity issues. Overall, this skill needs improvements to autonomous behavior controls and package completeness before production use.
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
Virtual pet (Tamagotchi-style) game for chat platforms. Triggers on pet commands like "feed pet", "pet status", "play with pet", "name pet", "pet sleep", "new pet". Supports multi-user across Discord, WhatsApp, Telegram, etc. Each user gets their own pet that evolves based on care.
- Package
- 4 files, 5.0 KB
- SKILL.md
- 401 words, 10 sections
- Code
- None. Instructions only.
SKILL.md covers: OpenPet · State · Commands · New User Flow · Stats Display · Evolution · Death · Decay (Cron) · Platform Detection · Alerts
Findings
MEDIUM Unbounded Autonomous Cron Job Without User Consent Resource Abusellm
The skill requires setting up a cron job 'openpet-tick' that runs every 2 hours to decay pet stats and send alerts. This creates an autonomous background process that operates without explicit user confirmation for each execution. The cron job modifies pet state, checks death conditions, and sends platform alerts automatically, which could lead to unexpected resource usage and notification spam if users are not actively managing their pets.
SKILL.md
Set up cron job `openpet-tick` every 2 hours:
- hunger +15, happiness -10, energy -5
- Clamp all stats 0-100
- Check death conditions
- Alert owner if critical (hunger >80 or happiness <20)
- Increment age dailyMEDIUM Cross-Platform Alert System Without Rate Limiting Unauthorized Tool Usellm
The skill sends alerts to users across multiple platforms (Discord, WhatsApp, Telegram, Signal) when pet conditions are critical. There is no rate limiting, cooldown period, or user preference system for these alerts. This could result in alert spam if multiple pets reach critical states simultaneously, or if the cron job triggers repeatedly while conditions remain critical. The lack of delivery confirmation or error handling could also lead to failed alert attempts consuming resources.
SKILL.md
Send to user's origin platform when:
- Pet is hungry (>80): '🍖 {name} is starving!'
- Pet is sad (<20): '😢 {name} misses you!'
- Pet died: '💀 {name} has passed away...'
- Evolution: '✨ {name} evolved into a {species}!'What is in the package
| File | Kind | Size |
|---|---|---|
README.md | doc | 899 B |
SKILL.md | doc | 3.0 KB |
references/config.json | config | 566 B |
references/sprites.json | config | 599 B |
External hosts referenced
github.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.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- 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/openpet
- Raw scan result: openpet-scan.json
- Badge for your README:
 - Request a re-scan