T08 · Insecure Dependencies
- Location
scripts/setup.sh:24- Finding
Unpinned Third-Party Homebrew Dependency with Accessibility Privileges
- Content
View full analysis
Vulnerability Details
File Location:
scripts/setup.sh:24-25; also declared inSKILL.md:18and documented inSKILL.md:35-37
Vulnerability Type: Unpinned third-party dependency installed from a mutable package source
Risk Level: MediumVulnerable Code
scripts/setup.sh:24-25:bash brew tap reedburns/mcp-server-macos-use brew install mcp-server-macos-useSKILL.md:18:yaml "command": "brew tap reedburns/mcp-server-macos-use && brew install mcp-server-macos-use",SKILL.md:35-37:bash brew tap reedburns/mcp-server-macos-use brew install mcp-server-macos-useTechnical Analysis
The setup process adds a third-party Homebrew tap and installs the currently available
mcp-server-macos-useformula without pinning an immutable formula revision, package version, artifact checksum, or cryptographic signature. Consequently, the code executed during installation and the installed binary can change after the Skill has been reviewed.This creates a supply-chain trust boundary: the effective implementation depends on the current contents of the external
reedburns/mcp-server-macos-usetap. The risk is amplified because the documentation subsequently directs the user to grant the installed server macOS Accessibility permission. That permission is consistent with the Skill's stated GUI-automation purpose, but it gives a compromised dependency significant ability to observe and manipulate application interfaces.No evidence in the audited project establishes that the named dependency is currently malicious. The vulnerability is the lack of immutable dependency selection and integrity verification, which would permit a compromised or unexpectedly modified upstream release to be installed.
Attack Path
- An attacker compromises the third-party tap, a maintainer account, its release artifacts, or another relevant upstream distribution component.
- The attack ...[truncated 1610 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed release and immutable Homebrew formula commit rather than installing whichever version is current.
- Verify downloaded artifacts against a project-maintained SHA-256 checksum or a trusted cryptographic signature before installation.
- Record the expected package version, formula revision, source repository, and checksum in the Skill documentation and setup script.
- Fail closed if the resolved package version or digest differs from the approved value.
- Review upstream changes before updating the pinned version, with particular attention to code that accesses the Accessibility API, launches subprocesses, reads files, or communicates over the network.
- Clearly explain the security implications of Accessibility permission and instruct users to revoke that permission when the server is no longer required.
- Prefer a reproducible release artifact from a trusted source, and consider vendoring or building from a pinned source commit in a controlled process when feasible.
