T01 · Skill Instruction Hijacking
- Location
CLAUDE.md:1- Finding
Repository Instructions Hijack Agent Tooling, Workflow, and Output
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s core behavior is coherent and draft-only, but the package includes unrelated agent-control instructions and weaker Markdown sanitization that warrant review before installation.
Review this package before installing. The core skill is useful if you want a local, draft-only action board from data you provide, but do not let repository guidance files override your agent’s normal policies, and do not run Saturnday commands or install hooks unless you separately trust that tool. Prefer the structured JSON output or sanitize rendered Markdown before sharing it, and update the development dependencies before running tests or dev servers.
CLAUDE.md:1Repository Instructions Hijack Agent Tooling, Workflow, and Output
src/render.ts:33Untrusted Work-Item Fields Are Rendered as Active Markdown Without Adequate Sanitization
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
The file indicates use of vitest 3.2.4, which is flagged with critical issues including arbitrary file read and possible execution when the Vitest UI server is exposed, plus path traversal via mocker redirect behavior. Even though this is a devDependency, exploitation in developer workstations or CI runners could expose secrets, source code, or enable code execution in trusted build environments.
The description presents a broad orchestration skill whose primary function is to combine and prioritize work items from multiple sources into a unified action board. The actual code chunk does not implement that behavior; it is a unit test file for a Trello normalizer. Its scope is narrow and limited to validating Trello field mapping and logging behavior. While Trello normalization could be a supporting component of the declared skill, this specific chunk materially differs from the declared primary purpose and lacks the described multi-source orchestration, deduplication, prioritization, and rendering capabilities. Therefore this chunk does not accurately represent the declared skill behavior.
This code chunk does not implement the declared orchestration behavior at all. It is purely a unit/integration test for repository setup and dependency configuration. While reading a local package.json is not inherently dangerous, it is materially unrelated to the claimed purpose of processing work-item data and producing a merged prioritized action board. Therefore, the description does not accurately represent the supplied code chunk.
Referenced artifact was not completely inspected
3. Pass all normalised items through `dedupe` (src/dedupe.ts) to merge cross-source duplicates using conservative confidence-based matching.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
## Non-goals
- Auto-sending replies or write-backs without confirmation.
- Replacing dedicated project management tools.
- ML-based classification.
- API connectors or credential management — bring your own data or use upstream tools.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
created_at: '2024-01-15T10:00:00Z',
updated_at: '2024-01-16T12:00:00Z',
user: { login: 'charlie' },
pull_request: { url: 'https://api.github.com/repos/acme/app/pulls/101' },
requested_reviewers: [{ login: 'dave' }],
repository: { full_name: 'acme/app' },
...overrides,
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"test:watch": "vitest"
},
"devDependencies": {
"tsx": "^4",
"typescript": "^5",
"vitest": "^3"
},
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
},
"devDependencies": {
"tsx": "^4",
"typescript": "^5",
"vitest": "^3"
},
"license": "MIT"
Using an unpinned vitest dependency is more dangerous here because the resolved version is identified as 3.2.4 with critical advisories. While the issue originates from the vulnerable package rather than the caret range itself, allowing flexible resolution increases the chance of pulling an unsafe version in developer or CI environments.
"devDependencies": {
"tsx": "^4",
"typescript": "^5",
"vitest": "^3"
},
"license": "MIT"
}
No suspicious patterns detected.