printer-control

Security checks across malware telemetry and agentic risk

Overview

This is a real Windows printer-control skill, but its PowerShell fallback builds commands from user-controlled printer names, file paths, and text in ways that can be unsafe.

Install only if you need Windows printer automation and are comfortable with local PowerShell fallback behavior. Prefer the pywin32 path, confirm the exact printer and any default-printer change before running commands, and avoid using untrusted printer names, file paths, or text until the PowerShell calls are refactored to use safe parameter binding or strict validation.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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
Findings (8)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
# Note: PowerShell printing is limited, may not work for all file types
            """
            
            result = subprocess.run(
                ['powershell', '-Command', ps_script],
                capture_output=True,
                text=True,
Confidence
98% confidence
Finding
result = subprocess.run( ['powershell', '-Command', ps_script], capture_output=True, text=True, timeout=30 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
}}
            """
            
            result = subprocess.run(
                ['powershell', '-Command', ps_script],
                capture_output=True,
                text=True,
Confidence
99% confidence
Finding
result = subprocess.run( ['powershell', '-Command', ps_script], capture_output=True, text=True, timeout=30 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
Remove-Item $tempFile -Force
        """
        
        result = subprocess.run(
            ['powershell', '-Command', ps_script],
            capture_output=True,
            text=True,
Confidence
91% confidence
Finding
result = subprocess.run( ['powershell', '-Command', ps_script], capture_output=True, text=True, timeout=30 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
}} | ConvertTo-Json
        """
        
        result = subprocess.run(
            ['powershell', '-Command', ps_script],
            capture_output=True,
            text=True,
Confidence
97% confidence
Finding
result = subprocess.run( ['powershell', '-Command', ps_script], capture_output=True, text=True, timeout=10 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
$printer | Set-Printer -Default
        """
        
        result = subprocess.run(
            ['powershell', '-Command', ps_script],
            capture_output=True,
            text=True,
Confidence
95% confidence
Finding
result = subprocess.run( ['powershell', '-Command', ps_script], capture_output=True, text=True, timeout=10 )

Missing User Warnings

Medium
Confidence
98% confidence
Finding
The fallback PowerShell path embeds the printer name directly into the script without safe escaping or parameterization. In this skill context, the printer name comes from command-line input and may be attacker-controlled, making command execution through PowerShell a realistic risk if crafted input reaches this path.

Unvalidated Output Injection

High
Category
Output Handling
Content
Remove-Item $tempFile -Force
        """
        
        result = subprocess.run(
            ['powershell', '-Command', ps_script],
            capture_output=True,
            text=True,
Confidence
92% confidence
Finding
subprocess.run( ['powershell', '-Command', ps_script], capture_output

Unvalidated Output Injection

High
Category
Output Handling
Content
$printer | Set-Printer -Default
        """
        
        result = subprocess.run(
            ['powershell', '-Command', ps_script],
            capture_output=True,
            text=True,
Confidence
97% confidence
Finding
subprocess.run( ['powershell', '-Command', ps_script], capture_output

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal