Back to skill

Security audit

evidence-chain-builder

Security checks for vulnerabilities and agentic risk

Overview

The skill itself is a small local evidence-checking script, but its documented global installation path relies on mutable, unpinned remote sources.

Review the exact repository commit before installing, prefer a pinned version or verified checksum, and avoid the global `npx` install path unless you trust the publisher and installer. The runtime script is low-risk, but the documented installation method is broader than necessary.

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:84
Finding
Unpinned Remote Installation Inputs Create a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 84–88 **Vulnerability Type**: Unpinned npm CLI package and mutable Git repository **Risk Level**: Medium ### Vulnerable Code ```bash # One-command installation using the skills CLI npx skills add zhaoxinghua09-cell/agent-skills -g # Alternatively, clone and copy this Skill into the Agent's Skill directory git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cp -r agent-skills/skills/evidence-chain-builder ~/.workbuddy/skills/ ``` ### Technical Analysis The documented installation procedure invokes `npx skills` without an exact package version or integrity verification. If the package is not already available locally, `npx` may retrieve and execute the current registry release, making installation behavior dependent on mutable third-party content that was not part of this audit. The alternative installation procedure clones the repository's default branch without pinning it to the reviewed commit, a signed release, or a verified checksum. Consequently, the installed files may differ from the audited artifact. This is a supply-chain weakness rather than evidence that the current package contains a malicious payload. Exploitation requires compromise or malicious alteration of the relevant package, package publisher, source repository, or distribution infrastructure. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the source repository, or an associated distribution channel. 2. The attacker publishes a modified CLI package or commits altered Skill content to the mutable upstream branch. 3. A user follows one of the documented installation commands. 4. In the `npx` path, the changed package can execute code with the installing user's privileges. 5. In the Git path, changed scripts or instructions are copied into the persistent Agent Skill directory. 6. The altered Skill may execute when invoked or influence later Agent sessions after being loaded. # ...[truncated 660 chars]
Remediation
## Remediation Suggestions 1. Pin the npm CLI to a reviewed exact version: ```bash npx --yes skills@<exact-version> add zhaoxinghua09-cell/agent-skills -g ``` 2. Publish and verify the package's cryptographic integrity before execution. Preserve the package lockfile and registry integrity metadata where supported. 3. Pin repository installation to a reviewed commit hash rather than the mutable default branch: ```bash git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cd agent-skills git checkout --detach <reviewed-commit-hash> ``` 4. Prefer signed release tags and verify their signatures before copying files. 5. Publish SHA-256 checksums or signed attestations for release artifacts and require verification during installation. 6. Avoid global installation unless it is operationally necessary. 7. Audit the exact installer package version and repository revision independently before recommending them. 8. Run installation with least privilege in an isolated environment where practical.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Vague Triggers

Medium
Confidence
91% confidence
Finding
This markdown file explicitly lists trigger phrases, but several entries such as “防幻觉”, “有证”, and “信源可信” are broad natural-language terms that can appear in ordinary discussion without clearly indicating the user wants this specific skill invoked. The description does not provide exclusion conditions or negative examples to narrow when the skill should activate versus when these words are merely mentioned.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding
The documentation instructs users to run `npx skills add ...` without pinning a specific package version or integrity, which can cause execution of whatever package version is current at install time. If the upstream package is compromised or a malicious version is published, users may execute attacker-controlled code during installation.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The module docstring presents the tool entirely in Chinese and all user-facing descriptions and outputs are hardcoded in Chinese, indicating a fixed language behavior. This is a natural-language policy issue because the skill does not offer language/locale opt-in or explain why Chinese-only output is required for a region-specific use case.

Natural-Language Policy Violations

Low
Confidence
76% confidence
Finding
This file includes a bilingual title, but the substantive attestation content on later lines is written only in Chinese, which can impose a language preference without explicit user opt-in. Under the policy, language constraints should either offer a choice or be clearly justified as region-specific.

Natural-Language Policy Violations

Low
Confidence
78% confidence
Finding
The skill’s visible title, description, summary, and operating instructions are presented in Chinese, while the file does not indicate that the user may choose another language or locale. Under the policy, a language constraint should be opt-in or explicitly justified as region-specific; that justification is not present here despite an English display name field existing.

Intent-Code Divergence

Low
Confidence
88% confidence
Finding
Line L31 asserts the skill is zero-dependency and deterministic, but L33 includes a remote image URL, and later lines include external homepage/repository references. While these may be documentation conveniences rather than execution logic, they contradict the plain-language claim of having no external dependencies.

Context-Inappropriate Capability

Low
Confidence
84% confidence
Finding
The skill documentation embeds a remote image from an external domain unrelated to core skill execution. Rendering the documentation can leak metadata such as client IP, user agent, access timing, and possibly organizational browsing patterns to that third party, creating an unnecessary privacy and tracking surface.

Static analysis

No suspicious patterns detected.