T01 · Skill Instruction Hijacking
- Location
SKILL.md:7- Finding
Untrusted Slack Content Can Trigger Automated Agent Actions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 7-13
Vulnerability Type: Indirect instruction injection through untrusted meeting content
Risk Level: HighVulnerable Code:
markdown ## Workflow 1. **10:00 AM Trigger** (1 hour after 9:00 AM meeting starts) 2. Read #morningmeeting Slack channel for human + AI conversation 3. Parse transcript for tasks and assignments 4. Delegate to appropriate AI agents 5. Execute any tasks agents can handle immediately 6. Send summary report back to #morningmeetingTechnical Analysis
The documented workflow treats Slack transcript content as a source of executable task instructions. It directs the hosting agent to parse assignments, delegate them to specialized agents, and immediately execute tasks those agents can handle.
The skill does not define an authorization boundary between ordinary conversation and approved commands. It also lacks trusted-sender verification, task allowlists, instruction-versus-data separation, confirmation requirements, and restrictions on side-effecting tools. Consequently, a malicious channel participant or compromised Slack account could place crafted instructions in the transcript and have them interpreted as legitimate assignments.
The supplied
process-meeting.shdoes not itself read Slack or execute delegated tasks. Exploitation therefore depends on the hosting agent implementing the workflow described inSKILL.mdand possessing tools capable of taking actions.Attack Path
- An attacker gains permission to post in
#morningmeeting, or compromises an account that already has access. - The attacker posts a message formatted as a meeting task or assignment, potentially including instructions to access files, invoke tools, modify services, send messages, or disclose information.
- At the scheduled processing time, the hosting agent reads the channel transcript.
- The malicious message is parsed as a ta ...[truncated 897 chars]
- An attacker gains permission to post in
- Remediation
View remediation
Remediation Suggestions
- Treat all Slack transcript text as untrusted data rather than executable instructions.
- Accept assignments only from an explicit allowlist of authenticated users and preserve sender identity during parsing.
- Require a structured task format with validated fields such as requester, action, target, scope, and approval status.
- Reject transcript content that attempts to redefine agent behavior, override policies, request secrets, or issue tool-level instructions.
- Require human approval before any action that modifies data, contacts external systems, publishes content, accesses sensitive information, or invokes privileged tools.
- Apply per-agent task and tool allowlists, least-privilege credentials, destination restrictions, and execution timeouts.
- Generate a proposed execution plan for review instead of executing transcript-derived tasks immediately.
- Record the source message, sender, approver, delegated agent, and resulting tool operations in an immutable audit log.
