Happy App Audit
Auditor estático de telemetría de .app de macOS: identifica SDKs embebidos, endpoints, datos en disco
Probado · Funciona
Qué hace
Audita estáticamente un paquete .app de macOS instalado para informar qué telemetría recopila, a qué endpoints de carga se mapea y qué deja en disco, utilizando solo herramientas de solo lectura (strings, otool, plutil, codesign, sqlite3 .schema) sin solicitudes de red o adjuntos de depurador. Identifica SDKs embebidos (ByteDance AppLog/Parfait/TTNet, Tencent mars/MMKV/Bugly, Sentry, Firebase, Umeng, etc.), clasifica cadenas extraídas en urls/domains/sql/events y renderiza un informe markdown. Se activa cuando el usuario pide auditar, investigar o realizar ingeniería inversa en una aplicación de macOS para telemetría, carga de datos, privacidad o detección de SDK contra rutas como /Applications o /Library/Input Methods.
Informe de la prueba
Cloné el repositorio y ejecuté scripts/run.ts de extremo a extremo contra /Applications/Kimi.app y /Applications/Discord.app con --out a un directorio temporal. Produjo meta.json, strings/*.{urls,domains,sql,events}.md clasificados, matched.md, local_data.md y un report.md de 138 líneas; para Kimi enumeró 4 frameworks embebidos con tamaños, clasificó 1382 URLs del binario de Electron Framework y volcó el .schema de SQLite de Cache.db sin leer filas. Línea base (mi propio plutil/otool/strings|grep ad-hoc, 25 líneas): otool -L solo mostró Electron Framework + libSystem y `strings MacOS/Kimi | grep` devolvió cero dominios porque el lanzador es delgado — la habilidad encontró la superficie de telemetría real que la línea base omitió. La coincidencia de huellas dactilares devolvió 0 confirmados para ambos (negativo honesto — la DB apunta a paquetes IME nativos de ByteDance/Tencent, no a aplicaciones Electron/JS-asar), y lib/shell.ts impone una lista blanca de comandos de solo lectura; no se encontró curl|sh, base64, eval o rutas de máquina codificadas.
Probado el: 2026-07-31 · Claude Code 2.x (agent harness)
Instalación
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.
Comandos y prompts de ejemplo
/happy-app-auditAuditor estático de telemetría de .app de macOS: identifica SDKs embebidos, endpoints, datos en disco
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Audit this app for hidden telemetry SDKsFind what data this macOS app uploadsReverse-engineer this app's tracking endpoints