Back to skill

Security audit

WeWeRSS

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward WeWeRSS API helper whose network use and channel/source changes match its stated RSS subscription purpose.

Install this only with a WeWeRSS instance you trust, preferably HTTPS and self-hosted or organization-controlled for sensitive use. Do not submit private/internal URLs or confidential sources unless that server is authorized to fetch and store them, and verify SOURCE_ID before running the delete command.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 (5)

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The skill is fundamentally designed around calling an external WeWeRSS API via curl, so external transmission is real rather than a false positive. The danger is contextual: using a user-configured base URL means article requests and related metadata are sent off-host to whatever server is configured, which can expose sensitive browsing, source, or content data if the endpoint is untrusted.

Content

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

md
homepage: https://github.com/punkpeye/wewerss
    requires:
      anyBins:
        - curl
        - jq
---

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs users to submit arbitrary source URLs and later retrieve article content from a user-specified WeWeRSS instance, but it does not warn that both submitted URLs and fetched article data are transmitted to and processed by an external service. This creates a real privacy and trust-boundary issue because users may assume the skill only operates locally while it actually sends data to a remote endpoint under the operator’s control.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This command posts a user-provided feed URL to the remote WeWeRSS service, which is a direct external transmission of user input to a third-party endpoint. That can leak internal, private, or sensitive URLs and may also cause the remote service to fetch them, creating additional privacy and SSRF-style risk on the server side if users provide internal addresses.

Content

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

md
CHANNEL_ID="your-channel-uuid"

# 添加 RSS feed
curl -s -X POST "$WEWERSS_BASE_URL/api/open/channels/$CHANNEL_ID/sources" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/feed.xml"}' | jq .

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This example submits an arbitrary website URL to the external service for automatic RSS discovery, which discloses the URL and instructs the remote server to crawl it. In the skill context this is expected functionality, but it still creates meaningful risk if users provide confidential/internal URLs or if the configured WeWeRSS instance is not trusted.

Content

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

-d '{"url":"https://example.com/feed.xml"}' | jq .

添加网站(自动发现 RSS)

curl -s -X POST "$WEWERSS_BASE_URL/api/open/channels/$CHANNEL_ID/sources"
-H "Content-Type: application/json"
-d '{"url":"https://example.com"}' | jq .

text

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The documented DELETE command can permanently remove a configured source from a channel, but the skill does not warn about the destructive effect or encourage confirmation before execution. In an agent context, this increases the chance of accidental data-source removal or workflow disruption if a user or automation copies the command without understanding the consequence.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.