Happy App Audit

Statisk macOS .app telemetri-revisor: fingeravtrykker innebygde SDK-er, endepunkter, data på disk

av iamzhihuix · iamzhihuix/happy-claude-skills

Bestått ★ 8.8/10

Happy App Audit — Statisk macOS .app telemetri-revisor: fingeravtrykker innebygde SDK-er, endepunkter, data på disk

Hva den gjør

Reviderer statisk en installert macOS .app-pakke for å rapportere hvilken telemetri den samler inn, hvilke opplastingsendepunkter den mapper til, og hva den etterlater på disk, ved kun å bruke skrivebeskyttede verktøy (strings, otool, plutil, codesign, sqlite3 .schema) uten nettverksforespørsler eller debugger-tilkobling. Fingeravtrykker innebygde SDK-er (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng, etc.), grupperer utpakkede strenger i urls/domains/sql/events, og gjengir en markdown-rapport. Utløses når brukeren ber om å revidere, undersøke eller reversere en macOS-app for telemetri, dataopplasting, personvern eller SDK-deteksjon mot stier som /Applications eller /Library/Input Methods.

Testrapport

Klonet repoet (bun 1.3.14 til stede, macOS) og kjørte scripts/run.ts ende-til-ende mot /Applications/Kimi.app og /Applications/Discord.app med --out til en midlertidig katalog. Den produserte meta.json, grupperte strings/*.{urls,domains,sql,events}.md, matched.md, local_data.md og en 138-linjers report.md; for Kimi listet den opp 4 innebygde rammeverk med størrelser, grupperte 1382 URL-er fra Electron Framework-binæren, og dumpet Cache.db's SQLite .schema uten å lese rader. Grunnlinje (min egen ad-hoc plutil/otool/strings|grep, 25 linjer): otool -L avdekket kun Electron Framework + libSystem og `strings MacOS/Kimi | grep` returnerte null domener fordi launcher er tynn — ferdigheten fant den virkelige telemetrioverflaten grunnlinjen savnet. Fingeravtrykksmatching returnerte 0 bekreftet for begge (ærlig negativ — DB-en retter seg mot native ByteDance/Tencent IME-pakker, ikke Electron/JS-asar-apper), og lib/shell.ts håndhever en skrivebeskyttet kommandohvitliste; ingen curl|sh, base64, eval, eller hardkodede maskinstier funnet.

Testet på: 2026-07-31 · Claude Code 2.x (agent harness)

Installer

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.

Kommandoer og eksempelprompter

  • /happy-app-auditStatisk macOS .app telemetri-revisor: fingeravtrykker innebygde SDK-er, endepunkter, data på disk

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Audit this app for hidden telemetry SDKs
  • Find what data this macOS app uploads
  • Reverse-engineer this app's tracking endpoints