Back to skill

Security audit

Apple Notes

Security checks for vulnerabilities and agentic risk

Overview

This skill clearly describes a macOS Apple Notes CLI integration, with sensitive but expected note access and no hidden or malicious behavior found.

Install only if you are comfortable granting the memo CLI access to Apple Notes. Review the upstream project before installing, prefer a known release when possible, and confirm note titles/folders carefully before edit, move, export, or delete operations.

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:4
Finding
Unpinned Third-Party CLI Installation from Mutable Sources<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:4-15` **Vulnerability Type**: Third-party supply-chain exposure through unpinned installation sources **Risk Level**: Medium ### Vulnerable Code ```yaml homepage: https://github.com/antoniorodr/memo metadata: {"clawdbot":{"emoji":"📝","os":["darwin"],"requires":{"bins":["memo"]},"install":[{"id":"brew","kind":"brew","formula":"antoniorodr/memo/memo","bins":["memo"],"label":"Install memo via Homebrew"}]}} --- # Apple Notes CLI Use `memo notes` to manage Apple Notes directly from the terminal. Create, view, edit, delete, search, move notes between folders, and export to HTML/Markdown. Setup - Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo` - Manual (pip): `pip install .` (after cloning the repo) - macOS-only; if prompted, grant Automation access to Notes.app. ``` ### Technical Analysis The skill instructs users to install the `memo` executable from a third-party personal Homebrew tap. Neither the Homebrew installation metadata nor the documented command pins an audited release, immutable commit, package digest, or cryptographic signature. The alternative installation procedure is also underspecified: it directs users to run `pip install .` after cloning “the repo” without stating an immutable revision, an exact clone command, or an integrity-verification procedure. Python package installation can execute package build hooks and other packaging logic from the cloned working tree. This creates a supply-chain trust boundary that cannot be verified from the skill artifact. The artifact contains only documentation and metadata; it does not include the dependency implementation. Consequently, the audit found no evidence that the current upstream dependency is malicious, but the installation procedure remains vulnerable to future upstream compromise, repository substitution, or installation from an unintended revision. The consequences are amplified because th ...[truncated 1721 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to a specific audited release and, where supported, an immutable source commit. 2. Verify downloaded release artifacts with published SHA-256 or stronger checksums and preferably cryptographic signatures. 3. Replace the ambiguous “after cloning the repo” instruction with the exact HTTPS repository URL and a command that checks out a reviewed commit or signed tag. 4. Avoid recommending `pip install .` from an unspecified working tree. Use a version-pinned, trusted package source or a verified source archive instead. 5. Pin the Homebrew formula or release artifact where operationally possible, and document that a personal tap is a third-party trust boundary. 6. Review the dependency's formula, Python packaging hooks, and executable source before approving a new version. 7. Run the CLI under a least-privileged macOS account and grant only the Automation permissions necessary for Apple Notes operations. 8. Document how users can revoke Notes Automation access and remove the dependency if its integrity becomes uncertain. ]]>
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
Findings (1)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill documentation explicitly includes note deletion functionality but does not warn that deletion is destructive or state that the agent should require explicit user confirmation before invoking it. In an agentic context, this increases the risk of accidental or ambiguous destructive actions that could permanently remove user data from Apple Notes.

Static analysis

No suspicious patterns detected.