Back to skill

Security audit

SVG

Security checks for vulnerabilities and agentic risk

Overview

This SVG guidance skill is coherent and low risk, with two cautions around local preference memory and an unpinned optional SVGO command.

Before installing, be aware that the skill may create `~/svg/memory.md` to remember SVG preferences; review or delete that file if you do not want local preference persistence. If you follow the SVGO example, prefer a pinned project dependency and lockfile-backed command instead of running an unpinned `npx` package.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
optimization.md:55
Finding

Unpinned Third-Party Package Execution Through npx

Content
View full analysis
Remediation
View remediation
``` 2. Commit the generated lockfile and use reproducible installation commands such as: ```bash npm ci ``` 3. Invoke the lockfile-backed local executable and prevent network fallback where supported: ```bash npm exec --offline -- svgo icon.svg ``` 4. Review dependency updates before changing the pinned version. Verify package provenance, integrity metadata, maintainership, and transitive dependency changes. 5. Run optimization tools in a restricted environment with no unnecessary credentials, secrets, or write access to unrelated directories. 6. Update the documentation so it does not encourage direct execution of an unpinned registry package. ]]>
Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • 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 (2)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly states that user preferences persist in ~/svg/memory.md and should be created on first use, but it provides no notice about privacy, retention, or user consent. Persistent storage of behavioral preferences can expose potentially sensitive workflow information, especially on shared systems or when users do not expect local profile data to be written.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The documentation recommends running npx svgo without pinning a specific package version. This can cause users to fetch and execute whatever version is current at invocation time, reducing reproducibility and creating supply-chain risk if a malicious or compromised release is published.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.