Back to skill

Security audit

Cheatsheet Generator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a simple Chinese cheatsheet generator that runs local JavaScript to print Markdown, with some broad triggers and a few risky Git examples users should treat carefully.

Install only if you want a Chinese-language cheatsheet generator. Review generated Git recovery advice before copying it, especially commands using reset --hard or push -f, and be aware that broad triggers may activate the skill for generic manual or quick-reference requests.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (17)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger regexes are broad enough to match many generic requests such as '手册', '快速参考', or any phrase ending in '速查', which can cause this skill to activate outside its intended scope. In an exec-based skill with extractArg enabled, over-triggering increases the chance of unintended command execution paths and incorrect handling of user input.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · templates/index.js (reported line 21)May include surrounding context.

js
'README.md 完整(功能说明 + 安装方法 + 使用示例)',
          'LICENSE 正确(ClawHub 要求 MIT-0)',
          'package.json 元数据完整(name/version/author/license)',
          '创建 .npmignore(排除 node_modules、.env 等)',
          'npm pack --dry-run 检查打包内容'
        ]
      },

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

git reset --hard HEAD~1 is a high-risk command because it can irreversibly discard local changes and reset repository state. In a cheatsheet context, presenting it as a simple answer without strong safeguards encourages unsafe copy-paste use by less experienced users.

Content

Scanner excerpt · templates/index.js (reported line 221)May include surrounding context.

js
items: [
          { 
            q: '提交错了怎么撤销?', 
            a: 'git reset --soft HEAD~1(保留更改)或 git reset --hard HEAD~1(丢弃更改)' 
          },
          { 
            q: '推送到错误分支怎么办?',

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

The combination of git reset --hard HEAD~1 with git push -f is especially dangerous because it can both destroy local work and rewrite remote history, potentially impacting collaborators and causing repository integrity issues. A quick-reference entry without strong warnings or decision criteria materially raises the risk of accidental misuse.

Content

Scanner excerpt · templates/index.js (reported line 225)May include surrounding context.

js
},
          { 
            q: '推送到错误分支怎么办?', 
            a: 'git reset --hard HEAD~1 撤销本地,然后 git push -f 强制推送(小心使用)' 
          },
          { 
            q: '如何查看某个文件的修改历史?',

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documented trigger scope is very broad and includes many generic natural-language phrases across both technical and non-technical domains, which increases the chance of accidental or unintended activation. In an agent environment, overbroad activation can cause the skill to intercept unrelated user requests and generate or export content unexpectedly, reducing routing integrity and potentially influencing downstream actions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest description and all documented triggers are written as Chinese-only interaction patterns, with no indication that users may choose another language or locale. This can violate language/locale policy when a skill implicitly requires a specific language without opt-in or justification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrase "查找 XXX" is extremely broad and can match many ordinary user requests unrelated to cheatsheets, causing the skill to activate outside its intended scope. Overbroad activation can hijack unrelated conversations, increase incorrect tool behavior, and potentially lead to unwanted file-save prompts or content generation in contexts where the user did not request this skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

Claiming support for "any field" makes the skill boundary unclear and weakens activation and safety expectations, especially when paired with dynamic AI generation. This can cause the skill to respond in sensitive domains like health, legal, or safety-critical topics without domain-specific safeguards, increasing the chance of harmful or misleading quick-reference content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The user-facing help, prompts, and examples are entirely in Chinese, including usage guidance and suggested trigger phrases. Because the file does not offer an alternative language or state that the tool is intentionally limited to a Chinese-speaking context, this is a natural-language locale policy concern.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

L123 的用户提示明确说可以通过“添加新模板,主题是 XXX”来创建新模板,但本文件实际仅分派到 showHelp、listAllTemplates、searchTemplates 和 generateCheatSheet,未实现任何新增模板入口。这属于文档/提示对能力的主动宣称,与代码行为直接不一致,可能误导用户对技能能力边界的理解。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

SQP-3 applies to all file types and includes language/locale policy violations. This JavaScript file presents natural-language strings, comments, and generated output only in Chinese, which can force a specific language on users without opt-in or explanation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
74% confidence
Finding

The natural-language metadata and most trigger phrases are Chinese-only, while the manifest does not state that the skill is region-specific or provide user language choice. This can violate language/locale policy when a skill implicitly constrains interaction language without opt-in or justification.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · templates/index.js (reported line 127)May include surrounding context.

js
name: '🚀 开发流程',
        type: 'commands',
        items: [
          { cmd: 'mkdir -p ~/.openclaw/skills/skill-name', desc: '创建技能目录' },
          { cmd: 'vim SKILL.md', desc: '编写技能说明' },
          { cmd: 'openclaw skills list', desc: '检查技能是否加载' },
          { cmd: 'openclaw gateway restart', desc: '重启 Gateway(如需要)' }

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The template recommends destructive Git recovery commands such as git reset --hard HEAD~1 and force-push behavior in a quick-reference format, but does not prominently warn that these can permanently discard uncommitted work or rewrite shared history. In a cheatsheet skill, users may copy commands verbatim, increasing the chance of accidental data loss.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

All user-facing instructions, examples, trigger phrases, and template names are specified only in Chinese, including the recommended direct invocation phrases. This can amount to a language policy issue when the skill appears to require a specific language without opt-in or an explicit justification for the locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The description is written only in Chinese and presents the skill as a Chinese-language tool without any indication that other languages are supported or that the locale is intentionally limited. Under the policy rule for language/locale, this can be a natural-language policy concern 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
76% confidence
Finding

Natural-language strings throughout the template library are written exclusively in Chinese, including titles, descriptions, and usage guidance, with no indication that users may choose another language. Under the stated policy, forcing a specific language without user opt-in can be a locale/language policy violation unless clearly justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.