Back to skill

Security audit

Cybernetic Thinking

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate thinking-skill package with a disclosed installer, but users should pin versions and review which agent directories it will modify.

Install only from a trusted source, prefer a pinned command such as npx skill-cybernetic-thinking@0.6.0 install, avoid --force unless you intend to replace an existing install, and review whether it will install globally, project-locally, or into shared cross-agent skill folders.

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:41
Finding
Unpinned npm Package and Mutable Runtime Dependency Create a Supply-Chain Execution Risk<![CDATA[ ## Vulnerability Details **File Location**: `README.md:41-44`; `package.json:62-64` **Vulnerability Type**: Unpinned remote package execution and mutable dependency resolution **Risk Level**: Medium ### Vulnerable Code `README.md:41-44`: ```markdown ### npx install (recommended) ```bash npx skill-cybernetic-thinking install ``` ``` `package.json:62-64`: ```json "dependencies": { "@clack/prompts": "^0.9.1" } ``` ### Technical Analysis The recommended `npx` command does not specify an exact package version. If the package is not already present locally, `npx` may retrieve the currently resolved release from the npm registry and immediately execute its installer entry point. Consequently, the code executed by users can differ from the audited version. The `@clack/prompts` dependency also uses the mutable range `^0.9.1`, permitting later compatible releases to be selected during dependency resolution. Although the repository's `package-lock.json` contains official npm registry URLs and integrity hashes, consumers installing a published npm package do not reliably inherit the publisher repository's lockfile resolution. This is not evidence that the current dependencies are malicious. The risk arises because a future compromised package release, maintainer account, or permitted dependency update could alter the effective executable code without corresponding review of this repository snapshot. ### Attack Path 1. An attacker compromises the npm account, publication pipeline, or another release channel for `skill-cybernetic-thinking`, or compromises a dependency version allowed by the declared semver range. 2. The attacker publishes a modified package or dependency containing malicious installer behavior. 3. A user follows the recommended unpinned command: `npx skill-cybernetic-thinking install`. 4. `npx` resolves and downloads the affected release rather than the audited `0.6.0` release. 5. Node.js executes the package installer with the inv ...[truncated 944 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the documented executable package version: ```bash npx skill-cybernetic-thinking@0.6.0 install ``` 2. Pin runtime dependencies to exact reviewed versions: ```json "dependencies": { "@clack/prompts": "0.9.1" } ``` 3. Regenerate and commit `package-lock.json` after updating package metadata. The current lockfile declares project version `0.5.0`, while `package.json` and `SKILL.md` declare `0.6.0`. 4. Use `npm ci` in release and verification workflows so dependency installation fails when the manifest and lockfile disagree. 5. Enable npm publication provenance, multi-factor authentication, protected release workflows, and restricted automation tokens. 6. Review dependency updates explicitly and run supply-chain scanning before publishing each release. 7. Document verification of package integrity, release provenance, or signed source tags for users requiring stronger assurance. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (60)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Notes
- **npm**: the old package `skill-systems-thinking` cannot be renamed on npm; it will be marked as `deprecated` pointing to the new name. Users must install `skill-cybernetic-thinking` instead.
- **Repo**: GitHub and Gitee repository renamed from `systems-thinking` to `cybernetic-thinking` (old URLs auto-redirect).
- **Existing users**: remove the old skill directory (e.g. `rm -rf ~/.config/kilo/skills/skill-systems-thinking`) and reinstall with the new `npx` command.

---
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
This skill targets AI coding agents that support custom skills (Claude Code, Codex, Kilo, WorkBuddy, Trae, Cursor, Aider, etc.).

> **Renamed in 0.4.0**: the package was renamed from `skill-systems-thinking` to `skill-cybernetic-thinking`. If you installed the old name, remove it first: `rm -rf ~/.config/kilo/skills/skill-systems-thinking` (adjust for your agent), then install the new one.

### npx install (recommended)
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
This skill targets AI coding agents that support custom skills (Claude Code, Codex, Kilo, WorkBuddy, Trae, Cursor, Aider, etc.).

> **Renamed in 0.4.0**: the package was renamed from `skill-systems-thinking` to `skill-cybernetic-thinking`. If you installed the old name, remove it first: `rm -rf ~/.config/kilo/skills/skill-systems-thinking` (adjust for your agent), then install the new one.

### npx install (recommended)
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
This skill targets AI coding agents that support custom skills (Claude Code, Codex, Kilo, WorkBuddy, Trae, Cursor, Aider, etc.).

> **Renamed in 0.4.0**: the package was renamed from `skill-systems-thinking` to `skill-cybernetic-thinking`. If you installed the old name, remove it first: `rm -rf ~/.config/kilo/skills/skill-systems-thinking` (adjust for your agent), then install the new one.

### npx install (recommended)
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
本 skill 面向支持自定义 skill 的 AI 编程助手(Claude Code、Codex、Kilo、WorkBuddy、Trae、Cursor、Aider 等)。

> **0.4.0 改名**:包名从 `skill-systems-thinking` 改为 `skill-cybernetic-thinking`。装过旧名的用户请先删掉旧链接:`rm -rf ~/.config/kilo/skills/skill-systems-thinking`(路径按你的 agent 调整),再装新的。

### npx 安装(推荐)
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
本 skill 面向支持自定义 skill 的 AI 编程助手(Claude Code、Codex、Kilo、WorkBuddy、Trae、Cursor、Aider 等)。

> **0.4.0 改名**:包名从 `skill-systems-thinking` 改为 `skill-cybernetic-thinking`。装过旧名的用户请先删掉旧链接:`rm -rf ~/.config/kilo/skills/skill-systems-thinking`(路径按你的 agent 调整),再装新的。

### npx 安装(推荐)
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
本 skill 面向支持自定义 skill 的 AI 编程助手(Claude Code、Codex、Kilo、WorkBuddy、Trae、Cursor、Aider 等)。

> **0.4.0 改名**:包名从 `skill-systems-thinking` 改为 `skill-cybernetic-thinking`。装过旧名的用户请先删掉旧链接:`rm -rf ~/.config/kilo/skills/skill-systems-thinking`(路径按你的 agent 调整),再装新的。

### npx 安装(推荐)
Confidence
90% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
本 skill 面向支持自定义 skill 的 AI 编程助手(Claude Code、Codex、Kilo、WorkBuddy、Trae、Cursor、Aider 等)。

> **0.4.0 改名**:包名从 `skill-systems-thinking` 改为 `skill-cybernetic-thinking`。装过旧名的用户请先删掉旧链接:`rm -rf ~/.config/kilo/skills/skill-systems-thinking`(路径按你的 agent 调整),再装新的。

### npx 安装(推荐)
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
本 skill 面向支持自定义 skill 的 AI 编程助手(Claude Code、Codex、Kilo、WorkBuddy、Trae、Cursor、Aider 等)。

> **0.4.0 改名**:包名从 `skill-systems-thinking` 改为 `skill-cybernetic-thinking`。装过旧名的用户请先删掉旧链接:`rm -rf ~/.config/kilo/skills/skill-systems-thinking`(路径按你的 agent 调整),再装新的。

### npx 安装(推荐)
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The declared description presents the skill as a cognitive/reasoning framework for LLM behavior. The supplied code chunk does not implement reasoning logic, control-theoretic analysis, or any behavior related to shaping model thought. Instead, it is purely an installer utility that scans for supported agent directories and links/copies the skill into them. While an installer can be part of packaging for such a skill, this code chunk’s actual primary function is software installation and filesystem manipulation, which is materially different from the declared purpose. Therefore the description does not accurately represent what this code chunk actually does.

Anti-Refusal Statement

High
Category
Anti-Refusal
Content
- Do not refuse to act because the model is incomplete. Use feedback to *build* the model
Confidence
91% confidence
Finding
The phrase 'Do not refuse to act because the model is incomplete' weakens a safety boundary by biasing the agent away from abstaining when uncertainty is high. In an agent skill that shapes reasoning behavior broadly, this can encourage action under insufficient evidence and reduce the chance the model pauses for clarification, risk checks, or safe escalation.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- New excerpts from Book 2 in `references/original-text.md` (§1.1, §1.6, §1.7–§1.8, §2.4, §3.3, §3.7, §4.2, §5.1, §5.4, §5.6)
- `--path <dir>` flag to install into a custom directory (for agents not on the built-in list)
- Interactive install menu: scan results are listed with `[√]`/`[ ]` markers; user can pick detected / all / select-from-list / abort
- `--yes` / `-y` flag to skip confirmation prompts (implied when not a TTY)

### Changed
- `scripts/install.js` rewritten to mirror `npx impeccable skills install` UX: scan → list → confirm → link. Non-TTY environments fall back to "install for detected agents only" (CI-friendly)
Confidence
85% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The README instructs users to run 'npx skill-cybernetic-thinking install' without pinning a version. 'npx' may download and execute the latest package from the registry at run time, so a compromised publisher account, typosquatted package, or malicious update could lead to arbitrary code execution on the user's machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This example command again uses 'npx skill-cybernetic-thinking install' without a version, which causes live retrieval and execution of whatever the registry currently serves. In documentation for agent skills, this is more sensitive because installation code is intended to modify local agent directories and can affect developer environments broadly.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The non-interactive example 'npx skill-cybernetic-thinking install -y' is still an unpinned runtime package execution. Because '-y' suppresses prompts, it can make accidental execution easier and reduces friction for potentially unsafe changes if a malicious package version is served.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This explicit-agent install example still executes an unpinned package from the npm registry. Unpinned execution creates supply-chain risk and can result in arbitrary code running with the user's privileges during installation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The custom-path installation command is unpinned and therefore subject to the same supply-chain execution risk as the other 'npx' examples. Since it targets arbitrary directories, a malicious package could abuse that flexibility to plant files in sensitive locations if a user follows the example with elevated trust.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This '--global' install example invokes an unpinned package, exposing users to registry-supplied code execution risk. Global installation context increases blast radius because modifications affect multiple projects or user-wide agent behavior.

Static analysis

No suspicious patterns detected.