Back to skill

Security audit

Pets

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed local pet tracker, but it needs review because it instructs agents to create persistent cron reminders without clear confirmation, expiration, or removal controls.

Review before installing if you do not want pet mentions, routines, training notes, photos, or reminders retained on disk. Only use recurring reminders if you are comfortable with persistent cron jobs, and check that you can list and remove any reminders the skill creates.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T06 · System Persistence

Warning
Location
routines.md:29
Finding
Uncontrolled Persistent Reminder Creation Through Cron## Vulnerability Details **File Location**: `routines.md:29-34` **Vulnerability Type**: `T06: System Persistence` **Risk Level**: Medium ### Vulnerable Code ```markdown ### Recurring Reminders Set via cron jobs: - **Daily:** Feeding, walks, medication - **Weekly:** Grooming, training sessions - **Monthly:** Flea treatment, food reorder, weigh-in - **Yearly:** Vaccination due, license renewal ``` ### Technical Analysis The skill explicitly directs the agent to implement recurring reminders using cron jobs. Cron entries persist across agent sessions and execute automatically under the account that installed them. The instructions do not define: - An allowlist of permitted reminder commands - Safe argument handling or prohibition of shell interpretation - Explicit user confirmation before installing persistent tasks - Ownership markers identifying entries created by this skill - Limits on execution frequency - A removal, expiration, or revocation process - Validation that an existing cron entry belongs to this skill before modification Although the project contains no concrete malicious cron payload, the instruction establishes an unmanaged system-persistence mechanism. If reminder content or generated commands are incorporated into a cron entry without strict validation, attacker-controlled input could potentially influence a persistent command. This latter command-injection scenario depends on the agent's implementation and is not independently demonstrated by the reviewed files. ### Attack Path 1. A user or attacker with access to the conversation requests a recurring pet-related reminder. 2. The agent follows `routines.md` and creates a cron entry. 3. The scheduled task is installed in the user's crontab and survives the current skill invocation and future sessions. 4. The entry continues executing until manually removed. 5. If an unsafe implementation interpolates untrusted reminder text into a ...[truncated 819 chars]
Remediation
## Remediation Suggestions 1. Replace cron with a platform-approved reminder or scheduling API that stores structured reminder data rather than executable shell commands. 2. Require explicit user confirmation before creating, changing, or deleting any recurring task. Display the schedule, action, duration, and destination before installation. 3. Represent reminders as validated structured fields. Never interpolate free-form user text into a shell command. 4. If cron is unavoidable, invoke a fixed, audited executable with strictly validated arguments and without `sh -c`, `eval`, command substitution, or shell redirection. 5. Add a unique skill-owned identifier to every entry and modify or remove only entries bearing that identifier. 6. Default reminders to an expiration date and provide commands to list, pause, and permanently remove all tasks created by the skill. 7. Enforce minimum execution intervals and quotas to prevent excessive scheduled execution. 8. Log every creation, modification, and deletion with the exact schedule and action. 9. Install tasks only in the requesting user's context. Never request elevated privileges or write to system-wide cron locations.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly directs the agent to automatically log every pet-related mention, including casual conversation, into persistent local storage without requiring informed user consent at the time of collection or providing meaningful minimization rules. Even though the file says data stays local, pet logs can still reveal household routines, absences, behavioral incidents, medication schedules, and other sensitive lifestyle information, creating unnecessary privacy risk through overcollection and long-term retention.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill explicitly directs storage of original user-shared pet photos and generated images in a persistent filesystem location, but it provides no notice, consent, retention policy, or deletion guidance. User-shared photos can contain sensitive metadata or personal context, so silent archiving increases privacy risk if the device, account, or application storage is later accessed or misused.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The instruction to 'Always archive created images' establishes automatic persistent file creation without telling the user that content will be written to disk. Even if the images are benign, undisclosed storage can surprise users, accumulate sensitive pet/family imagery, and create avoidable privacy exposure over time.

Missing User Warnings

Low
Confidence
89% confidence
Finding
Line L05 directs the user to store information in a specific file path under the home directory, which is a file-write/data-retention behavior. The markdown does not include any warning or disclosure that this creates or updates persistent local records.

Missing User Warnings

Low
Confidence
80% confidence
Finding
This markdown file instructs storing training progress in `~/Clawic/data/pets/{pet}/training.md`, which affects user data by creating or updating local files. The document does not include any warning or disclosure that the skill may persist pet-related notes on disk.

Static analysis

No suspicious patterns detected.