Back to skill

Security audit

token-disclosure-check

Security checks for vulnerabilities and agentic risk

Overview

The skill's checker is a simple local disclosure-screening script, but its install instructions use an unpinned global remote installer that could install unreviewed code.

Install only from a pinned, reviewed release or commit, avoid the unpinned global `npx` command, and run the Python checker locally on text you intentionally provide. Treat results as a preliminary screening aid, not legal or investment advice.

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:82
Finding
Unpinned Third-Party Installer Creates a Supply-Chain Execution Risk## Vulnerability Details **File Location**: `SKILL.md`, line 82 **Vulnerability Type**: Unpinned execution of a third-party package installer **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add zhaoxinghua09-cell/agent-skills -g ``` ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying an immutable package version. Consequently, the code retrieved and executed by `npx` can differ from the code available when this skill was audited. The command also requests a global installation of skill content from `zhaoxinghua09-cell/agent-skills`, whose default branch is mutable. Although the audited local Python script has no external dependencies or malicious behavior, this installation method introduces additional code and content that are outside the reviewed artifact. This is a supply-chain risk rather than evidence that the current npm package or repository is compromised. Exploitation would require compromise or malicious modification of the package, its publication account, the upstream repository, or the dependency-resolution path. ### Attack Path 1. An attacker compromises the unpinned `skills` npm package, its publisher account, or another component selected during package resolution. 2. Alternatively, an attacker modifies content in the mutable upstream skill repository before installation. 3. A user follows the documented command and runs `npx skills add zhaoxinghua09-cell/agent-skills -g`. 4. `npx` downloads and executes the package version resolved at that time rather than a previously audited immutable version. 5. The installer retrieves and globally installs the then-current repository content. 6. Malicious installer code could execute immediately, while malicious skill code or instructions could be activated when the installed skill is later loaded. ### Impact Assessment If the dependency or upstream source is compromised, i ...[truncated 644 chars]
Remediation
## Remediation Suggestions 1. Pin the `skills` npm package to a reviewed, exact version: ```bash npx skills@<reviewed-exact-version> add zhaoxinghua09-cell/agent-skills -g ``` 2. Pin downloaded repository content to an immutable commit SHA or signed release instead of relying on a mutable default branch. 3. Publish and verify cryptographic checksums or signatures for released skill packages. 4. Avoid global installation by default. Prefer installation into an isolated user-level directory or disposable environment. 5. Document that users should inspect downloaded scripts and skill instructions before activation. 6. Use npm lockfiles and integrity metadata where an npm-managed installation workflow is available. 7. Recommend running the installer without elevated privileges and with only the minimum filesystem and credential access necessary.
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 (5)

Natural-Language Policy Violations

Medium
Confidence
83% confidence
Finding
The README forces substantial Chinese-language content in the title, metadata, and English description line, including the untranslated term '区块链'. The policy requires either user language choice/opt-in or a clearly documented locale justification; neither is present here.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding
The installation command uses `npx skills add ...` without pinning an exact package version, which allows whatever version `npx` resolves at execution time to run. If the upstream package is updated, compromised, or dependency-resolved unexpectedly, users may execute unreviewed code during installation; in a skill file, this is particularly relevant because readers may copy-paste setup commands without further verification.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The script's user-facing description, argument help text, required disclosure fields, and printed results are all fixed in Chinese. This imposes a specific language on all users without any opt-in or documented locale constraint, which matches the policy's language/locale violation criteria.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
The attestation content is written in Chinese throughout, with only a partial English heading, and does not indicate that language selection is optional or user-configurable. This can conflict with organizational language/locale policies when a skill artifact effectively requires a specific language without opt-in.

Natural-Language Policy Violations

Low
Confidence
78% confidence
Finding
The manifest uses a Chinese-only category value ("AI 治理"), which can indicate a language/locale constraint in user-facing metadata without offering a choice or documenting that the skill is intended only for a Chinese-language audience. This is a natural-language policy concern because locale-specific presentation appears to be imposed implicitly rather than made optional or justified.

Static analysis

No suspicious patterns detected.