Back to skill

Security audit

gov-disclosure-check

Security checks for vulnerabilities and agentic risk

Overview

The skill itself is a small local disclosure-checking script, but its documented install path asks users to run an unpinned global installer that can execute mutable third-party code.

Review this skill before installing through the documented one-command path. Prefer a pinned release, specific commit, checksum-verified archive, or manual inspection of the cloned repository, and avoid global installation unless you intend this skill to affect your agent environment broadly. The bundled checker appears local and purpose-aligned once installed.

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:74
Finding
Unpinned Third-Party Installer Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, line 74 **Vulnerability Type**: Supply-chain risk caused by executing an unpinned third-party package **Risk Level**: Medium **Vulnerable Code**: ```bash # One-command installation using the skills CLI npx skills add zhaoxinghua09-cell/agent-skills -g ``` ### Technical Analysis The installation instructions invoke the `skills` npm package through `npx` without specifying an exact package version or integrity digest. If the package is not already available locally, `npx` may retrieve and immediately execute the package resolved by the npm registry. Because package resolution is mutable, the code executed by this command may differ from the code that was available when the Skill was audited. The global installation option, `-g`, also increases the potential scope of resulting modifications. This finding concerns the documented installation path; no malicious behavior was identified in the bundled Python script itself. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or another relevant package-distribution component. 2. The attacker publishes a malicious or altered version that can be resolved under the unpinned `skills` package name. 3. A user follows the documented installation instructions and runs the `npx` command. 4. `npx` downloads and executes the mutable package without verifying a project-specified version or integrity digest. 5. The package executes with the invoking user's privileges and may install attacker-controlled Skill content globally. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the privileges of the user running the installation command. The attacker could read or modify files accessible to that user, access available environment data, alter installed Skill content, or introduce malicious behavior into later agent sessions. The exact scope depends on the invoking use ...[truncated 168 chars]
Remediation
## Remediation Suggestions - Pin the installer to an exact, reviewed package version rather than relying on the registry's current resolution: ```bash npx --yes skills@<reviewed-exact-version> add zhaoxinghua09-cell/agent-skills -g ``` - Verify the package publisher, provenance, and expected registry before recommending execution. - Use package-lock and integrity verification mechanisms where the installation workflow supports them. - Prefer a pinned source commit or release archive and publish its expected cryptographic checksum. - Avoid global installation by default. Install into a user-scoped or isolated directory with only the permissions required for the Skill. - Document a manual verification workflow so users can inspect downloaded code before executing it. - Consider distributing a reviewed local installer as part of the audited artifact instead of retrieving executable installer logic dynamically.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (6)

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The user-facing description and instructions are written in Chinese throughout the README, with no indication that another language is available or that Chinese is required for a documented regional/compliance reason. This can violate language/locale policy when a skill imposes a language choice on users without explicit opt-in.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill's display fields and the body of the document present the skill entirely in Chinese, with no instruction that users may choose another language. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The skill instructs users to run `npx skills add ...` without pinning a specific package version. Because `npx` may fetch the latest package at execution time, a compromised upstream package, typo-squatted dependency, or future malicious update could cause users to execute unreviewed code during installation. In this skill context, that is meaningfully dangerous because the instruction is presented as the primary installation path for an agent skill and may be followed verbatim by users.

Natural-Language Policy Violations

Medium
Confidence
82% confidence
Finding
The category field is written only in Chinese ("AI 治理"), which indicates a language-specific presentation without any visible user choice or alternate locale. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The module docstring is entirely in Chinese and provides no indication that other languages are supported or that the locale restriction is optional. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the regional constraint is clearly documented and justified.

Natural-Language Policy Violations

Low
Confidence
87% confidence
Finding
The title presents the attestation primarily in Chinese, which indicates a language choice embedded in the skill artifact. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation, and this file does not document a user language choice or a clear region-specific justification.

Static analysis

No suspicious patterns detected.