T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:16- Finding
Overbroad Full Disk Access Recommendation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is not obviously malicious, but it handles private message histories with broad permissions and weak safeguards that could expose more conversations than intended.
Review this carefully before installing. Only run it on message histories you have clear permission to analyze, prefer user-exported data over broad system access, avoid granting Full Disk Access to a general terminal or Python interpreter unless absolutely necessary, and revoke it immediately afterward. Use exact phone numbers or handles, avoid broad searches, and assume terminal output may contain private messages and contact details.
SKILL.md:16Overbroad Full Disk Access Recommendation
scripts/analyze.py:27Ambiguous iMessage Handle Matching Can Expose Unrelated Conversations
scripts/analyze.py:49Group-Chat Messages Are Exposed and Misattributed to the Selected Contact
scripts/analyze.py:96Signal No-Match Error Enumerates Unrelated Contact Details
The documentation tells users how to grant Full Disk Access to Python or a terminal app in order to reach ~/Library/Messages/chat.db, but it does not prominently warn that this enables reading extremely sensitive local communications and potentially broader filesystem access by that app. Because the skill is specifically designed to inspect private conversations and infer relationship dynamics, this omission materially increases privacy and abuse risk.
The skill can read highly sensitive local data sources (iMessage chat history, AddressBook database, Signal exports) but does not declare any explicit tool scope or permission boundaries. That makes the effective data-access surface opaque and increases the chance the skill is invoked without clear user understanding that private message history and contacts may be accessed.
The description uses broad trigger phrases like analyzing messages, reading message history, checking conversation patterns, or evaluating a relationship, which can match common conversational requests and cause overbroad auto-invocation. In this skill's context, accidental invocation is more dangerous because it targets intimate communications and relationship inferences from sensitive personal data.
The script accesses a highly sensitive local iMessage database and prints matching handles and recent message content to stdout without any privacy notice, confirmation step, or output minimization. In a skill explicitly designed to analyze private relationship communications, this increases the risk of inadvertent disclosure through terminal logs, agent transcripts, screenshots, or shared sessions.
The Signal path loads exported conversation history from JSON and prints recipient details and recent message contents with no user-facing warning or consent checkpoint. Because Signal exports can contain sensitive plaintext archives, this behavior can easily leak private communications into console history, logs, or agent-visible outputs in a context centered on intimate relationship analysis.
The advertised purpose includes revealing tone samples and evaluating relationship dynamics based on text history. The actual analysis computes message counts, yearly volume, crude initiation estimates, silence gaps, and shows recent message excerpts; it does not perform sentiment, tone, or relationship-quality analysis beyond simple heuristics.
The manifest says the skill analyzes Signal conversation history on Linux/Windows and macOS, which implies direct analysis of existing message history. In this file, Signal support only reads a user-supplied export file and even instructs the user to use signal-cli to create it, which is a narrower behavior than the description suggests.
No suspicious patterns detected.