Happy App Audit
Auditor statico di telemetria per app macOS .app: identifica SDK incorporati, endpoint, dati su disco
Promosso
Cosa fa
Audita staticamente un bundle .app macOS installato per segnalare quale telemetria raccoglie, a quali endpoint di upload si mappa e cosa lascia su disco, utilizzando solo strumenti di sola lettura (strings, otool, plutil, codesign, sqlite3 .schema) senza richieste di rete o attach del debugger. Identifica SDK incorporati (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng, ecc.), raggruppa le stringhe estratte in urls/domains/sql/events e renderizza un report markdown. Si attiva quando l'utente chiede di auditare, investigare o fare reverse-engineering di un'app macOS per telemetria, upload di dati, privacy o rilevamento SDK contro percorsi come /Applications o /Library/Input Methods.
Rapporto di test
Clonato il repo (bun 1.3.14 presente, macOS) ed eseguito scripts/run.ts end-to-end contro /Applications/Kimi.app e /Applications/Discord.app con --out in una directory temporanea. Ha prodotto meta.json, strings/*.{urls,domains,sql,events}.md raggruppati, matched.md, local_data.md e un report.md di 138 righe; per Kimi ha enumerato 4 framework incorporati con dimensioni, raggruppato 1382 URL dal binario Electron Framework e scaricato lo .schema di SQLite di Cache.db senza leggere le righe. Baseline (il mio plutil/otool/strings|grep ad-hoc, 25 righe): otool -L ha mostrato solo Electron Framework + libSystem e `strings MacOS/Kimi | grep` ha restituito zero domini perché il launcher è sottile — la skill ha trovato la vera superficie di telemetria che la baseline ha mancato. La corrispondenza delle impronte digitali ha restituito 0 confermati per entrambi (negativo onesto — il DB mira a bundle IME nativi ByteDance/Tencent, non app Electron/JS-asar), e lib/shell.ts impone una whitelist di comandi di sola lettura; nessun curl|sh, base64, eval o percorsi macchina hardcoded trovati.
Testato il: 2026-07-31 · Claude Code 2.x (agent harness)
Installazione
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.
Comandi e prompt di esempio
/happy-app-auditAuditor statico di telemetria per app macOS .app: identifica SDK incorporati, endpoint, dati su disco
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Audit this app for hidden telemetry SDKsFind what data this macOS app uploadsReverse-engineer this app's tracking endpoints