Back to skill

Security audit

Vocational Ed Policy Scraper

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a policy-scraping tool, but it overstates its capabilities and ships unrelated high-impact publishing/deletion instructions plus an unsafe helper script.

Install only if you are comfortable reviewing and running the scraper manually. Avoid using the bundled publishing/delete examples as agent instructions, validate numeric arguments before running shell helpers, prefer HTTPS sources where possible, and install dependencies in an isolated environment with pinned versions.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/quick_scrape.sh:10
Finding

Shell Arithmetic Injection Through an Unvalidated Positional Argument

Content
View full analysis
Remediation
View remediation
365 )); then printf 'Error: DAYS must be an integer between 1 and 365.\n' >&2 exit 2 fi for ((i=0; i

T08 · Insecure Dependencies

Warning
Location
SKILL.md:394
Finding

Unpinned Runtime Dependency Installation Creates Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
\ --hash=sha256: beautifulsoup4== \ --hash=sha256: lxml== \ --hash=sha256: ``` Install it in an isolated virtual environment: ```bash python3 -m venv .venv . .venv/bin/activate python -m pip install --upgrade pip python -m pip install --require-hashes -r requirements.txt ``` The project should also: - Specify a trusted package index explicitly in deployment documentation. - Review and update pinned versions through a controlled dependency-update process. - Generate hashes from verified artifacts. - Avoid administrator or root-level package installation. - Add automated dependency vulnerability and provenance scanning. - Replace every unpinned installation example in the documentation and scripts with the same locked installation workflow. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/scrape_voc_ed_policy.py:58
Finding

Plaintext HTTP Scraping Allows Policy Result and Link Tampering

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (44)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The English description claims broader scraping, user-controlled filtering, periodic summarization, and meaningful date-range filtering than the implementation supports, while also writing local JSON output without declared permissions. Misrepresentation of behavior is dangerous because it can hide actual data handling and lead operators to approve inappropriate capabilities.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The English description claims broader scraping, user-controlled filtering, periodic summarization, and meaningful date-range filtering than the implementation supports, while also writing local JSON output without declared permissions. Misrepresentation of behavior is dangerous because it can hide actual data handling and lead operators to approve inappropriate capabilities.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The English description claims broader scraping, user-controlled filtering, periodic summarization, and meaningful date-range filtering than the implementation supports, while also writing local JSON output without declared permissions. Misrepresentation of behavior is dangerous because it can hide actual data handling and lead operators to approve inappropriate capabilities.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The English description claims broader scraping, user-controlled filtering, periodic summarization, and meaningful date-range filtering than the implementation supports, while also writing local JSON output without declared permissions. Misrepresentation of behavior is dangerous because it can hide actual data handling and lead operators to approve inappropriate capabilities.

Content

No source excerpt is available for this finding.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 326)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 337)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 477)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 492)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 326)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 337)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 326)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 337)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 477)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 492)May include surrounding context.

md
**发布流程**:
1. 复制技能到 Windows 桌面: `cp -r ~/.hermes/skills/your-skill /mnt/c/Users/lenovo/Desktop/`
2. 使用 PowerShell 发布: `powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --version X.X.X"`
3. 清理桌面: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**覆盖更新现有技能**:
1. 修改 SKILL.md,提升版本号

Self-Modification

High
Category
Rogue Agent
Confidence
88% confidence
Finding

The documentation instructs users to modify SKILL.md, bump versions, and republish/overwrite the skill. Self-modification and overwrite workflows are security-sensitive because they normalize changing executable skill metadata and behavior in place, which can be abused to introduce unreviewed changes or persistence under an existing trusted slug.

Content

Scanner excerpt · SKILL.md (reported line 340)May include surrounding context.

md
3. Clean up desktop: `rm -rf /mnt/c/Users/lenovo/Desktop/your-skill`

**Updating Existing Skills**:
1. Modify SKILL.md, increment version number
2. Copy to desktop and publish (using same slug)
3. System automatically overwrites previous version

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Even though the path is specific, documenting recursive forced deletion in a broadly distributed skill can normalize unsafe shell practices. In this skill context, such filesystem deletion is unrelated to vocational policy scraping, so its presence increases unnecessary risk if a user copies or adapts the command incorrectly.

Content

Scanner excerpt · references/clawhub-limitations-and-workflow.md (reported line 85)May include surrounding context.

4. 清理桌面

bash
rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

覆盖现有技能

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Even though the path is specific, documenting recursive forced deletion in a broadly distributed skill can normalize unsafe shell practices. In this skill context, such filesystem deletion is unrelated to vocational policy scraping, so its presence increases unnecessary risk if a user copies or adapts the command incorrectly.

Content

Scanner excerpt · references/clawhub-limitations-and-workflow.md (reported line 85)May include surrounding context.

4. 清理桌面

bash
rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

覆盖现有技能

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

This repeated forced recursive deletion command is outside the core scope of the skill and can cause accidental data loss if the example path is modified or misread. Because the skill is for policy scraping rather than local system administration, the context makes this more suspicious and less justifiable.

Content

Scanner excerpt · references/clawhub-limitations-and-workflow.md (reported line 104)May include surrounding context.

powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --slug existing-slug --version X.X.X"

4. 清理

rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

text

### 验证发布

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

This repeated forced recursive deletion command is outside the core scope of the skill and can cause accidental data loss if the example path is modified or misread. Because the skill is for policy scraping rather than local system administration, the context makes this more suspicious and less justifiable.

Content

Scanner excerpt · references/clawhub-limitations-and-workflow.md (reported line 104)May include surrounding context.

powershell.exe -Command "clawhub publish 'C:\Users\lenovo\Desktop\your-skill' --slug existing-slug --version X.X.X"

4. 清理

rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

text

### 验证发布

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

The documented cleanup step uses a forceful recursive delete command on a host-mounted Windows path. Even though the example targets a specific directory, in an agent or copy-paste context this pattern is risky because path substitution mistakes or automation errors could delete unintended user files outside the skill's intended scope.

Content

Scanner excerpt · references/implementation-notes.md (reported line 254)May include surrounding context.

powershell.exe -Command "clawhub inspect your-slug"

4. Clean up

rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

text

**Important**: WSL cannot execute Windows binaries directly (powershell.exe, cmd.exe). Use subprocess with PowerShell commands.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

The documented cleanup step uses a forceful recursive delete command on a host-mounted Windows path. Even though the example targets a specific directory, in an agent or copy-paste context this pattern is risky because path substitution mistakes or automation errors could delete unintended user files outside the skill's intended scope.

Content

Scanner excerpt · references/implementation-notes.md (reported line 254)May include surrounding context.

powershell.exe -Command "clawhub inspect your-slug"

4. Clean up

rm -rf /mnt/c/Users/lenovo/Desktop/your-skill

text

**Important**: WSL cannot execute Windows binaries directly (powershell.exe, cmd.exe). Use subprocess with PowerShell commands.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill advertises behaviors that require network, file write, shell, and environment access, but it does not declare any explicit tool scope or permission boundaries. This weakens least-privilege guarantees and can cause the runtime to expose broader capabilities than users expect, especially because the documentation includes commands that read, copy, publish, and delete files.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

These lines explicitly recommend maintaining a Chinese-only description because the platform forces an English display name. This creates a language-access constraint for users who do not read Chinese and does not present any opt-in or alternative locale selection at the skill-description level.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This code sets the default language to Chinese unconditionally, and the detection logic later falls back to that default if environment-based checks do not resolve to English or Chinese. That creates a locale policy issue because the skill forces a specific language choice rather than offering a user-selected or neutral default.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The fallback path returns the Chinese default whenever no supported locale is detected from environment variables. For an internationalization helper, this is a natural-language policy concern because it imposes a specific language on users who have not opted into it.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.