Back to skill

Security audit

MH apple-notes

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Apple Notes helper, but users should understand it installs and relies on a third-party CLI with Apple Notes access.

Install only if you trust the memo CLI source, review the Homebrew tap or repository before installing, and grant Apple Notes Automation access only if you are comfortable letting this tool view and change your notes, including deletes through its interactive commands.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:15
Finding
Unpinned Third-Party Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 15-17 and 31-32 **Vulnerability Type**: Unpinned and mutable third-party dependency source **Risk Level**: Medium ### Vulnerable Code ```yaml "formula": "antoniorodr/memo/memo", "bins": ["memo"], "label": "Install memo via Homebrew", ``` ```markdown - Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo` - Manual (pip): `pip install .` (after cloning the repo) ``` ### Technical Analysis The skill directs users to install `memo` from the third-party Homebrew tap `antoniorodr/memo` without pinning a reviewed release, commit, package digest, or cryptographic signature. Consequently, the code retrieved during installation can change after the skill itself has been audited. The manual installation procedure similarly tells users to clone an unspecified repository and execute `pip install .` without identifying an approved repository URL, release, or commit. Python package installation may execute package build logic, so installing a compromised or substituted checkout could run attacker-controlled code. This is a supply-chain weakness rather than evidence that the current `memo` package is malicious. Exploitation requires compromise, unauthorized modification, or substitution of the external dependency source. ### Attack Path 1. An attacker compromises the referenced third-party Homebrew tap, its upstream release assets, or a repository selected during the unspecified manual cloning process. 2. The attacker publishes a modified formula or package containing malicious installation or runtime logic. 3. A user follows the documented installation procedure without verifying a fixed version, commit, signature, or checksum. 4. Homebrew or pip retrieves and processes the attacker-controlled package. 5. Malicious code executes with the privileges of the installing user. 6. If the user subsequently grants the documented Notes.app Automation permission, the compromi ...[truncated 524 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the Homebrew installation to a reviewed, immutable release or commit rather than relying on the mutable head of a third-party tap. 2. Publish and verify SHA-256 checksums or cryptographic signatures for release artifacts before installation. 3. Specify the authoritative repository URL and an exact commit or signed release for manual installation. 4. Replace the ambiguous manual workflow with a verifiable procedure, for example: ```bash git clone https://github.com/antoniorodr/memo.git cd memo git checkout <reviewed-immutable-commit> git verify-commit <reviewed-immutable-commit> pip install . ``` 5. Prefer an isolated Python environment and avoid elevated installation privileges. 6. Review package formulae, build scripts, and transitive dependencies before updating the pinned version. 7. Grant Notes.app Automation access only after installation integrity has been verified, and revoke the permission when it is no longer required. ]]>
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.