Happy App Audit
Statyczny audytor telemetrii aplikacji macOS .app: identyfikuje wbudowane SDK, punkty końcowe, dane na dysku
Testowano · Działa
Co robi ten skill
Statycznie audytuje zainstalowany pakiet macOS .app, aby zgłosić, jaką telemetrię zbiera, do których punktów końcowych przesyłania danych mapuje się i co pozostawia na dysku, używając wyłącznie narzędzi tylko do odczytu (strings, otool, plutil, codesign, sqlite3 .schema) bez żądań sieciowych ani dołączania debuggera. Identyfikuje wbudowane SDK (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng itp.), grupuje wyodrębnione ciągi znaków w urls/domains/sql/events i renderuje raport markdown. Uruchamia się, gdy użytkownik prosi o audyt, zbadanie lub inżynierię wsteczną aplikacji macOS pod kątem telemetrii, przesyłania danych, prywatności lub wykrywania SDK w ścieżkach takich jak /Applications lub /Library/Input Methods.
Raport z testu
Sklonowano repozytorium (bun 1.3.14 obecny, macOS) i uruchomiono scripts/run.ts kompleksowo na /Applications/Kimi.app i /Applications/Discord.app z --out do tymczasowego katalogu. Wygenerowało meta.json, pogrupowane strings/*.{urls,domains,sql,events}.md, matched.md, local_data.md i 138-liniowy report.md; dla Kimi wyliczyło 4 wbudowane frameworki z rozmiarami, pogrupowało 1382 adresy URL z binarnego Electron Framework i zrzuciło schemat SQLite Cache.db bez odczytywania wierszy. Linia bazowa (moje własne ad-hoc plutil/otool/strings|grep, 25 linii): otool -L ujawniło tylko Electron Framework + libSystem, a `strings MacOS/Kimi | grep` zwróciło zero domen, ponieważ launcher jest cienki — umiejętność znalazła prawdziwą powierzchnię telemetrii, którą linia bazowa przeoczyła. Dopasowanie odcisków palców zwróciło 0 potwierdzonych dla obu (uczciwy negatyw — baza danych celuje w natywne pakiety ByteDance/Tencent IME, a nie aplikacje Electron/JS-asar), a lib/shell.ts wymusza listę dozwolonych poleceń tylko do odczytu; nie znaleziono curl|sh, base64, eval ani zakodowanych na stałe ścieżek maszynowych.
Testowano: 2026-07-31 · Claude Code 2.x (agent harness)
Instalacja
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.
Komendy i przykładowe prompty
/happy-app-auditStatyczny audytor telemetrii aplikacji macOS .app: identyfikuje wbudowane SDK, punkty końcowe, dane na dysku
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Audit this app for hidden telemetry SDKsFind what data this macOS app uploadsReverse-engineer this app's tracking endpoints