Back to skill

Security audit

gate-news-eventexplain

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a read-only crypto price-move explainer, but it requires agents to follow unaudited parent-directory runtime rules as highest-priority instructions.

Review this skill only if you are comfortable with its dependence on shared runtime-rule files outside the package. The documented market-analysis workflow is read-only and proportionate, but the external highest-priority instructions should be bundled, pinned, or otherwise verified before installation.

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:13
Finding
Untrusted External Instructions Are Assigned Highest Priority## Vulnerability Details **File Location**: `SKILL.md`, lines 13–17 **Vulnerability Type**: External instruction loading and priority override **Risk Level**: High ### Vulnerable Code ```markdown ⚠️ STOP — You MUST read and strictly follow the shared runtime rules before proceeding. Do NOT select or call any tool until all rules are read. These rules have the highest priority. → Read `../gate-runtime-rules.md` → Also read `../info-news-runtime-rules.md` for gate-info / gate-news shared rules (tool degradation, report standards, security, routing, and optional local maintenance when `scripts/` is present). - **Only call MCP tools explicitly listed in this skill.** Tools not documented here must NOT be called, even if they exist in the MCP server. ``` ### Technical Analysis The skill requires the agent to load two files from outside the audited project directory and declares their contents to have the “highest priority.” Neither referenced file is included in the reviewed artifact, so its contents and integrity cannot be verified as part of this audit. This creates an instruction-hijacking boundary violation: behavior presented as part of the skill is controlled by mutable, unaudited parent-directory content. If an attacker or compromised installation process can modify either external file, the attacker can inject instructions that alter tool selection, routing, data handling, security constraints, or report output when this skill is activated. Skill-level text cannot legitimately supersede system, developer, platform safety, or explicit user instructions. Assigning highest priority to external content compounds the risk by encouraging the agent to treat potentially attacker-controlled text as authoritative. ### Attack Path 1. An attacker gains write access to `../gate-runtime-rules.md` or `../info-news-runtime-rules.md`, or supplies a package layout containing a malicious version of either file. 2. A user activates this skill with a price-movement att ...[truncated 1426 chars]
Remediation
## Remediation Suggestions 1. Remove the statement that external runtime rules have the “highest priority.” 2. Explicitly state that system, developer, platform safety, and user instructions retain precedence over all skill content. 3. Bundle all required runtime rules inside the audited skill package rather than resolving them through parent-directory paths. 4. If shared files are operationally necessary: - Resolve them only from a trusted, fixed installation root. - Reject symbolic links and path traversal. - Pin an approved version and cryptographic hash. - Verify integrity before loading. - Fail closed when verification fails. 5. Treat loaded documentation as untrusted reference data rather than executable or authoritative instructions. 6. Enforce the MCP allowlist in host code or policy, not solely through natural-language instructions. 7. Include shared rule files in release artifacts and security reviews so the complete effective instruction set is auditable. 8. Add tests confirming that external files cannot override higher-priority instructions or expand the approved tool set.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Vague Triggers

Medium
Confidence
92% confidence
Finding
The routing rule maps the broad intent 'Reason for price move' directly to executing the skill, but does not define boundaries for what counts as a price-move question versus adjacent intents. Because the README gives only examples and no exclusion conditions or negative examples, this could cause unintended invocation for common market questions.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The trigger phrases are broad natural-language terms like 'what just happened' and 'what caused', which can match many benign market questions and cause this skill to activate outside its narrowly intended scope. In a skill-based agent, overbroad activation can route user requests into the wrong workflow, producing incomplete analysis, unnecessary tool calls, or bypassing a more appropriate skill such as the multi-dimension research path.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Content
## General Rules

⚠️ STOP — You MUST read and strictly follow the shared runtime rules before proceeding.
Do NOT select or call any tool until all rules are read. These rules have the highest priority.
→ Read `../gate-runtime-rules.md`
→ Also read `../info-news-runtime-rules.md` for gate-info / gate-news shared rules (tool degradation, report standards, security, routing, and optional local maintenance when `scripts/` is present).
- **Only call MCP tools explicitly listed in this skill.** Tools not documented here must NOT be called, even if they
Confidence
80% confidence
Finding
Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger scenario language describes curiosity about anomalies but does not clearly define activation boundaries for borderline cases, increasing the chance of accidental invocation. Because this skill is intended only for single-dimension event attribution, ambiguous activation can mis-handle requests that also require fundamentals, risk, or technical analysis, leading to incomplete or misleading outputs.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The natural-language label "Why did a coin pump (Chinese)" imposes a locale/language condition, but the file does not state that the user requested Chinese or that language selection is optional. This can violate language/locale policy by forcing a specific language without explicit opt-in.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
## Scenario 4: General news (route away)

**Context**: User asks for recent news without asking why a move happened.

**Prompt Examples**:
- "Any recent news"
Confidence
75% confidence
Finding
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.

Vague Triggers

Medium
Confidence
94% confidence
Finding
This is a markdown file, so vague-trigger review applies. The example prompts "Any recent news" and "What happened in crypto today" are broad natural-language requests without clear activation constraints, negative examples, or scope boundaries, which could cause unintended invocation or routing collisions with other news-related skills.

Static analysis

No suspicious patterns detected.