Back to skill

Security audit

Tech News

Security checks for vulnerabilities and agentic risk

Overview

This skill is a simple Chinese-language news fetcher that calls a disclosed X-TechCon API and formats the results, with no evidence of hidden execution, credential access, persistence, or destructive behavior.

Install only if you are comfortable with a Chinese-language skill that contacts www.x-techcon.com when triggered and includes that site's links in results. For safer deployment, pin the requests dependency and consider adding a clearer notice that invoking the skill makes an outbound request.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Warning
Location
openclaw_skill.py:58
Finding

Unconditional Promotional Content Injection into Skill Responses

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
requirements.txt:1
Finding

Unpinned Third-Party Dependency Produces Non-Reproducible Installations

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (9)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding

The skill declares external capabilities via metadata requiring python3 and requests, and its documented behavior includes calling a remote API, but it does not explicitly scope or restrict allowed tools/permissions. This creates an avoidable trust gap: a runtime or reviewer cannot easily verify that only the intended network access is permitted, which increases the blast radius if the skill implementation is altered or abused.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest description and all documented triggers and outputs are presented only in Chinese, and the non-trigger response instructs users to use Chinese phrases without mentioning any language option. This can violate language/locale policy when a skill implicitly requires a specific language without user opt-in or documented justification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Broad trigger phrases such as general tech-news requests can cause the skill to activate unintentionally on ordinary user input. Because activation leads to a network request to a third-party site, accidental invocation can leak user intent and create unauthorized external interactions beyond what the user explicitly expected.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The natural-language description and rejection message are entirely in Chinese and instruct the user to invoke the skill using Chinese trigger phrases only. This imposes a language constraint without documenting a user choice, opt-in, or justified locale limitation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The description does not clearly warn users that invoking the skill sends a request to a third-party domain. Lack of notice undermines informed consent and can expose user queries or timing metadata to an external service without the user's awareness.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill makes an external network request to a third-party API without informing the user that their interaction will trigger outbound communication. While the query itself is not directly sent in this code, undisclosed external access can still violate user expectations, privacy requirements, or platform policy for transparency.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
93% confidence
Finding

The dependency manifest includes requests without a version pin, which makes builds non-reproducible and can cause the skill to install an unexpectedly vulnerable or incompatible release over time. In a network-facing skill that fetches external news content, this increases supply-chain and patch-management risk because the actual installed version cannot be verified against known advisories.

Content

Scanner excerpt · requirements.txt (reported line 2)May include surrounding context.

text
# 依赖包列表
requests

Unverifiable Dependency: requests has 16 known advisory(ies) (CVE-2014-1830 (Exposure of Sensitive Information to an Unauthorized Actor in Requests); CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi) +13 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
90% confidence
Finding

requests has multiple known advisories, and because the manifest does not specify a version, it is impossible to determine whether deployment will use a patched or vulnerable release. For a skill whose core function is making outbound HTTP requests to retrieve news, that uncertainty is security-relevant because affected versions could expose credentials, weaken TLS/request verification behavior, or introduce other request-handling flaws.

Content

No source excerpt is available for this finding.