Airfoil

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill mostly does what it claims, but its shell wrapper builds AppleScript from raw command arguments, which creates a local automation injection risk.

Review or patch airfoil.sh before installing, especially if the agent may act on speaker names it discovers from the network. Use only trusted speaker names, avoid names containing quotes or unusual characters, validate volume values manually, and grant macOS Accessibility permissions only if you are comfortable with the broader local automation access.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A malicious or malformed speaker name could cause the agent to run unintended local AppleScript actions, not just connect or disconnect an Airfoil speaker.

Why it was flagged

The speaker argument is inserted directly into AppleScript source. A crafted speaker name containing quotes or newlines could alter the AppleScript command instead of being treated only as a speaker name.

Skill content
SPEAKER="$2" ... osascript -e "tell application \"Airfoil\" to connect to (first speaker whose name is \"$SPEAKER\")"
Recommendation

Pass speaker names to osascript as arguments rather than interpolating them into source text, escape AppleScript strings, and validate volume as an integer from 0 to 100 before invoking Airfoil.

What this means

Granting Terminal or Airfoil Accessibility permissions can allow broader local automation than speaker control alone.

Why it was flagged

The skill asks the user to grant macOS Accessibility permissions, which are broad and persist beyond a single command, even though this is disclosed and related to controlling Airfoil.

Skill content
Launch Airfoil and grant Accessibility permissions (System Settings → Privacy & Security → Accessibility)
Recommendation

Grant these permissions only if needed, use a trusted terminal environment, and revoke the permission when you no longer use the skill.

What this means

Users may encounter an unexpected missing dependency or be prompted to install an extra package that was not declared in the registry metadata.

Why it was flagged

The script depends on bc for volume calculation, but the registry requirements list only osascript as a required binary.

Skill content
VOL=$(echo "scale=2; $VALUE / 100" | bc)
Recommendation

Declare bc as a required binary or replace the calculation with shell-safe validation/arithmetic that does not require an undeclared dependency.