Back to skill

Security audit

订阅摘要(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This RSS digest skill is mostly purpose-aligned, but it asks agents to install and run an unpinned third-party CLI and includes overbroad generic automation, file, and API claims beyond RSS use.

Install only if you trust the `odysseus0/tap/feed` Homebrew tap and are comfortable with the agent running a local feed CLI. Prefer pinning or verifying the CLI source and checksum, and use the skill only for RSS/feed tasks rather than generic file, API, or automation work.

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

Unpinned Executable Installed from a Third-Party Homebrew Tap

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 238; repeated at lines 249, 334, and 357
Vulnerability Type: Unverified third-party dependency
Risk Level: Medium

bash
brew install odysseus0/tap/feed

Technical Analysis

The Skill instructs users or agents to install the required feed executable from a third-party Homebrew tap without pinning an exact version, commit, or artifact checksum. The documentation also does not identify a reviewed source repository or require verification of the downloaded package.

Because the external formula and its referenced artifacts can change after the Skill has been audited, the code ultimately executed by subsequent feed fetch, feed get, and feed update commands is not bounded to a reviewed version. A compromise of the tap, its maintainer account, the formula's upstream download location, or the release artifact could introduce attacker-controlled code.

Network access is necessary for the declared RSS-fetching functionality, and the reviewed Skill does not explicitly transmit credentials or private files. The risk instead arises from executing a mutable, externally supplied dependency with the permissions of the user or agent.

Attack Path

  1. An attacker compromises the third-party Homebrew tap, its maintainer account, or an upstream artifact referenced by its formula.
  2. The attacker publishes a modified formula or malicious feed release under the expected package name.
  3. A user or agent follows the Skill's documented brew install odysseus0/tap/feed instruction.
  4. Homebrew downloads and installs the altered dependency without the Skill verifying an expected version or checksum.
  5. The Skill invokes the installed binary through commands such as feed fetch.
  6. The malicious binary executes with the invoking account's permissions and can abuse any filesystem, process, environment, or network access available in that execution context.

...[truncated 645 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin the dependency to a reviewed immutable version or commit rather than installing the current package from a mutable tap.
  2. Publish the expected SHA-256 checksum for the release artifact and verify it before installation or execution.
  3. Document the canonical source repository, release URL, maintainer identity, and reviewed version.
  4. Prefer an official package source with signed releases and provenance attestations. If the third-party tap remains necessary, pin the tap repository to a reviewed commit.
  5. Build from a pinned source revision in a controlled environment where practical, and verify reproducible build outputs.
  6. Run the CLI in a restricted sandbox with access only to its feed database and required configuration files.
  7. Limit outbound network access to explicitly configured HTTP or HTTPS feed hosts and deny loopback, private-network, link-local, and cloud-metadata destinations unless they are specifically required.
  8. Avoid exposing unrelated secrets or sensitive environment variables to the CLI process.
  9. Add dependency integrity checks and periodic source review to the Skill's installation workflow.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (8)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The activation language is overly broad, positioning the skill for generic productivity, automation, and workflow optimization rather than narrowly for RSS digest tasks. In agent routing systems, such broad framing can cause the skill to be invoked in unrelated contexts, increasing the chance that its exec capability is used where a safer, narrower tool should have been selected.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description states '支持中文交互' and the feature note says the skill covers '中文交互' as a core capability, but there is no indication that users may choose another language. This creates a language policy issue because the skill appears to impose a specific language/locale without explicit user opt-in or justification.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The capability table frames the skill around fetching, unread scanning, classification, and summarization, while the implementation and examples include feed update entries --read and feed add <url>. Those are state-changing feed management capabilities that go beyond the narrower manifest description of a digest tool.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The capability matrix marks 'AI深度摘要' as unsupported in the free version, yet the dependency section says an LLM API is required and the document repeatedly presents summary generation as a built-in free capability. This creates an intent-level contradiction about whether LLM-backed summarization is available in the free edition.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill claims broad capabilities like generic file handling and external API integration that are not justified by its stated RSS digest purpose. In an agentic environment, overstating capabilities expands the apparent authorization surface and can socially engineer the host agent into performing unrelated high-risk actions under the guise of a benign feed tool.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Advertising generic file-writing capability is dangerous because it is unrelated to the tool's RSS-only purpose and could justify unauthorized modification of local files if the agent trusts the documentation. Even without explicit write tools in the manifest, this kind of misleading scope expansion can induce unsafe operator behavior or future implementation drift.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Claiming broad external API integration unrelated to RSS digesting can be used to normalize arbitrary outbound access and data transfer. In a tool-using agent context, that increases the risk of data exfiltration, unintended third-party calls, or unsafe workflow expansion beyond the user's expected task boundary.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file consistently specifies and demonstrates the skill entirely in Chinese, including headings, docstrings, labels, and printed output such as '订阅摘要 | 今日精选'. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified, which is not present here.

Content

No source excerpt is available for this finding.