Skip to main content
skill CX Codex

firebase-apk-scanner — Claude Code skill: Firebase audit for APKs

Unpacks an Android APK, pulls out its Firebase config and probes databases, buckets and functions for open access. Built for mobile app security audits.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add trailofbits/skills --skill firebase-apk-scanner -a claude-code
Open on GitHub

What firebase-apk-scanner does

The skill runs scanner.sh, which decompiles an APK with apktool and gathers Firebase credentials from google-services.json, XML resources, assets, smali and DEX strings. Then it moves to live checks: unauthenticated read and write on Realtime Database, Firestore document access, Storage bucket listing, open signup, anonymous auth, email enumeration, Cloud Function calls and Remote Config exposure. Two reports come out — scan_report.json and a narrative scan_report.txt.

Test entries the scanner creates get removed afterwards. If anonymous auth succeeds, the token is kept so you can retry against rules that assume a signed-in user. Tool permissions stay narrow: Bash is limited to scanner.sh, apktool and curl, alongside file reads and grep.

Not every APK reaches the probing stage. When decompilation fails or no Firebase config turns up, a report is still written but the exit code is nonzero, and that file counts as untested rather than clean. Coverage has edges too: Cloud Functions are probed in us-central1 only, while auth, functions and Remote Config are exercised against just the first project ID and API key extracted. Apps backed by several Firebase projects need a pass per config. The skill targets Android; iOS and web builds are out of scope.

What it helps with

  • find an open Realtime Database from a shipped APK
  • check whether a Storage bucket accepts writes
  • extract the Firebase project ID and API key from a compiled APK
  • test unrestricted signup and anonymous auth
  • enumerate Cloud Functions and hit them without a token

Example prompts for the agent

  • Scan app-release.apk for Firebase misconfigurations
  • Run the scanner over the apks/ folder and show me the report
  • Does this APK have an open Realtime Database?

How to install firebase-apk-scanner

1Skills CLI (Vercel)

npx skills add trailofbits/skills --skill firebase-apk-scanner -a claude-code

2Manually: put the files in place

~/.claude/skills/firebase-apk-scanner/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/firebase-apk-scanner/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about firebase-apk-scanner

How do I install firebase-apk-scanner in Claude Code?

Run npx skills add trailofbits/skills --skill firebase-apk-scanner -a claude-code. The skill lands at ~/.claude/skills/firebase-apk-scanner/SKILL.md.

What does firebase-apk-scanner do?

It decompiles an Android APK, extracts the Firebase configuration and probes its endpoints for open access: databases, storage, authentication, Cloud Functions and Remote Config. Results go into a text report and a JSON one.

What does the scanner leave untested?

Cloud Functions are checked in us-central1 only. Auth, functions and Remote Config are tested against the first extracted project ID and API key, so apps with multiple Firebase projects need a separate run per config.

Similar skills

All skills for Security →

From the same set77

token-integration-analyzer Checks ERC20 and ERC721 implementations plus code that integrates external tokens. Use it before accepting tokens with non-standard transfer or approval behaviour. CX Codex +1 5,500installs cargo-fuzz Sets up cargo-fuzz inside a Cargo-based Rust crate and walks through the harness, sanitizers and crash triage. CX Codex +1 5,400installs constant-time-analysis Inspects compiled assembly and bytecode for timing side-channels. It flags secret-dependent branches and variable-time operations in crypto routines. CX Codex +1 5,400installs harness-writing Helps you write and fix a fuzzing harness: map raw bytes onto API arguments, kill non-determinism, stop chasing crashes that never reproduce. CX Codex +1 5,400installs guidelines-advisor Audits smart contract codebases against Trail of Bits guidelines. It spots upgradeability pitfalls, flawed inheritance, and testing gaps. CX Codex +1 5,500installs coverage-analysis Measures code reached by a fuzzing campaign and helps explain stalled path discovery. Use it to inspect harness changes, corpus results, and unreachable branches. CX Codex +1 5,500installs fuzzing-dictionary Generates and connects token dictionaries for parsers and protocols in libFuzzer or AFL++ when coverage stalls on initial checks. CX Codex +1 5,300installs semgrep-rule-variant-creator Ports completed Semgrep rules to selected languages and creates separate rule and test directories. Use it when you already have a rule to adapt. CX Codex +1 5,300installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor