Back to skill

Security audit

skill-audit

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a skill-scanning tool, but its archive extraction may let a crafted .skill file write outside the intended folder.

Review before installing or running on untrusted .skill files. Use only in a disposable workspace or sandbox until archive extraction is changed to validate every member path, reject symlinks and special files, and enforce size/count limits.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (1)

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The scanner extracts untrusted .skill archives to disk with zipfile.extractall() before analysis. Even though this is for scanning, archive extraction is a real file-write operation and, without validating member paths, can expose the host to zip-slip style path traversal or unintended overwrites outside the temporary directory.

Static analysis

Detected: suspicious.dangerous_exec, suspicious.dynamic_code_execution

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/scan_skill.py:250

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
scripts/scan_skill.py:249