T09 · Insecure Skill Coding Practices
- Location
airfoil.sh:23- Finding
AppleScript Injection Through Unescaped Speaker Names
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Airfoil audio-control skill is coherent, but its bundled script handles speaker names unsafely enough that a crafted name could run local commands.
Review this skill before installing. It appears intended for local Airfoil speaker control and does not show hidden persistence or data exfiltration, but the bundled script should be fixed to pass speaker names and volume values as AppleScript arguments and validate volume ranges before use. Avoid using it with untrusted speaker names or agent-generated arguments until that is corrected.
airfoil.sh:23AppleScript Injection Through Unescaped Speaker Names
airfoil.sh:38Missing Numeric and Range Validation for Volume Input
The skill description presents speaker control as convenient automation but does not warn users that commands can immediately reroute audio, disconnect active speakers, or alter volume on shared devices. Without an upfront warning, users may invoke the skill in inappropriate contexts and unexpectedly disrupt meetings, media playback, or other shared listening environments.
The invocation examples use broad natural-language phrases like 'Turn the music down' and 'Which speakers are on?' that can plausibly occur in ordinary conversation and be mapped to immediate device-control actions. In a voice- or chat-driven agent context, this increases the risk of accidental activation that changes audio routing or volume without explicit user confirmation.
No suspicious patterns detected.