Happy App Audit
Statisk macOS .app telemetri-revisor: fingeravtrycker inbäddade SDK:er, slutpunkter, data på disk
Testad · Fungerar
Vad den gör
Granskar statiskt ett installerat macOS .app-paket för att rapportera vilken telemetri det samlar in, vilka uppladdningsslutpunkter det mappar till, och vad det lämnar på disk, med endast skrivskyddade verktyg (strings, otool, plutil, codesign, sqlite3 .schema) utan nätverksförfrågningar eller debugger-anslutning. Fingeravtrycker inbäddade SDK:er (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng, etc.), grupperar extraherade strängar i urls/domains/sql/events, och renderar en markdown-rapport. Utlöses när användaren ber att granska, undersöka eller reverse-engineera en macOS-app för telemetri, datauppladdning, integritet eller SDK-detektering mot sökvägar som /Applications eller /Library/Input Methods.
Testrapport
Klonade repot (bun 1.3.14 närvarande, macOS) och körde scripts/run.ts end-to-end mot /Applications/Kimi.app och /Applications/Discord.app med --out till en temporär katalog. Den producerade meta.json, grupperade strings/*.{urls,domains,sql,events}.md, matched.md, local_data.md och en 138-radig report.md; för Kimi räknade den upp 4 inbäddade ramverk med storlekar, grupperade 1382 URL:er från Electron Framework-binären, och dumpade Cache.db:s SQLite .schema utan att läsa rader. Baslinjen (min egen ad-hoc plutil/otool/strings|grep, 25 rader): otool -L visade endast Electron Framework + libSystem och `strings MacOS/Kimi | grep` returnerade noll domäner eftersom startprogrammet är tunt — färdigheten hittade den verkliga telemetriytan som baslinjen missade. Fingeravtrycksmatchning returnerade 0 bekräftade för båda (ärligt negativt — DB:n riktar sig mot native ByteDance/Tencent IME-paket, inte Electron/JS-asar-appar), och lib/shell.ts upprätthåller en skrivskyddad kommandovitlista; ingen curl|sh, base64, eval eller hårdkodade maskinsökvägar hittades.
Testad: 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.
Kommandon och exempelprompter
/happy-app-auditStatisk macOS .app telemetri-revisor: fingeravtrycker inbäddade SDK:er, slutpunkter, data på disk
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
Audit this app for hidden telemetry SDKsFind what data this macOS app uploadsReverse-engineer this app's tracking endpoints