Back to skill

Security audit

marlinfw-tools

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly coherent for supervised 3D-printer control, but its safety claims do not fully match the command paths it exposes for a physical device.

Review this before installing on a real printer. Use only with a physically present operator, a known stable serial path, and exact current-turn approval for every state-changing command. Treat send as potentially capable of more than the documentation promises unless the Docker image implementation is independently verified or pinned to reviewed code.

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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation makes a strong safety claim that the tool never sends heating commands or arbitrary G-code, yet the same file describes a workflow that starts an SD print and later sends M104 S0, M140 S0, and M155 S0. This inconsistency can mislead an operator or downstream agent into underestimating the tool's ability to change printer state, increasing the chance of unsafe execution without appropriate caution.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script’s usage text states that arbitrary G-code is unsupported, but the send operation passes user-provided arguments through to the container without enforcing any allowlist on the actual G-code content. This creates a mismatch between documented safety guarantees and real behavior, which can lead operators or higher-level agents to issue dangerous printer commands under false assumptions, potentially causing unsafe motion, heater changes, or persistent configuration changes.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.