Back to skill

Security audit

xmindify

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent mind-map export skill, with the main caution being its unpinned global install instruction for the xmindmark CLI.

Before installing, consider using a pinned, project-local xmindmark version instead of a global latest install, and invoke this skill mainly when you explicitly want a mind map or XMind/SVG export.

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
SKILL.md:4
Finding
Unpinned Global Installation of a Third-Party CLI Package## Vulnerability Details **File Location**: `SKILL.md:4` and `SKILL.md:40` **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: Medium ### Vulnerable Code ```yaml compatibility: requires xmindmark CLI (install via pnpm install -g xmindmark) ``` ```markdown Use npm or pnpm to install the XMindMark CLI: `npm install -g xmindmark` ``` ### Technical Analysis The skill instructs users to install the `xmindmark` package globally without specifying a reviewed version, integrity hash, lockfile, or verified package source. Package resolution therefore depends on whichever release and transitive dependencies the configured npm registry serves at installation time. npm-compatible package installation can execute package lifecycle scripts with the privileges of the installing user. If the package, one of its dependencies, its publisher account, or the configured registry is compromised, following this instruction could execute attacker-controlled code. A global installation also gives the resulting executable system-wide visibility within the user's npm prefix, increasing the exposure compared with a project-local, version-locked dependency. This finding identifies supply-chain risk in the installation guidance. The audit found no evidence that the currently published `xmindmark` package is malicious. ### Attack Path 1. An attacker compromises the package publisher, a transitive dependency, or the registry used by the victim. 2. The attacker publishes or serves a malicious package release or dependency version containing a lifecycle script or altered CLI payload. 3. A user follows the skill's unpinned instruction: ```bash npm install -g xmindmark ``` 4. The package manager resolves the attacker-controlled version because no trusted version or integrity value is specified. 5. Malicious lifecycle code may execute during installation with the installing user's privileges. 6. The globally installed command may also execut ...[truncated 757 chars]
Remediation
## Remediation Suggestions 1. Pin `xmindmark` to a specifically reviewed version rather than resolving the latest release: ```bash npm install --save-exact xmindmark@<reviewed-version> ``` 2. Prefer a project-local dependency and invoke it through a package script or a version-locked local binary instead of installing it globally. 3. Commit and enforce a lockfile with integrity metadata for the package and all transitive dependencies. 4. Document the expected package registry and verified package identity to reduce dependency-confusion and registry-substitution risks. 5. Verify package provenance, signatures, checksums, and publisher ownership where supported. 6. Disable lifecycle scripts during installation when the reviewed package is compatible: ```bash npm install --ignore-scripts ``` 7. Run conversion in a restricted environment with minimal filesystem access, no unnecessary credentials, and limited network access. 8. Establish a dependency-update process in which new versions are reviewed and tested before changing the pinned version.
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The skill advertises activation on very broad concepts such as '总结内容', '头脑风暴', and especially '结构化', which overlap with many ordinary user requests outside mind-map generation. Overbroad triggering can cause the agent to invoke this skill in unintended contexts, increasing the chance of inappropriate file generation, command execution paths, or interference with other safer/more relevant skills.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
This markdown file is entirely authored as a Chinese-language skill template and does not indicate that language selection is optional or limited to a justified region-specific context. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown skill forces a specific language for all instructions and templates, which can violate language/locale policy when no user opt-in or alternative is provided. The file contains no indication that Chinese is optional or that the skill is intended only for a Chinese-language audience.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown file is entirely written as a Chinese-only project planning template, with no indication that users may choose another language or locale. The policy requires flagging language or locale constraints when a skill forces a specific language without user opt-in or clear justification.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown skill specifies its instructions and usage entirely in Chinese, which can impose a language constraint on users without opt-in. The policy allows locale-specific behavior only when the choice is offered or the restriction is clearly documented and justified, neither of which appears here.

Natural-Language Policy Violations

Low
Confidence
85% confidence
Finding
SQP-3 applies to all file types and covers language or locale policy violations. This syntax reference presents all instructions in Chinese only, with no opt-in, alternative language guidance, or justification that the skill is region-specific.