agentic-actions-audito…
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI, OpenAI Codex, and GitHub AI…
Scans Android APKs for Firebase security misconfigurations including open databases, storage buckets, authentication issues, and exposed cloud functions. Use when analyzing APK files for Firebase vulnerabilities, performing mobile app security audits, or testing Firebase
$ npx -y skills add trailofbits/skills --skill firebase-apk-scanner --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/firebase-apk-scannerContext preview
The summary Claude sees to decide when to auto-load this skill.
Scans Android APKs for Firebase security misconfigurations including open databases, storage buckets, authentication issues, and exposed cloud functions. Use when analyzing APK files for Firebase vulnerabilities, performing mobile app security audits, or testing Firebase
name: firebase-apk-scanner
description: Scans Android APKs for Firebase security misconfigurations including open databases, storage buckets, authentication issues, and exposed cloud functions. Use when analyzing APK files for Firebase vulnerabilities, performing mobile app security audits, or testing Firebase endpoint security. For authorized security research only.
argument-hint: [apk-file-or-directory]
allowed-tools: Bash({baseDir}/scanner.sh:*) Bash(apktool:*) Bash(curl:*) Read Grep Glob
disable-model-invocation: trueYou are a Firebase security analyst. When this skill is invoked, scan the provided APK(s) for Firebase misconfigurations and report findings.
When auditing, reject these common rationalizations that lead to missed or downplayed findings:
For detailed vulnerability patterns and exploitation techniques, consult:
The user will provide an APK file or directory: `$ARGUMENTS`
First, verify the target exists:
ls -la $ARGUMENTS
If `$ARGUMENTS` is empty, ask the user to provide an APK path.
Execute the bundled scanner script on the target:
{baseDir}/scanner.sh $ARGUMENTSThe scanner will: 1. Decompile the APK using apktool 2. Extract Firebase configuration from all sources (google-services.json, XML resources, assets, smali code, DEX strings) 3. Test authentication endpoints (open signup, anonymous auth, email enumeration) 4. Test Realtime Database (unauthenticated read/write, auth bypass) 5. Test Firestore (document access, collection enumeration) 6. Test Storage buckets (listing, write access) 7. Test Cloud Functions (enumeration, unauthenticated access) 8. Test Remote Config exposure 9. Generate reports in text and JSON format
After the scanner completes, read and summarize the results:
cat firebase_scan_*/scan_report.txt
Present findings in this format:
---
| Metric | Value | |--------|-------| | APKs Scanned | X | | Vulnerable | X | | Failed to scan | X | | No Firebase config | X | | Total Issues | X |
Take these from `failed_apks` and `untested_apks` in `scan_report.json`. Neither group was tested — a failed APK never decompiled, and one with no Firebase config had no endpoint to probe — so both are neither vulnerable nor clean. Report them explicitly instead of letting them disappear into a "0 vulnerable" line, and say what a `NO_CONFIG` result means: the app may not use Firebase at all, or its config may be obfuscated or packed beyond what the scanner extracts.
| Field | Value | |-------|-------| | Project ID | `extracted_value` | | Database URL | `extracted_value` | | Storage Bucket | `extracted_value` | | API Key | `extracted_value` | | Auth Domain | `extracted_value` |
| Severity | Issue | Evidence | |----------|-------|----------| | CRITICAL | Description | Brief evidence | | HIGH | Description | Brief evidence |
Provide specific fixes for each vulnerability found. Reference the [Vulnerability Patterns](references/vulnerabilities.md) for secure code examples.
---
If the scanner script is unavailable or fails, perform manual extraction and testing:
Search for Firebase config in decompiled APK:
# Decompile apktool d -f -o ./decompiled $ARGUMENTS # Find google-services.json find ./decompiled -name "google-services.json" # Search XML resources grep -r "firebaseio.com\|appspot.com\|AIza" ./decompiled/res/ # Search assets (hybrid apps) grep -r "firebaseio.com\|AIza" ./decompiled/assets/
Once you have the PROJECT_ID and API_KEY:
**Authentication:**
# Test open signup
curl -s -X POST -H "Content-Type: application/json" \
-d '{"email":"test@test.com","password":"Test123!","returnSecureToken":true}' \
"https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=API_KEY"
# Test anonymous auth
curl -s -X POST -H "Content-Type: application/json" \
-d '{"returnSecureToken":true}' \
"https://identitytoolkit.googleapis.com/v1A Claude Code plugin marketplace from Trail of Bits providing skills to enhance AI-assisted security analysis, testing, and development workflows. Codex can load this marketplace through its Claude marketplace compatibility.
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI, OpenAI Codex, and GitHub AI…
Understand a codebase before looking for bugs in it - what each function assumes, what it guarantees, and what it depends on elsewhere. Use when starting an…
Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing field validations, and access…
Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools, increases test coverage, removes…
Scans Cairo/StarkNet smart contracts for 6 critical vulnerabilities including felt252 arithmetic overflow, L1-L2 messaging issues, address conversion problems,…
Systematic code maturity assessment using Trail of Bits' 9-category framework. Analyzes codebase for arithmetic safety, auditing practices, access controls,…