Back to skill

Security audit

citation-coverage-check

Security checks for vulnerabilities and agentic risk

Overview

The checker itself is simple and local, but its install instructions fetch mutable code into a global skill directory, so it should be reviewed before installation.

Install only from a reviewed commit or release, avoid the global `-g` installer unless you trust the current upstream source, and do not run the install command with elevated privileges. The checker reads only files or text you provide, but non-Chinese users should review the documentation carefully because important instructions are mostly Chinese.

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:79
Finding
Unpinned Third-Party Installer Creates a Supply-Chain Execution Risk## Vulnerability Details **File Location**: `SKILL.md`, line 79 **Vulnerability Type**: Unpinned third-party installer execution **Risk Level**: Medium **Vulnerable code snippet**: ```bash # One-command installation using the skills CLI npx skills add zhaoxinghua09-cell/agent-skills -g # Alternative manual installation git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cp -r agent-skills/skills/citation-coverage-check ~/.workbuddy/skills/ ``` ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying an exact package version or validating its integrity. Consequently, the package resolved when a user runs the command may differ from the package available when this skill was audited. The command also installs skill content from the mutable `zhaoxinghua09-cell/agent-skills` repository reference rather than from a reviewed commit hash or cryptographically verified release artifact. The manual installation alternative similarly clones the repository's current default branch without pinning a commit. This does not establish that the current npm package or repository is malicious. However, it creates a supply-chain trust boundary in which a compromised package, publisher account, repository, or future upstream update could introduce code or instructions that were not part of the reviewed artifact. Because `npx` may download and execute package-provided installer logic, compromise can affect the invoking user's environment before the installed content is independently reviewed. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the upstream repository, or another relevant distribution component. 2. The attacker publishes a modified package version or changes the mutable repository content. 3. A user follows the installation instructions and runs `npx skills add zhaoxinghua09-cell/agent-skills -g`. 4. `npx` resol ...[truncated 1160 chars]
Remediation
## Remediation Suggestions 1. Pin the installer package to an explicitly reviewed version, for example `npx skills@<reviewed-version> ...`. 2. Require installation from an immutable repository commit or signed release tag rather than a mutable default branch. 3. Publish and verify cryptographic checksums or signatures for downloaded release artifacts before installation. 4. Prefer a locally reviewed installer dependency managed through a lockfile instead of resolving executable packages dynamically. 5. Avoid global installation by default. Install into a dedicated, least-privileged skill directory and clearly document the files that will be created or modified. 6. Add a review step that displays the exact resolved package version, repository commit, and files to be installed before executing installer hooks or activating skills. 7. Document that users should not run the installation command with administrator or root privileges.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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)

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The skill uses Chinese for the display name, description, summary, and nearly all user-facing documentation, which effectively forces a specific language on users. Although there is an English display_name_en field, the operational instructions and warnings remain Chinese-only, and no user language choice is offered.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The installation instruction uses `npx skills add zhaoxinghua09-cell/agent-skills -g` without pinning a specific package or repository version. That can expose users to supply-chain risk if the referenced package, resolver behavior, or fetched content changes unexpectedly or is compromised, resulting in installation of different code than intended.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The file’s user-facing docstring and CLI descriptions are entirely in Chinese, presenting the skill as operating in a single language without offering an opt-in or alternative locale. Under the stated policy, forcing a specific language without user choice is a natural-language policy violation unless the locale restriction is clearly justified as region-specific.

Natural-Language Policy Violations

Low
Confidence
84% confidence
Finding
The file includes key policy and product-description text in Chinese, such as 'LGD-II 有证(论断要带出处)' and '凡自治之物: registered / evidenced / gated', without indicating that the user can choose a preferred language. This can create a language/locale policy issue because essential skill context is not consistently offered in a user-selected language.

Natural-Language Policy Violations

Low
Confidence
80% confidence
Finding
The manifest sets the category to "AI 治理", which imposes a specific language in user-facing metadata without any indication that the skill is intended only for Chinese-speaking users or that alternative locales are supported. This may conflict with language/locale policy expectations when the repository otherwise appears broadly accessible.

Static analysis

No suspicious patterns detected.