Happy App Audit
Statischer macOS .app Telemetrie-Auditor: Fingerabdrücke eingebetteter SDKs, Endpunkte, On-Disk-Daten
Getestet · Funktioniert
Was es kann
Prüft statisch ein installiertes macOS .app-Bundle, um zu berichten, welche Telemetriedaten es sammelt, welchen Upload-Endpunkten es zugeordnet ist und was es auf der Festplatte hinterlässt, ausschließlich mit schreibgeschützten Tools (strings, otool, plutil, codesign, sqlite3 .schema) ohne Netzwerkanfragen oder Debugger-Anhängung. Fingerabdrücke eingebetteter SDKs (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng usw.), gruppiert extrahierte Zeichenfolgen in urls/domains/sql/events und rendert einen Markdown-Bericht. Wird ausgelöst, wenn der Benutzer darum bittet, eine macOS-App auf Telemetrie, Daten-Upload, Datenschutz oder SDK-Erkennung gegen Pfade wie /Applications oder /Library/Input Methods zu prüfen, zu untersuchen oder zu reverse-engineeren.
Testbericht
Das Repo geklont (bun 1.3.14 vorhanden, macOS) und scripts/run.ts End-to-End gegen /Applications/Kimi.app und /Applications/Discord.app mit --out in ein temporäres Verzeichnis ausgeführt. Es produzierte meta.json, gruppierte strings/*.{urls,domains,sql,events}.md, matched.md, local_data.md und einen 138-zeiligen report.md; für Kimi listete es 4 eingebettete Frameworks mit Größen auf, gruppierte 1382 URLs aus der Electron Framework-Binärdatei und dumpte das SQLite .schema von Cache.db, ohne Zeilen zu lesen. Baseline (mein eigenes Ad-hoc plutil/otool/strings|grep, 25 Zeilen): otool -L zeigte nur Electron Framework + libSystem und `strings MacOS/Kimi | grep` gab null Domains zurück, da der Launcher dünn ist – der Skill fand die echte Telemetrie-Oberfläche, die die Baseline übersehen hatte. Die Fingerabdruck-Übereinstimmung ergab 0 Bestätigungen für beide (ehrliches Negativ – die DB zielt auf native ByteDance/Tencent IME-Bundles ab, nicht auf Electron/JS-asar-Apps), und lib/shell.ts erzwingt eine schreibgeschützte Befehls-Whitelist; kein curl|sh, base64, eval oder fest codierte Maschinenpfade gefunden.
Getestet am: 2026-07-31 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/iamzhihuix/happy-claude-skills.git /tmp/happy-app-audit-src mkdir -p ~/.claude/skills cp -R /tmp/happy-app-audit-src/skills/happy-app-audit ~/.claude/skills/happy-app-audit # Requires bun in PATH (falls back to `npx -y bun`). macOS only (uses otool/codesign/plutil). # Run a full audit (writes report + audit trail): # bun ~/.claude/skills/happy-app-audit/scripts/run.ts /Applications/Foo.app --out ~/app-audit # Optional --card renders a 4:5 share image and needs the separate baoyu-imagine skill; # without it the skill still writes card_prompt.md and prints an install hint.
Befehle & Beispiel-Prompts
/happy-app-auditStatischer macOS .app Telemetrie-Auditor: Fingerabdrücke eingebetteter SDKs, Endpunkte, On-Disk-Daten
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Audit this app for hidden telemetry SDKsFind what data this macOS app uploadsReverse-engineer this app's tracking endpoints