T01 · Skill Instruction Hijacking
- Location
SKILL.md:119- Finding
Mandatory Promotional Content and Author-Controlled Traffic Diversion
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill broadly matches its stated AI-news content purpose, but its real-data workflow handles web-search results unsafely and should be reviewed before installation.
Install only if you are comfortable reviewing and modifying the workflow first. Replace execSync shell-string examples with argument-array execution, escape all search-result fields before generating HTML or Markdown, disable automatic browser/directory opening unless explicitly requested, remove author-controlled promotional contact text, and avoid the unpinned npx search command.
SKILL.md:119Mandatory Promotional Content and Author-Controlled Traffic Diversion
references/openclaw-integration.md:56Shell Command Injection Through Interpolated Web-Search JSON
scripts/create-xiaohongshu-content.js:185Unescaped Search Data Injected Into Automatically Opened HTML
README.md:54Unpinned Runtime Package Execution Through npx
The skill claims to retrieve the latest 24-hour AI news, but the document explicitly states that the bundled Node.js script cannot perform that search directly and may fall back to built-in demo data. It also describes invoking external scripts via child_process/execSync, which is operational behavior not surfaced in the top-level purpose. This mismatch can mislead users into trusting freshness and behavior that are not guaranteed, increasing the chance of inaccurate output or unexpected local execution.
Referenced artifact was not completely inspected
node scripts/run-full-flow.js
Referenced artifact was not completely inspected
由 OpenClaw 主流程负责搜索,然后调用生成脚本。参考 `references/openclaw-integration.md`。
Referenced artifact was not completely inspected
由 OpenClaw 主流程负责搜索,然后调用生成脚本。参考 `references/openclaw-integration.md`。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
Referenced artifact was not completely inspected
脚本 `create-xiaohongshu-content.js` 是独立 Node.js 脚本,**无法直接调用 OpenClaw 的 `web_search` 工具**。
The natural-language instructions throughout the file are presented only in Chinese, and the skill does not indicate that users may choose another language or that the locale is intentionally restricted. Under the stated policy, forcing a specific language without user opt-in can be a language/locale policy violation.
The README instructs users to run npx skills tavily-search ... without pinning a specific package version. npx may fetch the latest package at execution time, which creates a supply-chain risk if the package changes unexpectedly or is compromised. In a skill intended to drive automated content generation, this increases exposure because users are encouraged to execute the command directly from documentation.
The skill description is broad and lacks clear activation boundaries, negative examples, or conditions for when it should not run. In agentic environments, ambiguous scope can cause the skill to be invoked in unintended contexts, leading to unnecessary web queries, file creation, or content generation that the user did not specifically request.
The description and instructions require generating Xiaohongshu copy in a Chinese social-media format, but the file does not explicitly state this as an opt-in locale/platform restriction or offer alternative language output. This can violate language/locale policy when the skill is invoked in contexts where the user has not chosen Chinese output.
The skill relies on external web search for real-data mode, but the description does not clearly warn users that queries, topics, and accessed URLs may be sent to third-party services. This creates a privacy and compliance risk, especially if user-supplied search terms contain sensitive business interests or internal research topics.
The skill states that it outputs files and opens the generated HTML/output directory automatically, but this side effect is not prominently disclosed as a user warning. Automatic opening of generated content increases risk because untrusted or malformed content may be rendered locally without an explicit confirmation step, and file-system side effects may surprise users.
The title and content indicate the skill output is fixed in Chinese ('AI 资讯汇总'), with no indication that the user can choose another language or that the locale restriction is required. This is a natural-language policy concern because it imposes a specific language without opt-in.
The markdown file's title and all listed source items are written in Chinese, but there is no accompanying note that the skill is intentionally locale-specific or that users may choose another language. Under the policy, forcing a specific language without opt-in can be a natural-language policy violation.
The entire skill documentation, including headings, usage instructions, and cron payload text, is presented exclusively in Chinese. Per the policy rule, forcing a specific language without user opt-in or a documented justification can be a natural-language policy violation.
The manifest describes a skill for collecting recent AI news and generating Xiaohongshu copy plus an HTML cover. In this guide, the main flow uses child_process.execSync to invoke a local script, introducing local code execution as an operational capability that is not inherent to the declared business purpose and expands what an integrating agent may do.
This markdown file presents all user-facing instructions and configuration labels exclusively in Chinese, including the title, section headings, and modification steps. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale constraint is explicitly justified, which is not present here.
The code forces zh-CN locale formatting and generates all user-facing content in Chinese, including timestamps, HTML lang metadata, and copy text. Under the language/locale policy, a fixed language is a violation unless the skill clearly offers opt-in or documents a justified region-specific constraint.
The script invokes OS-level application launchers via execSync to open a browser and file explorer. Although the paths are derived from local script-controlled values, automatically spawning external applications expands the skill's side effects beyond content generation and can surprise users or be abused in higher-privilege/automated environments to trigger unwanted execution flows or GUI actions.
The script automatically opens the generated HTML in the default browser immediately after writing it, without explicit user confirmation. Since the HTML embeds unescaped news fields such as titles and sources, a malicious or malformed input item could lead to active script/content execution in the browser or at minimum unwanted navigation/UI activity.