Back to skill

Security audit

Elixir Performance Review

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a normal Elixir performance-review checklist, but it requires loading a separate sibling instruction file that is not included in the reviewed package.

Install only if you trust the environment that will provide review-verification-protocol/SKILL.md, or ensure that dependency is bundled, pinned, or otherwise controlled. The included Elixir guidance itself is straightforward and non-executable, but the missing external instruction file can change how agents behave during reviews.

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

Warning
Location
SKILL.md:46
Finding
Mandatory Loading of Untrusted Instructions Outside the Skill Package<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:46-65` **Vulnerability Type**: External skill instruction redirection **Risk Level**: Medium ### Vulnerable Code ```markdown ## Gates — before reporting Do these **in order** for the performance review. Do not publish findings until each step passes. 1. **Protocol loaded** — Read [review-verification-protocol](../review-verification-protocol/SKILL.md) and apply its checks for each finding (hot paths, concurrency, resource use). **Pass:** For every substantive finding, you can name which protocol subsection you satisfied or state **N/A** with reason (e.g. pure reference to this skill’s Valid Patterns). 2. **Anchored evidence** — **Pass:** Each finding includes a concrete locator: `path:line` (or line range), or `Module.function/arity` plus a short quoted snippet from the file. 3. **Performance claims** — For anything under [Context-Sensitive Rules](#context-sensitive-rules), or any claim of bottleneck, N+1, unbounded growth, or heavy memory/binary cost, **Pass:** You state the **observed or measured** fact that meets “Flag ONLY IF” (e.g. rate, item count, ratio), or attach an artifact (profiler output, SQL/log excerpt, `grep`/search scope)—otherwise downgrade to **question** / **suspected** with what was not verified. ## Before Submitting Findings Complete **Gates — before reporting** (section above) first; the verification protocol is mandatory input to those gates. ``` ### Technical Analysis The skill instructs the agent to load `../review-verification-protocol/SKILL.md`, which is outside the audited skill package, and explicitly designates that external protocol as mandatory input. The referenced file is absent from the supplied artifact, so its content and integrity cannot be assessed or guaranteed by this package's review. This creates an indirect instruction channel. The effective behavior of the reviewed skill depends on mutable content in a sibling directory rather than solely on t ...[truncated 1849 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Move the complete verification protocol into this reviewed skill package and reference it using a path that cannot escape the package root. 2. Prefer self-contained validation rules in `SKILL.md` so the skill's effective instructions can be audited as one immutable unit. 3. If reuse is necessary, pin the external protocol to a trusted, versioned artifact and verify its cryptographic digest before use. 4. Treat externally loaded documents as untrusted reference data rather than mandatory agent instructions. 5. Reject resolved reference paths outside the approved skill root unless they are explicitly allowlisted and integrity-checked. 6. Add installation-time or CI validation that detects parent-directory references such as `../` in instruction-bearing links. 7. Re-audit the complete bundled or pinned protocol whenever its version or digest changes. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.