Back to skill

Security audit

halftone-art

Security checks for vulnerabilities and agentic risk

Overview

This halftone art toolkit fits its stated purpose, with minor precautions for local previews and externally hosted fonts.

Preview only a dedicated asset folder using python3 -m http.server 8000 --bind 127.0.0.1 --directory <preview-folder>, and stop it afterward. Use system or self-hosted fonts if you want to avoid Google requests. All ten bundled files were inspected, including the scanner's partial-coverage files; browser and network behavior were not exercised.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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 (8)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Full code, maths and verified parameters for every row: `references/techniques.md`.

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
references/techniques.md full code + maths + verified parameters per technique

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
3. **Copy the template.** `templates/starter.html` (or `subjects.html` for a preset gallery) plus

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
templates/subjects.html six-subject preset gallery (cats, dog, portraits, CMYK)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
templates/stickers.html die-cut cutouts: transparent stock, paper rim, PNG download

The HTTP preview command exposes the served directory to the network without warning.

Medium
Category
Output Handling
Confidence
97% confidence
Finding

python3 -m http.server 8000 binds to all network interfaces by default and serves the current directory without authentication. Although HTTP preview is appropriate for this canvas workflow and the instructions suggest a dedicated folder, other reachable hosts could retrieve source photos or any additional files placed in the served directory.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx typescript'.

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.

Content

No source excerpt is available for this finding.

Google Fonts is contacted automatically without disclosure of the third-party requests.

Low
Category
Output Handling
Confidence
90% confidence
Finding

Opening the page initiates connections and font requests to Google, exposing the visitor's IP address and request metadata. The template's usage instructions do not disclose this external dependency or its privacy implications.

Content

No source excerpt is available for this finding.