Back to skill

Security audit

seed-calendar-planner

Security checks for vulnerabilities and agentic risk

Overview

This is a gardening calendar skill with a local Python helper, and I found no hidden data access, network use, persistence, or destructive behavior.

Before installing, understand that the skill expects an agent or user to run a local Python script. Review the shell commands if your environment grants broad command execution, and verify frost-date estimates against local extension or NOAA data as the skill itself recommends.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Lp3

Medium
Category
MCP Least Privilege
Confidence
83% confidence
Finding
The skill advertises shell-based commands in its documentation but does not declare any explicit tool scope such as permissions or allowed-tools. That creates an authorization gap: an agent or runtime may infer command execution is acceptable without a clear least-privilege boundary, increasing the chance of unintended shell access or misuse if the skill is invoked in a permissive environment.

subprocess module call

Medium
Category
Dangerous Code Execution
Content
def run_cli(args):
    return subprocess.run([sys.executable, ENGINE] + args,
                          capture_output=True, text=True)
Confidence
70% confidence
Finding
subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Static analysis

No suspicious patterns detected.