Back to skill

Security audit

Crypto Market News

Security checks for vulnerabilities and agentic risk

Overview

This skill is a simple crypto RSS news fetcher with some minor disclosure and trigger-scope issues, but no evidence of hidden persistence, credential access, destructive behavior, or remote code execution.

Before installing, be aware that the skill will make outbound requests to public crypto-news RSS feeds and may summarize headlines with trading sentiment. Treat those summaries as informational only, verify source articles before making financial decisions, and consider narrowing the trigger language if you only want it to activate for explicit crypto-news requests.

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
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding
The code substantially matches the declared purpose of fetching crypto news from major sources and supporting keyword-based queries. However, there is a notable source mismatch: the declared description names Blockworks, while the code actually queries CryptoSlate and does not include Blockworks. Also, the script is a simple RSS fetcher with time filtering, so claims like 'real-time' and 'market overview before trading decisions' are only partially supported by this chunk. The primary purpose is aligned, but the listed news sources are not fully accurate, so this should be flagged as a mismatch.

External Script Fetching

High
Category
Supply Chain
Content
NAME="${FEED_NAMES[$i]}"
  echo "--- $NAME ---"

  RAW=$(curl -sL --max-time 10 "$FEED" 2>/dev/null)
  if [ -z "$RAW" ]; then
    echo "(fetch failed)"
    echo ""
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

External Script Fetching

High
Category
Supply Chain
Content
#!/usr/bin/env python3
"""
parse_rss.py - Parse RSS/Atom feed from stdin and print matching articles.
Usage: curl -sL <feed_url> | python3 parse_rss.py [keyword] [cutoff_timestamp]
"""

import sys
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill invokes a shell script but does not declare any tool restrictions or permissions, which weakens containment and reviewability. In an agent environment, undeclared shell capability can allow execution paths that are broader than users or orchestrators expect, increasing the chance of command execution abuse or unsafe handling of user-provided arguments.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases are broad enough to activate on common conversational language such as 'news' or 'latest updates,' which can cause the skill to run unexpectedly. Because the skill executes shell-backed logic and influences trading-related summaries, accidental activation increases the risk of unnecessary external fetching, misleading context switches, and unrequested decision support.

Static analysis

No suspicious patterns detected.