Back to skill

Security audit

AI DeepNews

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently fetches public AI news, translates it to Chinese, and writes a local digest, with no evidence of hidden persistence, credential access, destructive behavior, or deception.

Install only if you are comfortable with the skill contacting public RSS feeds and Google Translate, and treat generated article text and links as untrusted external content. For safer use, run it in an isolated virtual environment, review links before opening them, and consider pinning dependencies before repeated or automated use.

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

T09 · Insecure Skill Coding Practices

Warning
Location
fetch_ai_news_improved.py:153
Finding

Untrusted RSS Content Is Emitted Without Safe Markdown or URL Handling

Content
View full analysis
]+>", "", summary).strip() ``` ```python for orig, trans in items: lines.append(f"**{trans['title']}**") if trans["summary"]: lines.append(f"> {trans['summary'][:200]}") if orig["link"]: lines.append(f"🔗 [原文链接]({orig['link']})") lines.append("") ``` ```python # 输出到 stdout(供 OpenClaw 读取) print(digest) ``` ### Technical Analysis Article titles, summaries, and links originate from remote RSS feeds and must therefore be treated as attacker-controlled input. The implementation removes HTML-like tags from summaries using a regular expression, but it does not: - Escape Markdown metacharacters in titles or summaries. - Prevent crafted content from terminating or restructuring existing Markdown. - Validate the scheme or destination of article URLs. - Delimit remote content as untrusted data before printing it for OpenClaw consumption. - Neutralize instruction-like text that could influence a downstream AI agent. The HTML-removal expression is not a general-purpose sanitizer and does not address Markdown injection. A malicious feed entry could insert headings, links, images, misleading formatting, or instruction-like content into `latest_digest.md` and stdout. The original link is interpolated directly into Markdown, allowing arbitrary schemes or deceptive destinations if supplied by the feed. This is especially relevant because the comment explicitly identifies stdout as an interface consumed by OpenClaw. If the downstream agent interprets fetched article text as instructions rather than inert content, the flaw can become an ind ...[truncated 1588 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
SKILL.md:51
Finding

Dependency Installation Is Not Fully Pinned or Integrity-Verified

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding

The skill advertises setup and execution of a local Python script and references stateful features like deduplication and cache cleanup, which strongly imply local file read/write behavior, yet the manifest does not declare any tool scope or permissions. This weakens transparency and can lead users or hosting systems to grant broader access than intended, increasing the chance of unauthorized file access or unsafe execution assumptions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill is designed to translate and output content in Chinese by default without presenting language choice or opt-in. This is primarily a consent and product-safety issue rather than a direct exploit path, but it can cause unintended external processing, user surprise, and policy or localization mismatches in environments where content handling must be explicitly approved.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill states it performs free translation via Google Translate but does not clearly warn users that fetched content will be sent to an external third-party service for processing. Even if the content comes from public RSS feeds, article text, prompts, or user-supplied additions may be transmitted off-platform, creating privacy, compliance, and data handling risks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The script sends fetched article titles and summaries to googletrans for translation, which transmits third-party content to an external service without any disclosure, consent flow, or configuration to disable translation. While the content is news-derived rather than obviously sensitive, RSS feeds can still contain proprietary, private, or unexpectedly sensitive text, and silent exfiltration to a remote service creates a real privacy and compliance risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The code hard-codes the translation destination to Simplified Chinese and the file description states it translates news into Chinese. This imposes a specific language/locale without any visible user opt-in or configurable alternative, which matches the locale policy violation criteria.

Content

No source excerpt is available for this finding.