Back to skill

Security audit

Matt Pocock Skills (Kimi)

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed developer-workflow bundle, but its broad automatic triggers can lead to persistent file changes or external issue creation without sufficiently clear user control.

Review before installing. This package can change future agent behavior by adding multiple auto-invoked skills, and those skills may read your repository, create persistent documentation, save handoff summaries, configure issue-tracker settings, or publish PRDs to GitHub depending on context. Prefer explicit invocation, require confirmation before file writes or issue creation, and avoid the unpinned npx install path unless you trust the installer source.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:63
Finding

Unpinned Third-Party Package Execution During Installation

Content
View full analysis

Vulnerability Details

File Location: README.md:63-64
Vulnerability Type: Unpinned package execution and supply-chain exposure
Risk Level: Medium

Complete Code Snippet:

bash
**OpenClaw(通用安装器)**
```bash
npx skills add CoolingRabbit/mattpocock-skills-kimi
text

### Technical Analysis

The installation guidance invokes the third-party `skills` package through `npx` without specifying an exact version, integrity hash, lockfile, or signature. If the package is unavailable locally, `npx` can retrieve and execute its currently resolved release from the configured npm registry.

This makes the effective installer mutable after the audited repository has been reviewed. A compromised maintainer account, malicious package release, registry compromise, or unexpected upstream change could cause users to execute code that was not part of this audit. Package lifecycle scripts and installer logic would run with the privileges of the user performing the installation.

The referenced repository name is an argument to the installer and does not constrain or authenticate the code of the `skills` package itself.

### Attack Path

1. An attacker compromises the npm package, its maintainer account, its publication workflow, or the registry resolution path.
2. The attacker publishes a malicious version that remains compatible with the documented command.
3. A user follows the README and runs `npx skills add CoolingRabbit/mattpocock-skills-kimi`.
4. `npx` resolves and downloads the mutable package version.
5. Malicious package lifecycle scripts or installer code execute under the installing user's account.
6. The payload can access resources available to that account and alter the Agent's Skill installation directories.

### Impact Assessment

Successful exploitation could obtain code execution with the permissions of the user running `npx`. Depending on that user's environment, the maliciou
...[truncated 418 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the installer to an exact, reviewed package version, for example:

    bash
    npx --yes skills@<audited-exact-version> add CoolingRabbit/mattpocock-skills-kimi
    
  2. Verify the package publisher and document the expected package registry and provenance.

  3. Publish and verify package integrity or signatures where the distribution system supports them.

  4. Review the pinned package's lifecycle scripts and transitive dependencies before recommending it.

  5. Prefer installation from a verified repository commit or release archive rather than a mutable branch or package tag.

  6. Document the expected commit SHA and provide checksum verification instructions.

  7. Recommend running installation with least privilege and without unnecessary credentials in the environment.

  8. Avoid executing the installer with sudo or an administrative account.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (20)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The auto-invocation description is overly broad and includes vague natural-language triggers such as discussing requirements, design, or confirmation in any code-containing directory. This can cause the skill to activate in ordinary development conversations, leading to unintended file writes (CONTEXT.md, ADRs), unexpected workflow hijacking, and propagation of misleading documentation based on incomplete user intent.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The listed trigger keywords are generic phrases commonly used in normal code-related discussion, such as '这个项目', '代码库', or '当前目录'. In a model-invoked skill, such broad keywords make accidental activation highly likely, which is dangerous because this skill is designed to read the repository, cross-check code, and create or modify persistent documentation files during conversation.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger list includes very generic terms such as "plan", "design", "需求", and "思路", which can match a wide range of normal developer conversations and cause unintended auto-invocation. In a model-invoked skill, this broad matching can hijack unrelated sessions, alter agent behavior unexpectedly, and increase the chance of unnecessary codebase exploration or intrusive questioning.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill declares very broad trigger phrases such as “写功能”, “实现”, “开发”, and “测试”, which are common in ordinary software conversations and can cause the skill to activate outside true TDD contexts. Because this is a model-invoked coding skill, unintended invocation can steer the agent into an inappropriate workflow, override user intent, and increase the chance of unsafe or disruptive autonomous actions in the wrong context.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The dedicated trigger section repeats ambiguous one-word and broad phrases including “测试”, “重构”, “开发”, “实现”, “加功能”, and “修 Bug” without disambiguation. In an auto-invoked skill ecosystem, this creates a large accidental activation surface, making the skill more dangerous because many unrelated requests could be captured and funneled into prescriptive behavior the user did not request.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes broad terms such as “PRD”, “spec”, “记下来”, and “形成文档”, which can easily appear in ordinary discussion and cause the skill to activate without clear user intent. Because this skill can read repository files, inspect configuration, and publish content to an issue tracker, accidental activation can lead to unintended data disclosure or unauthorized issue creation.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger examples section contains vague phrases like “记下来”, “形成文档”, and “对齐完了,写一下吧”, with no guardrails indicating that the user must be requesting this specific skill. In context, that makes unintended invocation more likely during normal planning conversations, which is especially risky because the skill’s workflow includes repository exploration and potential outbound writes to GitHub or local files.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The natural-language prompt '帮我安装 ... 的 skill' is broad and easy to resemble in normal user speech, making accidental or prompt-injected activation more plausible. Because the described behavior includes automatically reading a repository and installing files into skill directories, ambiguous activation increases the risk of unauthorized code/content ingestion into a trusted local agent environment.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README says the skill will 'automatically trigger in appropriate scenarios' but does not define narrow trigger boundaries, exclusions, or approval requirements. In an agentic environment, broad auto-invocation can cause the skill to activate on ordinary conversation, potentially leading to unintended repository changes, tool use, or installation-like behavior without sufficiently explicit user intent.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The README instructs users to execute npx skills add CoolingRabbit/mattpocock-skills-kimi without pinning an exact package version or integrity source. This creates a supply-chain risk: a later malicious or compromised package version could be fetched and executed at install time, which is especially dangerous because installation occurs in a high-trust developer environment.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The top-level description says the skill should trigger whenever the user needs requirement alignment, design confirmation, testing, debugging, PRD writing, or handoff, which is an extremely wide portion of ordinary software-assistant usage. In practice this ambiguity increases the chance that the agent over-applies the meta-skill as a default behavior, causing workflow hijacking and cascading invocation of child skills in situations where the user only wanted lightweight help.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are broad, generic developer-language such as '开发', 'debug', '讨论设计', and '帮我理清', which can match many normal conversations and cause this meta-skill or its bundled sub-skills to activate unintentionally. Because this is a meta-skill that fronts six separate workflows, accidental activation can steer the agent into unnecessary process changes, document generation, issue publishing, or context compression without the user explicitly requesting those behaviors.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The notes state that the adaptation keeps the original methodology, process, and vocabulary fully preserved while the surrounding document is localized in Chinese. This creates a natural-language locale policy concern because the skill appears to enforce a particular language/terminology choice without mentioning user opt-in or offering alternatives.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The activation text includes very broad keywords such as "fail", "broken", "throwing", and general bug terms, which can cause the skill to trigger during ordinary discussion rather than explicit debugging requests. In an agentic environment, unintended activation can steer the model into a rigid diagnosis workflow, increasing the chance of irrelevant actions, wasted effort, or context hijacking by unrelated user content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
81% confidence
Finding

The activation instructions are written to trigger on specific Chinese phrases and state automatic invocation behavior, but the file does not offer a language/locale choice or explain that the skill is intentionally limited to a Chinese-language environment. That can violate language/locale policy when used in broader multilingual settings.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger list is ambiguous and lacks activation boundaries, so common terms like "debug", "fail", "slow", or "broken" may activate the skill outside genuine bug-diagnosis scenarios. Because the skill prescribes a mandatory multi-phase workflow, accidental invocation can materially alter agent behavior and suppress more appropriate task handling.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The description says the skill auto-triggers for broad alignment-related scenarios, including vague phrases like "对齐一下" and "帮我理清", without defining clear boundaries. This makes accidental activation likely and can cause the assistant to enter an aggressive questioning workflow when the user did not explicitly request it, reducing reliability and potentially interfering with other skills or tasks.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The condition to auto-trigger when 'grilling 对齐后需要进入多会话实现阶段' is an internal workflow inference rather than a clear user command. This makes activation dependent on subjective model judgment, increasing the chance that the skill runs and persists a handoff document without explicit user intent, potentially capturing sensitive or incomplete reasoning in a durable location.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases include very broad terms such as “继续”, “分几步做”, and “多会话”, which are common in ordinary user requests and can cause the handoff skill to activate when the user did not actually request a context compaction or file write. Because this skill writes a synthesized conversation summary to the workspace, accidental activation can leak unnecessary context into persistent files and disrupt the intended workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The section title explicitly defines activation scenarios as Chinese keywords, and the overall trigger guidance is written as though invocation is expected through Chinese terms only. There is no statement that users may choose another language or that the Chinese trigger restriction is required for a documented regional purpose.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.