Back to skill

Security audit

每日新闻简报(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This is a basic news-briefing skill that fetches public news and writes local Markdown files, with dependency and documentation caveats but no evidence of hidden, destructive, or credential-stealing behavior.

Install this only if you are comfortable with an agent running Python commands, installing Python packages, making web requests to news sites, and creating local brief/cache files. Prefer running it in a virtual environment or sandbox and review the generated script before execution.

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:163
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:163 and SKILL.md:350-351
Vulnerability Type: Unpinned dependencies installed from the configured Python package index
Risk Level: Medium

Vulnerable Code

At SKILL.md:163:

bash
pip install requests beautifulsoup4

At SKILL.md:350-351:

text
| requests | Python library | Required | `pip install requests` |
| beautifulsoup4 | Python library | Required | `pip install beautifulsoup4` |

Technical Analysis

The Skill instructs the Agent to install requests and beautifulsoup4 without version constraints, cryptographic hashes, a lockfile, or an explicitly trusted package index. Consequently, the artifacts installed by this command may change after the Skill has been reviewed.

Package installation can execute package build or installation logic. If a package release, transitive dependency, configured package index, or package-delivery path is compromised, following these instructions could execute attacker-controlled code. The finding does not establish that either named package is currently malicious; the vulnerability is the absence of controls that ensure reviewed and reproducible dependencies are installed.

Attack Path

  1. An attacker compromises a relevant package release or transitive dependency, or causes the environment to resolve packages through a malicious or untrusted Python package index.
  2. The Agent follows the documented pip install requests beautifulsoup4 instruction.
  3. Because no versions or hashes are specified, pip resolves and downloads the packages available from the configured index at execution time.
  4. Malicious package installation logic or imported runtime code executes in the local environment.
  5. The payload operates with the permissions of the user or Agent process performing the installation and running the news collector.

Impact Assessment

Successful exploitation could provide ar ...[truncated 521 chars]

Remediation
View remediation

Remediation Suggestions

  1. Create a reviewed dependency manifest with exact versions, including all transitive dependencies.

  2. Generate and verify cryptographic hashes for every package artifact.

  3. Install dependencies with hash enforcement, for example:

    bash
    python3 -m pip install --require-hashes -r requirements.txt
    
  4. Use an explicitly configured, trusted package index or an internally controlled package mirror rather than relying on ambient index configuration.

  5. Review and update pinned dependencies through a controlled process that includes vulnerability scanning and provenance verification.

  6. Perform installation and execution inside a dedicated virtual environment or sandbox with minimal filesystem, credential, and network access.

  7. Avoid running package installation as an administrator or root user.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill promotes automatic news collection and file generation but does not prominently warn that execution may contact external websites and create local files. In an agent environment with exec/read tools, this can lead to unexpected network access, package installation, and filesystem changes without sufficiently explicit user awareness.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The capability table at L045 states '历史回顾 | 支持(基础)', while the later '已知限制' section lists '历史回顾' as a restricted premium-only feature at L374. These statements directly contradict each other about whether the free version includes historical review functionality.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The scope section includes very broad trigger keywords such as generic agent/LLM invocation terms, making the skill eligible in contexts far beyond a user explicitly asking for a news brief. That can cause unintended activation of a skill with network access and file-writing examples, increasing the chance of surprise external requests or local artifact creation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The example output template hardcodes the Chinese title "每日新闻简报", and the limitations section says multilingual support is unavailable in the free version. This suggests the skill defaults to a specific language/locale without documenting user opt-in or offering a language choice.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The dependency table marks 'LLM API' as '必需' at L355, but the API key section says '免费版无需任何API Key' and that routing is provided by the agent platform at L358-L360. This creates an intent-level contradiction about whether external LLM API access is actually required for the skill to function.

Content

No source excerpt is available for this finding.