Back to skill

Security audit

ai-vendor-checklist

Security checks for vulnerabilities and agentic risk

Overview

This is a small local AI vendor due-diligence checklist skill with disclosed behavior, though its install instructions should be pinned before use.

Install only from a reviewed version: pin the skills CLI version or repository commit, avoid sudo/admin shells, and review the copied skill before enabling it. The skill is mainly Chinese-language and is a governance aid, not legal 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:76
Finding
Unpinned Third-Party Package Execution in Installation Instructions## Vulnerability Details **File Location**: `SKILL.md`, lines 76-83 **Vulnerability Type**: Unpinned and mutable supply-chain dependencies **Risk Level**: Medium ```bash ## Installation and usage matrix ```bash # One-click installation using the skills CLI npx skills add zhaoxinghua09-cell/agent-skills -g # Alternatively, clone and copy the skill manually git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cp -r agent-skills/skills/ai-vendor-checklist ~/.workbuddy/skills/ ``` ``` ### Technical Analysis The recommended installation process invokes `npx skills` without specifying an exact npm package version or verifying an integrity digest. Depending on the local npm configuration and cache state, `npx` can retrieve and execute the currently resolved release of the `skills` package. This means the code executed during installation may differ from the version present when this skill was audited. The alternative procedure also clones the default state of a remote repository without pinning a reviewed commit or signed release. Subsequent upstream changes can therefore alter the content installed into the user's agent skill directory. This is a supply-chain weakness rather than evidence that the current package or repository is malicious. The bundled Python script itself uses only standard-library modules and contains no observed remote retrieval or malicious execution behavior. ### Attack Path 1. An attacker compromises the npm package publisher account, upstream package, distribution channel, or referenced Git repository. 2. The attacker publishes a modified release or changes the repository's default branch. 3. A user follows the documented installation instructions after the compromise. 4. The unpinned `npx` command resolves and executes the modified package, or the unpinned Git command retrieves altered skill content. 5. The malicious installer runs with the invoking user's privileges, or attacke ...[truncated 884 chars]
Remediation
## Remediation Suggestions 1. Pin the npm CLI package to an exact reviewed version instead of resolving the latest available release: ```bash npx --yes skills@<reviewed-exact-version> add zhaoxinghua09-cell/agent-skills -g ``` 2. Commit and distribute a lockfile where applicable, and verify the package integrity value against a trusted, separately published digest. 3. Pin the repository checkout to a reviewed commit or signed release: ```bash git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cd agent-skills git checkout --detach <reviewed-commit-hash> ``` 4. Verify the commit signature or a published cryptographic checksum before copying any files. 5. Prefer a download-and-verify workflow that does not execute package code merely to install the skill. 6. Document that installation must be performed as an unprivileged user and must not use `sudo` or an administrator shell. 7. Review the exact downloaded scripts and skill instructions before placing them in an agent-controlled directory.
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
94% confidence
Finding
The natural-language instructions and operational guidance in the skill body are presented almost entirely in Chinese, while the file does not state that the skill is region-specific or provide an opt-in language alternative. This can violate a language/locale policy when users are not given a choice of language for understanding how to use the skill safely.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding
The installation instruction uses 'npx skills add ...' without pinning an exact package version. This creates a supply-chain risk because future or compromised package versions could change behavior and cause users or agents to fetch and execute unreviewed code during installation.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The module docstring, CLI description, help text, and user-facing output are exclusively in Chinese. This imposes a specific language on users without any opt-in, alternative locale, or documented region-specific justification, which matches the language/locale policy violation criteria.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
The attestation content is primarily written in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. This can violate the language/locale policy when a specific language is imposed without opt-in or clear justification.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
The file title and descriptive content combine Chinese text with English, including organizational phrasing such as 'LGD-I 有籍(供应商资质有据)'. This can impose a language/locale expectation on users without stating that the skill is bilingual, region-specific, or optional by user preference.

Static analysis

No suspicious patterns detected.