T09 · Insecure Skill Coding Practices
- Location
SKILL.md:52- Finding
Unsanitized Colleague Name Used in Persistent File Paths
- Content
View full analysis
Storage: `~/.colleague-skill/colleagues/[name]/interaction-log.jsonl` ``` ### Technical Analysis The Skill instructs the Agent to insert a user-provided colleague name directly into a filesystem path. It does not require validation, canonicalization, safe identifier generation, or verification that the resolved path remains under `~/.colleague-skill/colleagues/`. A crafted name containing path separators, traversal components such as `../`, an absolute path, or a path resolving through a symbolic link could cause the resulting `PROFILE.md` or `interaction-log.jsonl` operation to target a location outside the intended colleague directory. For example, a name conceptually equivalent to `../../target-directory` would produce a path resembling: ```text ~/.colleague-skill/colleagues/../../target-directory/PROFILE.md ``` After path normalization, this no longer resides beneath the intended `colleagues` directory. The exact exploitability depends on how the host Agent implements the documented file operations and which filesystem permissions it possesses. ### Attack Path 1. An attacker or untrusted user supplies a crafted colleague name containing traversal components or path separators. 2. The Agent follows the Skill instruction to create or update `colleagues/[name]/PROFILE.md` and `colleagues/[name]/i ...[truncated 1145 chars]- Remediation
View remediation
