Back to skill

Security audit

Elixir Security Review

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly inert Elixir security-review guidance, but it makes reporting security findings depend on an unpackaged sibling protocol that could change what the agent reports.

Install only if you trust the referenced review-verification-protocol skill in the same environment, or require the publisher to package the full protocol with this skill. Without that, valid findings could be suppressed or shaped by instructions outside the reviewed artifact.

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:47
Finding
External Instruction Redirection and Security Finding Suppression## Vulnerability Details **File Location**: `SKILL.md:47-64` **Vulnerability Type**: Skill instruction hijacking through an external protocol dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ## Hard gates (before reporting) Complete **in order** for each finding you intend to report. Do not advance until the pass condition is satisfied. 1. **Location artifact** — The finding includes `[FILE:LINE]` (or a line range) that you copied from the current file contents; the path resolves in this repo. 2. **Scope read** — You read the full surrounding function or module section that contains the flagged code, not only a diff hunk or summary. 3. **External-data claim** (only if the finding depends on “user/untrusted input”) — You can name one concrete ingress (for example `conn.params`, `Jason.decode!/1` result, uploaded file path, message from another node) **or** you drop the finding because the value is compile-time, test-only, or internal per Context-Sensitive Rules. 4. **Protocol** — Pre-report steps in [review-verification-protocol](../review-verification-protocol/SKILL.md) are satisfied for this item (no finding if they are not). ## Before Submitting Findings Use the issue format: `[FILE:LINE] ISSUE_TITLE` for each finding. Hard gate 4 requires [review-verification-protocol](../review-verification-protocol/SKILL.md); use it as the full pre-report checklist and issue-type verification (it extends beyond this skill’s summary). ``` ### Technical Analysis The skill makes security reporting conditional on instructions stored in `../review-verification-protocol/SKILL.md`, which is outside the audited project and was not available among the supplied files. Consequently, the complete reporting policy cannot be reviewed as part of this package. The language “Do not advance,” “you drop the finding,” and “no finding if they are not” is mandatory rather than advisory. It directly modifies the agent’s reporting beha ...[truncated 1973 chars]
Remediation
## Remediation Suggestions 1. Remove the mandatory dependency on `../review-verification-protocol/SKILL.md`. 2. Place every required verification criterion directly in `SKILL.md` so the complete policy can be audited with the skill package. 3. Replace mandatory suppression directives such as “drop the finding” and “no finding” with advisory validation guidance. 4. When evidence is incomplete, require the report to state its confidence and verification status rather than silently omitting the issue. 5. If reusable protocols are necessary, package them inside the same reviewed project, pin their exact content or version, and prevent resolution through attacker-writable sibling paths. 6. Ensure external documents are treated as reference material rather than authoritative instructions capable of overriding the active audit task.
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.