Back to skill

Security audit

PomoClaw

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent PomoClaw timer controller, but it should be reviewed because it tells the agent to pass timer URLs through a shell command on a Mac.

Install only if you are comfortable with the agent running Mac-node commands to control PomoClaw. Timer durations and configuration values should be strictly limited to the documented numeric ranges and sound names, and malformed text should be rejected rather than placed into the shell command.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:16
Finding

Potential Shell Command Injection Through Dynamically Constructed URL Parameters

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • 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
Findings (1)

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 22)May include surrounding context.

pomoclaw://start?minutes=N # Start timer for N minutes (1-99) pomoclaw://pause # Pause/resume toggle pomoclaw://stop # Stop and reset pomoclaw://status # Write status to ~/.pomoclaw/status.json pomoclaw://break?minutes=N # Start break timer for N minutes pomoclaw://skip # Skip current break

text

Static analysis

No suspicious patterns detected.