Back to skill

Security audit

Crypto Research Interactive Framework

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Markdown crypto-research skill, but its optional MCP setup recommends risky unpinned package execution and one API-key-in-URL configuration.

Install the Markdown skill only if you are comfortable with a crypto research assistant that reads public sources and writes local reports. Avoid copying the optional MCP examples as-is: pin package versions, prefer environment variables for secrets, review MCP server provenance, and run them in a constrained environment if you enable them.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Error
Location
references/core/mcp-servers.md:14
Finding
Unpinned Third-Party MCP Packages Are Downloaded and Executed Automatically## Vulnerability Details **File Location**: `references/core/mcp-servers.md`, lines 14-110 **Vulnerability Type**: Unpinned and unverified third-party dependency execution **Risk Level**: High ### Vulnerable Configuration ```json "coingecko": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.api.coingecko.com/mcp"] } ``` ```json "coingecko": { "command": "npx", "args": ["-y", "@coingecko/coingecko-mcp"], "env": { "COINGECKO_DEMO_API_KEY": "your-demo-key-here" } } ``` ```json "coinmarketcap": { "command": "npx", "args": ["-y", "@shinzolabs/coinmarketcap-mcp"], "env": { "COINMARKETCAP_API_KEY": "your-key-here", "SUBSCRIPTION_LEVEL": "Basic" } } ``` ```json "defillama": { "command": "npx", "args": ["-y", "@iqai/defillama-mcp"] } ``` ```json "dune": { "command": "npx", "args": ["-y", "dune-mcp-server"], "env": { "DUNE_API_KEY": "your-key-here" } } ``` ```json "exa": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=your-key-here"] } ``` ```json "exa": { "command": "npx", "args": ["-y", "exa-mcp-server"], "env": { "EXA_API_KEY": "your-key-here" } } ``` ### Technical Analysis The MCP installation examples invoke `npx` with the `-y` option and package names that do not specify exact versions. `npx` can retrieve the currently resolved package from the configured npm registry and immediately execute its entry point. The `-y` option suppresses the normal installation confirmation. Consequently, the code executed at installation or startup is not fixed to the content reviewed with this Skill. A compromised package release, maintainer account, transitive dependency, registry response, or mutable package tag could cause different and malicious code to run. No package lockfile, integrity hash, signature verification, or sandbox policy i ...[truncated 1729 chars]
Remediation
## Remediation Suggestions 1. Pin every package to an exact reviewed version, for example `package-name@1.2.3`, rather than resolving the latest mutable release. 2. Remove `-y` so installation or first execution requires explicit user approval. 3. Install dependencies through a lockfile-based process and enforce npm integrity hashes. 4. Verify package ownership, provenance, release signatures, and official provider documentation before recommending a package. 5. Prefer locally installed, reviewed dependencies over downloading and executing packages during MCP startup. 6. Run each MCP server in a sandbox or container with: - Read-only filesystem access where possible. - Access only to explicitly required workspace paths. - A minimal environment containing only the required credential. - Network egress restricted to the intended provider endpoints. - No access to SSH keys, cloud credentials, wallet files, or unrelated configuration. 7. Document the trust boundary and require informed user consent before installing community-maintained servers. 8. Establish a dependency update process that reviews changes before updating pinned versions.

T09 · Insecure Skill Coding Practices

Warning
Location
references/core/mcp-servers.md:97
Finding
Exa API Key Is Exposed Through a URL Query Parameter and Process Arguments## Vulnerability Details **File Location**: `references/core/mcp-servers.md`, lines 97-101 **Vulnerability Type**: Sensitive credential exposure through command-line arguments and URL logging **Risk Level**: Medium ### Vulnerable Configuration ```json "exa": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=your-key-here"] } ``` ### Technical Analysis The configuration instructs users to substitute an Exa API key directly into the remote endpoint's query string. When launched, the complete URL becomes a command-line argument to `mcp-remote`. Command-line arguments may be visible through process-inspection utilities, host monitoring software, crash reports, debug output, AI tool logs, MCP launcher logs, and process telemetry. Query strings may additionally be recorded by proxies, gateways, HTTP diagnostics, or server access logs. HTTPS protects the URL while it is in transit but does not prevent disclosure at either endpoint or through local process metadata. The project correctly uses environment variables for its local Exa configuration and several other MCP examples. The remote example should provide equivalent protection instead of placing a reusable secret in a URL. ### Attack Path 1. A user replaces `your-key-here` with a valid Exa API key. 2. The MCP host launches `mcp-remote` with the complete credential-bearing URL in its argument list. 3. A local process observer, diagnostic agent, log collector, crash reporter, proxy, or other component captures the command line or complete URL. 4. An attacker obtains the captured key from process metadata or retained logs. 5. The attacker submits requests to Exa using the compromised credential. 6. Unauthorized requests consume the victim's quota and may incur charges until the credential is detected and revoked. ### Impact Assessment Exploitation can disclose the configured Exa API key. An attacker may gain the API privileges ...[truncated 431 chars]
Remediation
## Remediation Suggestions 1. Do not include API keys in URL query parameters. 2. Pass the key through a protected environment variable, matching the documented local Exa configuration: ```json "env": { "EXA_API_KEY": "your-key-here" } ``` 3. If the remote protocol supports it, transmit the key through an authorization header populated at runtime. 4. Confirm that `mcp-remote` supports secret injection without placing credentials in process arguments before recommending the remote option. 5. Redact credentials from MCP launcher logs, debug output, errors, telemetry, and crash reports. 6. Restrict access to MCP configuration files and avoid committing them to source control. 7. Advise users who previously used the query-string configuration to rotate their Exa keys and inspect retained logs. 8. Update `SECURITY.md` to accurately document the hardcoded optional MCP endpoints and their credential-handling risks.
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
Findings (91)

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
SESSION SUMMARY TEMPLATE
INSTRUCTIONS:
- brainstorming-guide: `./references/guides/brainstorming-guide.md`
Confidence
87% confidence
Finding
The HTML comment contains operational instructions and references to additional guidance files that are hidden from normal rendered view but still consumable by the model. Hidden instructions increase the risk of prompt-injection-style priority conflicts, making the agent follow opaque repository directives instead of visible user-facing behavior.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
COMPETITIVE ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
88% confidence
Finding
The file places operative instructions inside an HTML comment block, which can function as hidden prompt guidance not visible in normal rendered output. Hidden instructions are risky because they can silently steer model behavior, bypass user awareness, and create instruction-precedence confusion, especially when they reference external standards and validation files that may further constrain behavior.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
BLOG ARTICLE TEMPLATE
INSTRUCTIONS:
- content-style: `./references/guides/content-style.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
TIKTOK SCRIPT TEMPLATE
INSTRUCTIONS:
- content-style: `./references/guides/content-style.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
X THREAD TEMPLATE
INSTRUCTIONS:
- content-style: `./references/guides/content-style.md`
Confidence
88% confidence
Finding
The file embeds operative instructions inside an HTML comment, making behavior-affecting guidance less visible to reviewers and downstream tooling while still potentially being consumed by models or template processors. Hidden instructions increase prompt-injection and review-evasion risk because security-relevant constraints can be concealed from normal inspection and can unexpectedly steer generated output.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
YOUTUBE SCRIPT TEMPLATE
INSTRUCTIONS:
- content-style: `./references/guides/content-style.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
CREATE IMAGE PROMPT TEMPLATE
INSTRUCTIONS:
- image-prompt-engineering: `./references/guides/image-prompt-engineering.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
> This section structure is a generic template. Each workflow should customize the specific sections based on its objectives and scope.
>
> **Language Requirement:** All content between `<!-- BEGIN OUTPUT CONTENT -->` and `<!-- END OUTPUT CONTENT -->` markers must be written in **EN - English**.

<!-- BEGIN OUTPUT CONTENT -->
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- Use case/purpose for the image (e.g., "social media post", "blog header", "logo") -->

**Models:** {target_models}
<!-- List of target models (default: "Universal, ChatGPT Image, Gemini Image, Grok Image") -->

**Parameters:**
- Aspect Ratio: {aspect_ratio}
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
INVESTMENT RESEARCH BRIEF TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
PROJECT RESEARCH BRIEF TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
SECTOR RESEARCH BRIEF TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
DEVIL'S ADVOCATE REVIEW TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
89% confidence
Finding
The HTML comment contains operative instructions that are hidden from normal rendered view but still consumed by the model, including external instruction references and output constraints. Hidden instructions create a prompt-layer transparency problem: they can silently steer model behavior away from user expectations, and because they are not visible in the rendered template, reviewers and users may miss behavioral controls that affect analysis quality and compliance.

Natural-Language Policy Violations

High
Confidence
97% confidence
Finding
The required scope summary template is written in Vietnamese and appears to force a specific response language without checking the user's language preference. In practice this can degrade user comprehension, obscure clarifications, and create a safety issue where scope, exclusions, or risk caveats are misunderstood before research proceeds.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
OPEN RESEARCH TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
84% confidence
Finding
The file embeds operational instructions inside an HTML comment, which is hidden from normal rendering but still available to the model. Hidden instructions can create non-transparent behavior and bypass user or reviewer expectations about how the agent is being steered, especially when they include policy-like directives about output standards and validation.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
PRODUCT ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
95% confidence
Finding
The file embeds operational instructions inside an HTML comment, creating hidden guidance that may influence agent behavior without being visible to users. Hidden instructions are dangerous because they can silently steer outputs, bypass user awareness, and create prompt-injection-like control channels even when the content appears to be a passive template.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
PROJECT SNAPSHOT TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
84% confidence
Finding
The hidden HTML comment contains operational instructions that are not visible in the rendered template but can still steer model behavior. Hidden instructions are risky because they create non-transparent control channels that may bypass user expectations and make auditing harder, even though the content here appears formatting-oriented rather than overtly malicious.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
QA REVIEW TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
SECTOR LANDSCAPE TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
87% confidence
Finding
The HTML comment contains operational instructions that are hidden from normal rendered view but still consumed by the agent/template pipeline. Hidden directives are risky because they can smuggle behavior-changing rules such as language control, validation paths, and formatting constraints without clear visibility to reviewers or end users, increasing the chance of prompt injection-like precedence issues.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
SECTOR OVERVIEW TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
82% confidence
Finding
The file embeds operative instructions inside an HTML comment, making behavior-shaping directives less visible to reviewers and downstream analyzers. Hidden instructions increase the risk of policy bypass, unexpected model steering, and unnoticed conflicts such as the concealed language mandate and external instruction references.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
SOCIAL SENTIMENT TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
TEAM & INVESTOR ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
89% confidence
Finding
The HTML comment contains operative instructions that are not visible in normal rendered output, including validation and language-control directives. Hidden instructions are risky because they can silently influence agent behavior in ways the user cannot inspect, creating prompt-injection-like control channels and making it easier to smuggle policy-conflicting behavior.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
TECHNOLOGY ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
88% confidence
Finding
The HTML comment contains hidden operational instructions that are not visible in normal rendered output but can still influence the model's behavior, including validation and language requirements. Hidden instructions reduce transparency, make behavior harder to audit, and can be used to smuggle priority rules that conflict with user intent or higher-level controls.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
TOKENOMICS ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
88% confidence
Finding
The file embeds operative instructions inside an HTML comment, including external guidance references and language/output constraints. Hidden instructions are dangerous because downstream tooling or prompt-assembly systems may still ingest them while reviewers or users do not see them, creating a transparency gap and enabling unexpected behavior that can bypass normal scrutiny.

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
TOPIC ANALYSIS TEMPLATE
INSTRUCTIONS:
- output-standards: `./references/guides/output-standards.md`
Confidence
84% confidence
Finding
The template places operative instructions inside an HTML comment, making behavior-shaping directives less visible to reviewers while still potentially being consumed by an LLM that reads raw file contents. Hidden instructions reduce auditability and can conceal constraints or output manipulation that users and maintainers may not notice.

Static analysis

No suspicious patterns detected.