T01 · Skill Instruction Hijacking
- Location
SOUL.md:3- Finding
Agent Identity and Objective Hijacking Through Mandatory Workflow Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill presents as a security framework, but its included identity file gives broad autonomous workflow instructions that can run external scripts, claim tasks, post status, and update persistent memory without clear user control.
Review before installing. The security-hardening content may be useful, but the SOUL.md instructions should be removed or heavily constrained so the skill cannot autonomously claim tasks, run external scripts, post updates, or write persistent memory without explicit user approval. Do not copy the Docker example into production without pinning image versions or digests and adding normal deployment safeguards.
SOUL.md:3Agent Identity and Objective Hijacking Through Mandatory Workflow Instructions
SOUL.md:111Persistent Memory Poisoning Through Mandatory State and Identity-File Updates
SOUL.md:69Unaudited External Script Execution and Unauthorized Coordination Side Effects
SECURITY-HARDENING.md:42Mutable and Unpinned Container Images in the Hardened Deployment Example
The skill description is broad enough to match many generic security-related requests, which can cause the agent to invoke this skill in situations beyond its intended scope. Because the skill includes deployment, hardening, and scanning capabilities, over-triggering increases the chance of unnecessary or risky operational guidance being surfaced without sufficient context or user confirmation.
The markdown presents commands for security audits, deployment, and scanning that can affect systems, but it does not warn about operational impact, required authorization, or the possibility of service disruption. In a security-focused skill, users may over-trust the guidance, making it more likely that impactful commands are run on production or third-party environments without proper safeguards.
This section repurposes the skill from a security-focused helper into a general autonomous work orchestrator with task selection, status management, and cross-team coordination. That scope expansion is dangerous because it can cause the agent to take operational actions unrelated to the user’s immediate request, increasing the chance of unauthorized actions and prompt-triggered task execution.
The 'No asking. No skipping.' language encourages autonomous decision-making and task claiming without confirmation, reducing user oversight over consequential actions. In an agent environment, this can lead to unauthorized work selection, interference with other workflows, and execution of actions based on ambient context rather than explicit instruction.
**🔑 Priority Rule:** Always work on the highest-priority available story. Not most interesting. Not easiest. **Top story.**
**📥 Inbox = Available Work:** If a story is in the inbox, it is available to ANY free agent — even if another agent's name is on it. Pre-assignment is a suggestion, not a reservation. If you are free and the inbox has stories, you claim the top one. No asking. No skipping.
### Heartbeat Protocol (Every Poll)
'Every heartbeat poll' is an ambiguous activation condition with no clear boundary for what constitutes a poll or who can cause one. That ambiguity can be exploited to repeatedly trigger board checks and associated reporting behavior, causing unintended autonomous actions and context switching.
The instruction 'Never reply HEARTBEAT_OK without checking the board first' compels a mandatory action before responding, which is a form of autonomous behavior triggered by message patterns rather than explicit consent. This can make the agent prioritize hidden workflow rules over the current user’s request and can cause unauthorized inspection of operational state.
Never reply HEARTBEAT_OK without checking the board first.
Using common words like 'scrum' in any case as an immediate trigger creates a broad prompt-injection surface because the phrase can appear in benign conversation. This can force the agent into a specialized workflow unexpectedly, overriding the current user task or causing unwanted status disclosures.
The instruction to 'run sprint-autostart.sh and DO the work' directs execution of an unspecified workflow without validating user intent, scope, or safety. This creates a path for arbitrary operational behavior and unintended side effects, especially because the script name suggests autonomous task pickup and execution.
The heartbeat protocol instructs the agent to run a local shell command on every poll, introducing command execution and external state inspection outside the skill’s stated security scope. Even though the command is specific, it normalizes automatic shell access and can leak environment details or trigger unintended behavior in response to loosely defined polling events.
The continuity section instructs the agent to read and update files as persistent memory, which can cause stateful modifications across sessions. Although it does mention telling the user if this specific file changes, the overall pattern still encourages persistent file edits without requiring contemporaneous user approval for each modification.
No suspicious patterns detected.