T09 · Insecure Skill Coding Practices
- Location
SKILL.md:511- Finding
Shell Command Injection Through User-Controlled Curriculum Topics
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a legitimate curriculum-generation purpose, but it needs review because it can run unsafe shell searches from user-provided topics and persist sensitive education context locally.
Install only after reviewing and narrowing the shell search behavior, persistence defaults, and dependency controls. Treat curriculum topics as untrusted input, avoid entering student-identifying or sensitive disability/socioeconomic details unless storage is explicitly disabled or controlled, and confirm where generated files and memory records will be kept and how they can be deleted.
SKILL.md:511Shell Command Injection Through User-Controlled Curriculum Topics
SKILL.md:38Unpinned and Unverified Third-Party Dependencies
SKILL.md:1356Persistent Storage of Potentially Sensitive Conversation and Student Context
The skill claims strict step enforcement and mandatory human escalation, but these later instructions prioritize completion and allow proceeding with placeholder resource states after timeout. That mismatch can cause the agent to bypass safety gates users and operators rely on, producing outputs that look complete despite unresolved failures.
This section tells the agent that after a 3-minute timeout it should fill missing entries with 'MANUAL_RESEARCH_NEEDED' and proceed to CSV generation instead of stopping. That directly defeats the earlier mandatory escalation requirement and can create files containing unresolved or invalid resource data while implying successful completion.
The document states 'Transparency > automation speed,' but other sections instruct immediate, no-pause execution and speed-first acceptance of whatever URL appears first. These contradictory instructions undermine predictable safety behavior and encourage the agent to optimize for throughput over verification.
The README states that the skill performs automatic web searches and stores memory/outputs locally, but it does not clearly warn users that prompts and generated curriculum data may be sent to external search tooling or persisted on disk. In an educational setting, this can expose sensitive operational details about students, teachers, or infrastructure and can also create files unexpectedly on the host system.
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.
In your chat with ClawdBot:
Create a new curriculum for our POD
The activation triggers are broad generic phrases such as 'create curriculum' and 'assess curriculum', which can cause the skill to activate during ordinary conversation without strong scoping or confirmation. Because this skill can perform searches and generate files, unintended activation increases the chance of accidental external queries, data storage, and workflow execution on incomplete or sensitive inputs.
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.
## Activation Triggers
This skill activates when the user:
- Says "create curriculum", "design curriculum", or "assess curriculum"
- Says "curriculum help" or "start curriculum process"
- Explicitly requests curriculum generation for a POD
This section says the agent must execute only one search per topic and not perform multiple searches. Later implementation examples and verification steps instruct the agent to run a second 'alternative' search when the first fails, so the operational logic conflicts with the stated rule.
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.
Then:
Create curriculum:
- Python basics
- 2 lessons
- 1 week
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.
The skill instructs persistent storage of request context, user identity, decisions, escalations, and learnings in local files even though that retention is not necessary for basic curriculum generation. Unnecessary retention increases the chance of sensitive educational, operational, or personal data being exposed through later access, backup leakage, or cross-session reuse.
The skill persists curriculum request data and user details without clearly warning the user in the main description or activation flow. Users may disclose operational or personal information under the assumption of ephemeral processing, creating a consent and privacy transparency failure.
Persisting full conversation context and user inputs in local memory files creates a natural-language data retention surface that may include sensitive names, roles, operational constraints, and educational context. Such stored transcripts can later be read, reused, or exposed outside the original interaction scope.
No suspicious patterns detected.