other
- Location
src/clawhub-api.js:41- Finding
Undisclosed Forwarding of Search Queries to a Third-Party Mirror
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent OpenClaw skill search tool, but it silently forwards searches to an undisclosed mirror and can overstate trust in mirror results.
Review before installing if your searches may contain private project names, customer data, vulnerability details, or internal technology names. The tool may send those terms to both ClawHub and an undisclosed mirror, and mirror results may be shown as verified even though the artifact does not verify them.
src/clawhub-api.js:41Undisclosed Forwarding of Search Queries to a Third-Party Mirror
src/clawhub-api.js:69Untrusted Mirror Results Are Incorrectly Marked as Verified
src/ui-helper.js:37Terminal Escape Injection Through Untrusted Skill Metadata
The file contains user-visible status and error messages exclusively in Chinese, such as comments and especially console/error strings later used for operational messaging. This imposes a specific language choice without any opt-in or locale selection mechanism, which can violate language/locale policy expectations.
When the primary search returns no results or errors, the code automatically sends the user's query to a different external domain (skills.volces.com) without explicit user awareness or consent. Search queries may contain sensitive or proprietary terms, so this fallback expands data exposure to an undisclosed third party and changes the trust boundary unexpectedly.
This code consistently forces Chinese-language user-facing messages and developer-facing guidance, such as the returned error messages and log labels. The policy requires flagging language or locale constraints when the skill does not provide user opt-in or a documented justification for the fixed language.
The language detection returns only 'zh' when Chinese characters are present and defaults every other input to 'en'. This imposes a binary language policy on all users and excludes other locales without any documented opt-in or justification, which is a natural-language locale policy violation.
The CLI's user-facing strings are consistently in Chinese, including help/error/result labels, with no indication that the tool is intended only for Chinese-speaking users and no option to select another language. This creates a natural-language locale policy concern because the skill imposes a specific language on all users without opt-in.
The code logs both the original user query and the translated query directly to the console, which can expose sensitive search terms, personal data, or proprietary intent to logs that may be retained, aggregated, or viewed by operators. Because search input is fully user-controlled and translation may reveal normalized meaning, this creates a real privacy and data-handling risk even if no external attacker is involved.
When the detected language is 'zh', the code boosts results containing Chinese characters in the skill name or description. This imposes a locale-specific ranking preference automatically, and the file does not indicate any user choice or opt-in for this language-biased behavior.
This code embeds user-visible natural-language strings entirely in Chinese, including the source description and error messages. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation unless the locale restriction is explicitly justified.
This JavaScript file contains user-facing comments and console messages entirely in Chinese, including status messages and command help. Per the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly justified, which is not present here.
The manifest description states the skill 'supports Chinese and English bilingual' behavior, which is a natural-language locale/language constraint. Because the text does not indicate that users can choose their preferred language or opt in to that behavior, it may conflict with the policy against forcing a specific language/locale without user choice.
The dependency uses a caret range (^1.6.8), which permits automatic installation of newer minor/patch releases. This weakens supply-chain reproducibility and can unexpectedly introduce vulnerable or malicious code if an upstream release is compromised or contains a regression.
"author": "",
"license": "MIT",
"dependencies": {
"axios": "^1.6.8"
},
"devDependencies": {}
}
The manifest declares axios without an exact version, while the package has multiple known advisories across versions. Because the installed version is not verifiable from this file alone, deployments may resolve to a release affected by issues such as SSRF, proxy bypass, or request-handling flaws depending on environment and lockfile state.
The file's natural-language comments are written exclusively in Chinese, which constitutes a language-specific constraint in the skill artifact without any indication of user choice or opt-in. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation.
The file's natural-language comments are consistently written in Chinese, which reflects a fixed language choice in user-facing or maintainer-facing text without any indication of opt-in, alternatives, or region-specific justification. Under the stated policy, forcing a specific language can be a locale/language policy concern when no choice is offered.
The method returns user-facing quality labels only in Chinese ('优秀', '良好', '一般', '较差'). This imposes a specific language in the skill behavior without any visible opt-in, fallback, or documented region-specific justification, which matches the language/locale policy concern.
The description and error messages at L05, L10, and L15 are user-facing strings written only in Chinese. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale restriction is documented or optional.
This code includes user-visible natural-language strings such as the source description and console error messages entirely in Chinese. Under the stated policy, forcing a specific language without offering user choice or documenting a justified locale constraint is a natural-language policy violation.
This JavaScript file contains multiple natural-language comments and error/log messages exclusively in Chinese, such as the initialization comments and console error text. Under the stated policy, forcing a specific language without offering a user language choice or documenting a justified locale restriction is a natural-language policy concern.