T01 · Skill Instruction Hijacking
- Location
SKILL.md:144- Finding
Untrusted Project Voice Overrides Are Elevated to Authoritative Prompt Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly a coherent writing-voice generator, but it automatically trusts local project files and unvalidated register names in ways that can read or apply unintended Markdown instructions.
Install only if you trust the projects where you use it and understand that it may read local voice-profile files plus `.voice/override.md`. Avoid using it in untrusted repositories, and prefer profiles/registers with strict filename validation and an explicit review of any project override before generation.
SKILL.md:144Untrusted Project Voice Overrides Are Elevated to Authoritative Prompt Instructions
modules/register-selection.md:27Unvalidated Register Name Permits Path Traversal Outside the Registers Directory
The trigger list includes generic terms like "voice," "generation," and "writing," which are broad enough to cause accidental or overly frequent invocation outside the intended style-transfer use case. In an agent ecosystem, that increases the chance this skill activates on unrelated prompts and then performs profile loading and file reads unexpectedly.
The skill explicitly instructs reading from $HOME/.claude/voice-profiles and optional project-local .voice/override.md without any user-facing disclosure, confirmation step, or access boundary. That creates a confidentiality risk because the agent may ingest local data the user did not realize would be accessed, including sensitive writing samples or project-specific content.
The instruction to always frame source material as "rough notes" unless the user overrides changes the semantic presentation of user input in a way that can steer model behavior without transparent consent. This is a form of prompt-level manipulation that may distort user intent, suppress structure the user provided, and produce outputs that misrepresent the source material.
Load: @modules/source-framing
Default framing (always use unless user overrides):
Below are my rough notes on this topic. I'm still thinking
The module explicitly describes 'Auto-Fix Rules (Silent)' that alter generated text before any review or user disclosure. In a voice/style-transfer pipeline, silent rewriting can change meaning, tone, or factual nuance while making the output appear author-authentic, which creates integrity and attribution risks even if the substitutions seem minor.
No suspicious patterns detected.