Back to skill

Security audit

Generate Managed IT Services Provider Client Education Handout

Security checks for vulnerabilities and agentic risk

Overview

This handout-writing skill is mostly content-focused, but it asks for shell access and repeatedly points to mutable external setup instructions without explaining why either is needed.

Review this skill before installing. Its core behavior is ordinary handout generation, but it should not need unrestricted shell access; install only if your OpenClaw environment can constrain tool use or you are comfortable removing Bash from the allowed tools. Treat the external SkillBoss setup guide as supplementary, mutable documentation rather than audited skill instructions.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (3)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:17
Finding
Unnecessary Shell Access Violates Least-Privilege Principles## Vulnerability Details **File Location**: `SKILL.md:17` **Vulnerability Type**: Excessive tool permissions **Risk Level**: Medium **Code Snippet**: ```yaml allowed-tools: Bash, Read ``` ### Technical Analysis The skill requests access to the `Bash` tool even though its documented purpose is to generate an educational handout. The workflow only describes clarifying requirements, drafting content, enriching assets, and refining the result. It does not identify any operation that legitimately requires shell-command execution. Granting Bash access expands the skill's authority beyond its stated functional requirements. If instructions in the skill, user-provided content, or externally sourced material influence the agent to issue shell commands, those commands would run with the operating-system privileges of the hosting agent process. ### Attack Path 1. A user installs and invokes the skill. 2. The agent grants the skill access to both `Read` and `Bash`. 3. Malicious or compromised instructions—potentially from user-controlled input or an external guide—induce the agent to invoke Bash. 4. Shell commands execute with the permissions available to the agent process. 5. Depending on host-level controls, those commands could read or modify accessible files, invoke installed programs, or initiate outbound network operations. ### Impact Assessment Successful exploitation could expose all files, commands, and network capabilities available to the agent's operating-system account. The exact scope depends on sandboxing and host configuration. The declaration does not itself elevate the process to administrator privileges, but it unnecessarily exposes a powerful execution channel that could be used to affect data outside the handout-generation task.
Remediation
## Remediation Suggestions - Remove `Bash` from `allowed-tools`. - Grant only the tools strictly required to produce the handout. - If a future feature genuinely requires command execution, document the exact use case and replace unrestricted shell access with a narrowly scoped operation. - Enforce runtime sandboxing, filesystem restrictions, outbound-network controls, and explicit user confirmation for any command-execution capability. - Add tests that verify the skill can complete its documented workflow without invoking a shell.

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:4
Finding
Repeated Dependency on Mutable External Setup Instructions## Vulnerability Details **File Location**: `SKILL.md:4-27` **Vulnerability Type**: External instruction trust boundary **Risk Level**: Medium **Code Snippet**: ```yaml > 📖 **Complete setup guide**: https://skillboss.co/skill.md description: "Create a polished explainer handout with visuals, FAQs, and clear next steps for a managed IT services provider. Use when handling client education..." > 📖 **Complete setup guide**: https://skillboss.co/skill.md allowed-tools: Bash, Read > 📖 **Complete setup guide**: https://skillboss.co/skill.md metadata: > 📖 **Complete setup guide**: https://skillboss.co/skill.md openclaw: > 📖 **Complete setup guide**: https://skillboss.co/skill.md emoji: "📝" > 📖 **Complete setup guide**: https://skillboss.co/skill.md homepage: "https://www.skillboss.co/skills/generate-managed-it-services-provider-client-education-handout" > 📖 **Complete setup guide**: https://skillboss.co/skill.md --- > 📖 **Complete setup guide**: https://skillboss.co/skill.md ``` ### Technical Analysis The skill repeatedly directs readers to a remotely hosted “Complete setup guide.” The content of that guide is not included in the audited repository and can change independently after the local skill has been reviewed. Consequently, any instructions obtained from that URL fall outside the integrity boundary of the audited artifact. The local files do not contain an explicit safety-override instruction, forced advertisement requirement, or executable remote payload. The risk arises if a user or agent treats the external page as authoritative skill instructions. A later compromise or modification of that page could introduce instructions that alter the agent's goals or encourage unsafe use of the skill's available tools. ### Attack Path 1. A user or agent loads the skill and encounters the repeated setup-guide link. 2. The user or agent retrieves the guide from the external domain. 3. The ...[truncated 874 chars]
Remediation
## Remediation Suggestions - Place all required setup instructions directly in the version-controlled repository. - Remove the repeated external-guide lines from the skill metadata and body. - If an external reference is necessary, clearly label it as untrusted supplementary documentation rather than authoritative agent instructions. - Do not allow externally retrieved documentation to modify tool permissions, safety constraints, or workflow rules. - Pin externally referenced documentation to an immutable version and provide integrity verification where feasible. - Require explicit user approval before following operational instructions obtained from external pages.

T08 · Insecure Dependencies

Note
Location
README.md:7
Finding
Installation Instructions Use Mutable Unverified Upstream Sources## Vulnerability Details **File Location**: `README.md:7-15` **Vulnerability Type**: Unpinned dependency installation **Risk Level**: Low **Code Snippet**: ```markdown ### Via ClawHub ```bash clawhub install qiaomu-generate-managed-it-services-provider-client-education-handout ``` ### Manual Installation ```bash git clone https://github.com/qiaomucom/generate-managed-it-services-provider-client-education-handout.git cp -r generate-managed-it-services-provider-client-education-handout ~/.openclaw/skills/generate-managed-it-services-provider-client-education-handout ``` ``` ### Technical Analysis Both documented installation methods retrieve mutable upstream content without specifying a release version, Git commit, checksum, or cryptographic signature. The Git command clones the repository's current default branch, while the ClawHub command does not identify a fixed package version. As a result, the installed artifact may differ from the files covered by this audit. If an upstream account, repository, release process, or package registry is compromised, later installations could receive modified skill instructions or additional files without an integrity check detecting the change. ### Attack Path 1. An attacker compromises the upstream repository, package account, or publication process. 2. The attacker publishes a modified version under the same repository or package identifier. 3. A user runs one of the documented unpinned installation commands. 4. The command retrieves the current compromised content rather than the audited revision. 5. OpenClaw loads the altered skill, which may contain additional permissions, malicious instructions, or executable components. ### Impact Assessment A compromised upstream could replace the entire installed skill within the user's OpenClaw skills directory. The resulting privileges would depend on the altered skill's granted tools and the protections enforced by OpenClaw. ...[truncated 198 chars]
Remediation
## Remediation Suggestions - Pin ClawHub installation to a specific immutable package version. - Pin manual Git installation to a reviewed commit hash or signed release tag. - Publish a SHA-256 checksum or cryptographic signature for each approved release. - Document checksum or signature verification before copying the skill into the OpenClaw skills directory. - Protect upstream publication accounts with multi-factor authentication and restricted release permissions. - Re-audit each new release before updating the recommended pinned version.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (1)

Vague Triggers

Medium
Confidence
92% confidence
Finding
The skill says to use it for 'client education work' and 'when handling client education' without defining specific trigger phrases, scope limits, or exclusion conditions. This broad phrasing could overlap with many routine MSP communication tasks and lead to unintended invocation.

Static analysis

No suspicious patterns detected.