Install
$ agentstack add skill-jinjingwangjessica-blip-mac-chat-own-data-kit-mac-chat-own-data-kit ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
chat-own-data-export
Extracts the user's own chat data from a macOS IM client. Always runs against the logged-in account on the user's own machine.
When to invoke
The user asks for any of:
- export / archive / summarize / analyze their own chat history
- extract attachments, voice notes, files from their IM
- read messages from a specific chat/group for research they own
Do NOT invoke when:
- The request targets someone else's account or device.
- The user asks for generic reverse-engineering help (not their data).
Pipeline
Standard sequence — skip steps already satisfied.
- Check prerequisites
``bash csrutil status # must be "disabled" which lldb # /usr/bin/lldb from Xcode CLT python3 -c "import cryptography, zstandard, PIL" # pip deps ``
If SIP is enabled, stop and instruct the user to boot into Recovery Mode and run csrutil disable. Re-enable afterward.
- Extract SQLCipher keys
``bash PYTHONPATH=$(lldb -P) /Applications/Xcode.app/Contents/Developer/usr/bin/python3 \ scripts/find_key_memscan.py \ --process \ --db-dir "$HOME/Library/...//db_storage" \ --out keys.json ``
- Decrypt all DBs (pure Python, no brew)
``bash python scripts/decrypt_db_pure.py --keys keys.json \ --src "$HOME/Library/.../db_storage" \ -o ./decrypted/ ``
- Parse messages
``bash python scripts/parse_messages.py --src ./decrypted --out messages.jsonl # Or: --chat to target one conversation ``
- (Optional) OCR growth-card / screenshot photos
``bash python scripts/vision_ocr_cn.py photo.jpg # normal sizes python scripts/tiled_ocr.py long_screenshot.jpg # > 8192 px ``
Extractable surface
Tell the user this upfront so expectations match reality:
| Type | Status | |---|:---:| | Text messages (all chats) | ✅ Full | | Videos (MP4) | ✅ Full, plaintext on disk | | Files (PDF/Office/archives) | ✅ Full | | Voice notes (SILK) | ✅ Full — convert with ffmpeg -i in.silk out.mp3 | | Contacts & chat rooms | ✅ Full | | Moments / feed posts | ✅ Full | | Favorites / stickers | ✅ Full | | Images (legacy format) | ✅ Hardcoded key known | | Images (newer 4.x format) | ⚠️ Upstream crypto unsolved. Tell the user to use the IM app's own UI ("save all images" in chat settings) to batch-export. |
Data handling rules
- Never upload decrypted data to a remote API unless the user explicitly
consents.
- Prefer local LLMs for summarization if the data is sensitive.
- Do not retain key files or decrypted DBs past the analysis session
unless the user asks. Suggest deleting.
- If the user wants to publish or share an analysis: remind them to
redact third-party wxids, phone numbers, and real names.
Known friction
- macOS 26 support for lldb memory reading is still rolling in; stay
current with the Thearas upstream.
- Some clients have started using a different per-chat key format for
legacy image files; fall back to the IM app's UI export if the legacy image decryptor fails.
- SQLCipher v5 is rumored for future releases; check the page layout
constants before panicking if decryptdbpure.py starts emitting corrupt output.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jinjingwangjessica-blip
- Source: jinjingwangjessica-blip/mac-chat-own-data-kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.