Back to skill

Security audit

上市公司董事会秘书专家系统

Security checks for vulnerabilities and agentic risk

Overview

This is a Chinese-language board secretary compliance reference skill with no hidden execution behavior, though users should verify legal content and prefer the manual install path over unpinned npx installation.

Before installing, use the manual installation route or verify and pin the installer package version instead of running an unpinned `npx` command. Because the skill provides legal and securities-compliance guidance, verify important conclusions against current official rules and professional 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
README.md:35
Finding
Unpinned Third-Party Package Execution During Installation## Vulnerability Details **File Location**: `README.md`, line 35 **Vulnerability Type**: Unpinned third-party dependency executed through `npx` **Risk Level**: Medium ### Vulnerable Code ```bash # Install through npx skills (SkillHub) npx skills install board-secretary ``` ### Technical Analysis The documented installation command invokes the generic third-party npm package `skills` without specifying a version, integrity hash, trusted registry, or verified publisher. If the package is not already available locally, `npx` may retrieve the currently published version and execute its code with the invoking user's privileges. Consequently, the code executed during installation is not fixed to the version reviewed in this audit. A compromised npm package, malicious future release, package-name takeover, registry substitution, or unexpected upstream change could introduce arbitrary behavior without modifying this repository. The project also documents manual installation, which does not require executing this package and represents a safer alternative. ### Attack Path 1. An attacker compromises the npm account, package, publication process, or registry source associated with the unpinned `skills` package. 2. The attacker publishes a malicious package release under the expected package name. 3. A user follows the installation command in `README.md`. 4. `npx` resolves and downloads the attacker-controlled current package version. 5. The malicious package executes in the user's environment as part of the installation command. 6. The payload performs actions permitted by the user's operating-system account. ### Impact Assessment Successful exploitation could permit arbitrary command execution with the privileges of the user running the installation command. Depending on that user's permissions and environment, the attacker could access or modify user-readable files, credentials, source repositories, agent configuration, or installed skills; initiate network co ...[truncated 298 chars]
Remediation
## Remediation Suggestions 1. Pin the installer package to a specific reviewed version: ```bash npx skills@<verified-version> install board-secretary ``` 2. Document the official npm package name, expected publisher, registry, and validated version so users can verify provenance before execution. 3. Where supported, require integrity verification using a trusted checksum, lockfile, package signature, or npm integrity metadata. 4. Avoid floating tags such as `latest` in security-sensitive installation instructions. 5. Recommend the documented manual installation method as the safer default when the installer package cannot be cryptographically verified. 6. Advise users to run installation with a non-privileged account and review the resolved package metadata and lifecycle scripts before execution. 7. Periodically audit the pinned package and update the version only after reviewing upstream changes.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (8)

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The badge on L007 explicitly labels the skill language as '中文', and the rest of the README presents the skill as operating only in Chinese. Under the policy for natural-language violations, forcing a specific language without offering the user a language choice or documenting a justified locale restriction is a reportable issue.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Skill Enumeration

Medium
Category
Agent Snooping
Content
npx skills install board-secretary

# 或手动安装(将 SKILL.md 放入技能目录)
cp SKILL.md ~/.workbuddy/skills/board-secretary/SKILL.md
```

### 直接使用
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The manifest sets `language: zh-CN`, and the entire skill content is written as mandatory Chinese-language guidance with no indication that the user can choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation unless the constraint is explicitly justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
87% confidence
Finding
This markdown file presents all instructions and operational guidance exclusively in Chinese, including update steps and headings. Under the policy rule, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale restriction is explicitly justified.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The manifest sets the skill language to "zh-CN", which is a natural-language locale constraint. Under the policy, forcing a specific language is a violation unless the skill offers user choice or the locale restriction is clearly documented and justified; this file does not provide such justification.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
This markdown file contains substantive skill-related content almost entirely in Chinese, but it does not state that the skill is China-specific or offer users a language/locale option. Under the language/locale policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.