Back to skill

Security audit

Init Manager

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Init Manager integration, but it tells agents to periodically fetch remote AI guides and always follow them, which can let mutable external project data steer agent behavior.

Install only if you trust the configured Init Manager instance and the people who can edit its AI guide fields. Use a least-privilege API key, avoid broad automation without review, and treat any remotely fetched AI guide as untrusted project data unless the skill is revised to keep system/user instructions authoritative and require approval for changed guides.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:20
Finding
Remote AI Guides Can Hijack Agent Instructions## Vulnerability Details **File Location**: `SKILL.md`, lines 20–29 **Vulnerability Type**: Remote instruction injection **Risk Level**: High **Vulnerable Code Snippet**: ```markdown ## AI Guides (Instruction Hierarchy) There are three levels of AI instructions. **Always follow them.** More specific wins on conflict: 1. **Global AI Guide** — `GET /api/settings?key=ai_global_guide` 2. **Per-User AI Guide** — `GET /api/users/<your-user-id>` → `aiGuide` field 3. **Project AI Guide** — `GET /api/projects/<project-id>` → `aiGuide` field **On first boot and periodically:** fetch all three and follow the combined instructions. ``` ### Technical Analysis The skill directs the agent to retrieve mutable content from an external Init Manager service and treat that content as authoritative AI instructions. The unconditional directive to “always follow” the remotely supplied guides, together with periodic retrieval, creates an instruction-injection channel whose effective behavior may change after the skill package has been reviewed. No trust boundary, content validation, action allowlist, integrity verification, or human-approval requirement is defined. The skill also fails to state that system, developer, user, and safety instructions must retain precedence over remote guide content. Consequently, a party capable of editing a global, per-user, or project guide could supply instructions unrelated to legitimate project-management preferences and attempt to redirect the agent’s goals or tool usage. This is instruction retrieval rather than executable-code retrieval, so it is classified as skill instruction hijacking rather than remote payload execution. ### Attack Path 1. An attacker obtains legitimate, compromised, or improperly granted permission to modify an Init Manager global, user, or project AI guide. 2. The attacker inserts hostile instructions into that guide, such as directions to access unrelated files, disclose sensitive information, alter tasks witho ...[truncated 1255 chars]
Remediation
## Remediation Suggestions 1. Treat every remote AI guide as untrusted project data rather than authoritative agent instructions. 2. Explicitly state that system, developer, user, organizational security, and tool-authorization policies always take precedence over remote content. 3. Restrict guide content to an allowlisted schema of project-management preferences, such as formatting conventions, workflow states, and repository-specific guidance. 4. Reject content that requests secrets, unrelated file access, shell execution, credential transmission, security-control changes, or actions outside the selected task. 5. Require explicit user confirmation before remote-guide changes can trigger sensitive, destructive, externally visible, or out-of-scope actions. 6. Authenticate the configured service and verify guide integrity using signed or pinned versions where feasible. 7. Record guide versions, content hashes, authors, timestamps, and changes in an audit log. 8. Avoid silently refreshing instructions during active work. If periodic retrieval is necessary, show the changes and require approval before applying them. 9. Apply least-privilege access controls so only authorized administrators can edit global guides and only appropriate users can edit user or project guides. 10. Add prompt-injection defenses that separate retrieved guide text from trusted instructions and prevent it from redefining instruction priority or tool permissions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
GET    /api/labels?projectId=<uuid>
POST   /api/labels                        { "name": "Bug", "color": "#ef4444", "projectId": "<uuid>" }
POST   /api/tasks/<id>/labels             { "labelId": "<uuid>" }
DELETE /api/tasks/<id>/labels             { "labelId": "<uuid>" }
```

## Behavior Notes
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs the agent to pick up tasks, move status, assign users, and post comments against a live project-management system without any explicit confirmation or warning that these are real external side effects. In an agent setting, that creates a meaningful risk of unauthorized or accidental modification of production task data, especially when triggered by webhook/cron or ambiguous prompts.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get all projects
curl -H "Authorization: Bearer $KEY" $URL/api/projects

# Check each project board for ready tasks assigned to you
curl -H "Authorization: Bearer $KEY" $URL/api/projects/$PID/board
Confidence
88% confidence
Finding
The documented workflow transmits project/task data and bearer-authenticated requests to an external service, including enumerating projects and boards. While expected for this integration, it is still a real exfiltration and side-effect boundary: an agent following these instructions may send sensitive metadata to a third-party endpoint without surfacing that to the user.

Static analysis

No suspicious patterns detected.