Back to skill

Security audit

Skill Install Checker

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local, read-only report helper with some documentation mismatch, but I found no evidence of hidden execution, exfiltration, persistence, or destructive behavior.

Install only if you want a Chinese-language local helper for reviewing an OpenClaw skill directory. Do not treat its output as a complete machine compatibility check, because it does not actually verify OS state, environment variables, sandbox conditions, or installed binaries beyond its own python3 requirement.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明的核心用途是“安装前验证二进制、环境变量、配置、OS 与 sandbox 条件”,通常应体现对本机运行环境、依赖、平台约束或沙箱限制的检查。但这段代码完全没有检查二进制是否存在、环境变量、操作系统信息、sandbox 状态或安装可行性。相反,它通过读取 resources/spec.json 决定模式,执行的是通用文本/目录/CSV/模式扫描与 Skill 规范审计,并生成 Markdown/JSON 报告。因此其主要目的与声明明显不同。虽然代码没有做危险的系统修改,和‘不要直接修改系统环境’不冲突,但它缺失声明中的关键预检能力,同时具备多项未声明的审计/扫描能力,属于明显的描述与行为不一致。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The script dispatches into multiple generic auditing modes such as directory, CSV, pattern, and skill audits based on spec-controlled mode selection, which goes beyond a narrowly scoped install preflight checker. In a skill advertised as validating binaries, environment variables, OS, and sandbox suitability, this broad content-inspection/report-generation behavior creates capability drift and can be used to examine arbitrary local files and directories unrelated to installation safety.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

L33-L35 的触发示例如“检查这台机器能不能装这个 skill”“说明缺哪些依赖”属于自然语言常见请求,缺少更明确的上下文约束、专用触发词或排除条件。文档虽然描述了用途,但没有说明何时不应触发该技能,可能与一般安装排障对话重叠。

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The skill text explicitly contemplates shell execution via python3 .../scripts/run.py and references both reading local resources and producing output files, but it declares no permissions or allowed-tools scope. That mismatch can cause the runtime or a caller to grant broader capabilities than reviewers expect, weakening least-privilege and making unintended file or shell access easier.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The title, category label, and summary are written entirely in Chinese, which indicates a fixed language choice in user-facing skill metadata. The file does not mention any language selection, opt-in, or region-specific justification, so this appears to violate the requirement not to force a specific language or locale without user choice.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The helper enumerates arbitrary text files recursively under a user-supplied root and feeds them into later reporting functions. For a pre-install environment checker, unrestricted file and directory inspection is unnecessary and increases the chance of collecting unrelated sensitive information from the local workspace.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The report-generation functions emit user-facing headings and guidance exclusively in Chinese, such as "结果", "摘要", and workflow instructions. This enforces a specific language for generated output without offering the user a language choice or documenting a justified locale restriction, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The pattern scanning logic reads arbitrary file contents and searches for secrets, private URLs, and dangerous shell snippets, which is not justified by the declared install-check purpose. Even though it only reports matches, this expands the skill into a local content auditing tool that may expose sensitive data in output or encourage users to run it on broad paths.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The CLI presents itself as a local support script for the skill, but the accepted arguments and runtime behavior enable unrelated auditing/reporting workflows over arbitrary paths and inline input. This mismatch can mislead users into granting broader trust and running the tool in contexts where they would not expect local content inspection.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The file's natural-language instructions and headings are entirely in Chinese, and there is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking context. Under the policy rule for language or locale constraints, this can be a natural-language policy violation when no opt-in or justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The markdown file is entirely written in Chinese and presents a fixed example output format without any indication that users may choose another language or locale. Under the policy for natural-language violations, a skill can be problematic if it effectively enforces a specific language without opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown template uses Chinese in the title and instructional text, which implies the skill output is expected in a specific language. Under the policy criteria, forcing a language without user opt-in is a natural-language policy concern unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.