Back to skill

Security audit

Pencil Renderer

Security checks for vulnerabilities and agentic risk

Overview

This skill is a narrowly scoped Pencil design helper that creates or edits .pen frames from design DNA, with only minor caution needed around destructive design operations and external image generation prompts.

Install only if you use the Pencil MCP workflow and are comfortable letting the agent create or modify .pen design frames. Review generated batch operations before applying them to important documents, especially replace/delete calls, and avoid sensitive text in AI or stock image prompts.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 (3)

Missing User Warnings

Low
Confidence
80% confidence
Finding
The quick reference presents `R("path/to/node", ...)` as a normal operation, but replacement can overwrite an existing node and thus alter or destroy prior design content. The document does not disclose this impact anywhere in the examples or nearby guidance.

Missing User Warnings

Low
Confidence
87% confidence
Finding
This markdown file documents the `D("nodeId")` delete operation, which can remove design content, but the surrounding text provides no warning that the action is destructive or may affect user data. Under the markdown-specific missing-warning rule, destructive behaviors should be accompanied by some disclosure so users understand the impact before using the pattern.

Missing User Warnings

Low
Confidence
84% confidence
Finding
The examples `G("frameId", "ai", ...)` and `G("frameId", "stock", ...)` imply external image generation or retrieval, which likely involves network calls and transmission of prompts or search terms. The markdown does not warn users that these operations may send data to external services.

Static analysis

No suspicious patterns detected.