Back to skill

Security audit

内容创作与发布全流程

Security checks for vulnerabilities and agentic risk

Overview

The skill is only a placeholder, but it grants unrestricted shell access and points users to unreviewed external content.

Review before installing. The package does not include the actual skill implementation, yet it grants unrestricted Bash access; install only after the complete content is vendored or pinned to a reviewed version and the shell permission is narrowed or clearly justified.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:4
Finding
Unrestricted Shell Access Granted to an Incomplete Externally Sourced Skill## Vulnerability Details **File Location**: `SKILL.md`, line 4 **Vulnerability Type**: Excessive shell permissions and violation of least privilege **Risk Level**: High **Relevant Code**: ```yaml --- name: content-creation-publisher description: content-creation-publisher - 从云端仓库同步的技能 allowed-tools: Bash(*) --- ``` The broader context at lines 18–21 confirms that the reviewed package is incomplete and directs the user or agent to retrieve unspecified files and instructions externally: ```markdown ## 说明 请访问云端仓库获取完整的技能文件和使用说明。 ``` ### Technical Analysis The `allowed-tools: Bash(*)` declaration grants unrestricted access to the Bash execution interface. No local scripts or implementation are present to justify this broad capability; the project contains only a placeholder `SKILL.md`. The skill also states that its complete files and operating instructions must be obtained from an external repository. This configuration breaks the principle of least privilege. Because command names, arguments, paths, and operations are not constrained, future or externally retrieved instructions could use Bash to perform arbitrary operations under the operating-system identity of the hosting agent. The locally audited package therefore does not provide an enforceable boundary around the commands that the eventual implementation may execute. The reviewed file does not itself contain a command that downloads or executes a remote payload. Consequently, external compromise is a prerequisite for the exploitation path described below rather than a confirmed remote-execution action in the current package. ### Attack Path 1. The incomplete skill is installed or loaded with `Bash(*)` enabled. 2. A user or agent follows the instruction in `SKILL.md` to obtain the complete skill files and usage instructions from the referenced external repository. 3. The external repository, its upstream account, or subsequently supplied instructions ar ...[truncated 1065 chars]
Remediation
## Remediation Suggestions 1. Remove `Bash(*)` until the complete implementation has been packaged and independently reviewed. 2. Replace unrestricted Bash access with an explicit allowlist of the minimum commands required for the skill's legitimate content-publishing workflow. 3. Restrict permitted arguments, executable paths, working directories, environment variables, filesystem locations, and network destinations where the platform supports such controls. 4. Include the complete implementation in the audited package rather than relying on runtime retrieval of unspecified instructions. 5. If external artifacts are unavoidable, pin them to a reviewed immutable commit or release and verify a cryptographic checksum or signature before use. 6. Do not automatically execute retrieved files. Review them before activation and require explicit authorization for security-sensitive commands. 7. Run the skill in a sandboxed, unprivileged environment with minimal filesystem access, no unnecessary credentials, and deny-by-default outbound networking. 8. Add security tests that reject undeclared commands and verify that the skill cannot access resources outside its documented operational scope.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill is only a placeholder that instructs users to fetch full content from a remote repository, yet it already declares unrestricted Bash access. This creates unnecessary execution capability before the real skill contents are reviewed, increasing the risk that later-synced or externally referenced content can lead to arbitrary shell command execution without least-privilege justification.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The description and usage text are written in Chinese, and the file does not indicate that this language requirement is optional or limited to a justified region-specific context. This can violate language/locale policy because users are not given an opt-in or alternative language.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
Granting unrestricted Bash capability to a cloud-synced placeholder violates least privilege because the stated purpose does not require shell access. If this skill is later completed with remote instructions or abused by an agent, the unrestricted shell permission could enable arbitrary command execution, file access, or environment exfiltration.

Static analysis

No suspicious patterns detected.