Back to skill

Security audit

Reddit调研(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Reddit research helper, but it asks for broad command and file-search authority and includes an underspecified callback URL beyond its read-only research purpose.

Install only if you intend to use it for explicit Reddit research. Prefer running it with web-fetch-only permissions or a constrained shell, avoid granting local file search unless needed, and do not provide callback URLs unless the host agent validates the destination and confirms what data will be sent.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:129
Finding

Unrestricted Callback URL May Enable SSRF and Unintended Result Disclosure

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 129
Vulnerability Type: Unrestricted callback destination
Risk Level: Medium

Complete Code Snippet

markdown
| callback_url | string | No | Callback notification URL used when asynchronous processing completes |

The original field description defines an optional callback_url as the destination for asynchronous completion notifications.

Technical Analysis

The Skill accepts a caller-provided callback URL but specifies no security controls for how an implementing Agent should validate or use it. In particular, it does not require:

  • An allowlist of trusted callback domains
  • HTTPS-only destinations
  • Rejection of loopback, link-local, private-network, or cloud metadata addresses
  • DNS rebinding protections
  • Redirect validation
  • Callback authentication
  • Explicit user confirmation before transmitting results
  • Data minimization for callback payloads

If an Agent implements this parameter by making an HTTP request to the supplied address, the callback becomes an attacker-controlled network sink. This can result in server-side request forgery or disclosure of research results. Asynchronous callbacks are not necessary for the documented synchronous Reddit research workflow, so this capability exceeds the minimum privileges required by the core functionality.

Attack Path

  1. An attacker supplies a research request containing a malicious callback_url.
  2. The URL points either to an attacker-controlled collection endpoint or to an address accessible only from the Agent's environment, such as localhost, a private-network service, or a cloud metadata endpoint.
  3. The Agent scans Reddit and generates the requested research output.
  4. The Agent sends a completion request or results to the supplied callback without adequate destination validation.
  5. The attacker receives research data, or the Agent reaches an otherwise inaccessi ...[truncated 775 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove callback_url from the free synchronous workflow unless asynchronous delivery is an explicit requirement.
  2. Require explicit user confirmation before sending any data to a callback destination.
  3. Restrict callbacks to HTTPS and an allowlist of trusted domains.
  4. Resolve and validate destination addresses before each request, rejecting loopback, link-local, private, reserved, multicast, and cloud metadata ranges for both IPv4 and IPv6.
  5. Disable redirects or revalidate every redirect target using the same destination controls.
  6. Protect against DNS rebinding by validating resolved addresses at connection time.
  7. Apply strict timeouts, response-size limits, request-rate limits, and fixed HTTP methods.
  8. Send only a minimal completion status or opaque job identifier rather than the full research report.
  9. Authenticate callbacks using a scoped signing secret or equivalent integrity mechanism, without embedding credentials in the URL.
  10. Document which payload fields are transmitted and ensure logs redact callback credentials and sensitive query parameters.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The activation criteria are overly broad and overlap with ordinary writing, marketing, and content-generation requests, making accidental invocation more likely. In a skill with exec-enabled tooling, over-triggering increases the chance that unrelated conversations cause external fetching or tool use on untrusted content without clear user intent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill advertises a narrow Reddit research workflow, but its manifest grants powerful generic tools including local command execution and filesystem search. That creates unnecessary capability expansion: if the agent is induced by malicious Reddit content or ambiguous user prompts, it could execute arbitrary shell commands or inspect local files unrelated to the stated purpose.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The keyword coverage list is vague and extremely broad, so the skill may match on common phrases without a clear boundary of when it should or should not run. This increases the attack surface by enabling unnecessary handling of user input and untrusted external content under a skill that has more privileges than its business purpose requires.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The manifest-facing display name and summary are presented in Chinese, and the rest of the skill documentation is primarily Chinese with no stated language-selection or opt-in behavior. This can amount to a locale/language policy issue when a skill implicitly defaults users into a specific language without documenting choice.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
72% confidence
Finding

The '已知限制' section says the free version excludes automated recurring research and advanced workflow features, while earlier capability descriptions state that multiple abilities support '创建/查询/导出操作'. That wording suggests a more operational or stateful system than the rest of the document's simple read/analyze/report intent and creates ambiguity about what the skill actually does.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.