Back to skill

Security audit

Trending Feed Skill Free

Security checks for vulnerabilities and agentic risk

Overview

The skill appears intended to fetch GitHub Trending data, but it asks for broad exec/write capability while referencing an unspecified script that is not included in the reviewed artifact.

Review this skill before installing. It does not contain malicious instructions, but you should only run a clearly identified, reviewed script, avoid unpinned package installs unless isolated in a virtual environment, and provide a GitHub token only if you understand which command will read it.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:216
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 216
Vulnerability Type: Unpinned dependency and insufficient supply-chain controls
Risk Level: Medium

Vulnerable command:

bash
pip install requests

Technical Analysis

The documentation recommends installing the third-party requests package without specifying an audited version, cryptographic hashes, a lockfile, or an explicitly trusted package index. Package resolution therefore depends on the package index and configuration available at installation time.

Although requests is a legitimate and widely used package, an unconstrained installation can retrieve a version that was not reviewed with the Skill. A compromised upstream release, malicious package-index mirror, or manipulated pip configuration could consequently introduce attacker-controlled code.

The dependency is described as optional, and the documentation identifies Python standard-library networking modules as available. Installing an additional package therefore exceeds the minimum dependency set necessary for the declared functionality.

Attack Path

  1. A user follows the Skill documentation and runs pip install requests.
  2. Pip resolves the dependency through the user's configured index or mirror without enforcing an approved version or package hash.
  3. The selected distribution has been compromised, substituted by an untrusted mirror, or otherwise differs from the audited version.
  4. Malicious installation or runtime code executes in the Python environment.
  5. The malicious component gains access to resources available to the invoking account and may act when the Skill imports or uses the dependency.

Exploitation requires compromise or manipulation of the dependency distribution channel, package source, or local pip configuration; the audited project itself does not contain a malicious package or embedded executable script.

Impact Assessment

Malicious dep ...[truncated 625 chars]

Remediation
View remediation

Remediation Suggestions

  1. Prefer the declared Python standard-library modules and remove the optional third-party dependency if it is unnecessary.
  2. If requests is required, pin it to a reviewed version in a requirements file rather than recommending an unconstrained installation.
  3. Require package hashes, for example through pip install --require-hashes -r requirements.txt.
  4. Generate and retain a lockfile containing reviewed transitive dependency versions.
  5. Install dependencies in an isolated virtual environment under a non-privileged account.
  6. Use an explicitly configured trusted package index or an organization-controlled package mirror.
  7. Add the missing implementation script to the reviewed package so its imports, network destinations, and handling of GITHUB_TOKEN can be audited.
  8. Reconcile the claim that no additional dependencies are needed with the later recommendation to install requests.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Chaining Abuse

High
Category
Tool Misuse
Confidence
70% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · SKILL.md (reported line 120)May include surrounding context.

飞书 / 钉钉:

text
GitHub Trending · 今日热榜
1. owner/repo - 描述 ⭐ 12345 | Python
# ...

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill uses broad activation language such as general data analysis, reporting, statistical insight, and visualization scenarios, which can cause it to trigger in contexts far beyond GitHub trending retrieval. Overbroad routing increases the chance an agent invokes a tool with exec/write capability unnecessarily, expanding attack surface and enabling prompt-driven tool misuse.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The SKILL documentation presents conflicting intent about messaging-platform-related capabilities. L044 states the free version supports formatting for Feishu/Discord/Telegram, while L047 and L179 say timed push to IM channels is not supported in the free version; this creates an active contradiction about whether IM-channel functionality is part of the free skill’s supported behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The capability scope enumerates very broad keywords without clear trigger boundaries, making the skill eligible for many loosely related requests. In an agentic environment, ambiguous matching can lead to inappropriate tool selection and unnecessary access to local execution or file-writing functions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to use exec to run local scripts and later suggests redirecting output to local files, but it does not require explicit user confirmation for command execution or file writes. In a tool-enabled agent, this creates a real risk of silent local side effects, especially if the referenced script path or arguments are modified or interpreted unsafely by downstream tooling.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

L200 states 'GitHub Token 认证提升速率限制(专业版支持)', implying token-based authenticated API use is not a free-version capability. However, L220 says the free version may optionally set GITHUB_TOKEN to improve rate limits, which directly contradicts that limitation and changes the apparent intent of the free skill.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.