Skip to main content

🔥🐕 Firehound Firebase Security Scanner

PyPI version Python 3.8+

Automated Firebase security scanner for iOS applications

Firehound downloads iOS apps from the App Store, extracts Firebase configurations, and systematically tests for security misconfigurations across Realtime Database, Firestore, Storage, Functions, and Hosting services.

🚀 Quick Start

Installation

# Install from PyPI  
pip install firehound-scanner

# Or with pipx (recommended for tools)
pipx install firehound-scanner

Prerequisites

Install ipatool for App Store downloads:

# macOS
brew install majd/repo/ipatool

# Linux - download from releases
# https://github.com/majd/ipatool/releases

Setup & Usage

# 1. One-time setup with Apple ID
ipatool auth login --email your@email.com

# 2. Set environment variables
export FIREHOUND_EMAIL='your@email.com'
export FIREHOUND_KEYCHAIN_PASSPHRASE='your_passphrase'
export FIREHOUND_APPLE_ID_PASSWORD='your_password'

# 3. Start scanning!
firehound --search "banking apps" -l 3      # Search and scan
firehound --bundle-id com.example.app       # Scan specific app
firehound --ids-file app-list.txt           # Batch scan
firehound --directory /path/to/app          # Scan extracted app

🏗️ How It Works

graph LR
    A[🔍 App Store Search] --> B[📱 Download iOS App]
    B --> C[📋 Extract Firebase Config]
    C --> D[🧪 Test Firebase Services]
    D --> E[📊 Generate Report]
    
    subgraph "Firebase Services"
        F[🔥 Realtime Database]
        G[📄 Firestore]
        H[📦 Storage Buckets]
        I[⚡ Cloud Functions]
        J[🌐 Hosting]
    end
    
    D --> F
    D --> G
    D --> H
    D --> I
    D --> J

✨ Key Features

  • 🔍 Automated Discovery: Search App Store or scan specific apps
  • 🏗️ Complete Coverage: Tests all major Firebase services
  • 🔐 Authentication Testing: Attempts anonymous and email auth
  • 📊 Detailed Reports: JSON reports with evidence and proof-of-concept
  • ⚡ Fast & Efficient: Concurrent testing with smart retries
  • 🧹 Responsible Testing: Cleans up test data automatically

🎯 What It Finds

🚨 Critical Issues

  • Public write access to databases or storage
  • Exposed security rules configuration
  • Admin endpoints accessible without auth

⚠️ Security Issues

  • Public read access to sensitive data
  • Directory listing enabled on storage
  • Unauthenticated API endpoints

Detection Coverage

graph TD
    A[Firebase App] --> B{Services Found}
    
    B --> C[🔥 Realtime Database]
    B --> D[📄 Firestore]  
    B --> E[📦 Storage]
    B --> F[⚡ Functions]
    B --> G[🌐 Hosting]
    
    C --> C1[Read Rules Exposure]
    C --> C2[Public Read Access]
    C --> C3[Public Write Access]
    
    D --> D1[Collection Access]
    D --> D2[Document Creation]
    D --> D3[Query Permissions]
    
    E --> E1[Object Listing]
    E --> E2[File Upload]
    E --> E3[Public Downloads]
    
    F --> F1[Endpoint Discovery]
    F --> F2[Unauthenticated Access]
    
    G --> G1[Web App Access]
    G --> G2[Config Exposure]

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request
  • ✅ Test only apps you own or have permission to test
  • ✅ Follow responsible disclosure for found vulnerabilities
  • ✅ Respect rate limits and terms of service
  • ❌ Do not test apps without authorization

📄 License

MIT License - see LICENSE file for details.


Built with ❤️ for the security community

App Store Search Process

Metadata

Release files for firehound-scanner 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firehound-scanner 2.0.0
File Size Uploaded Provenance
firehound_scanner-2.0.0.tar.gz 25.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for firehound-scanner 2.0.0
File Interpreter ABI Platform
firehound_scanner-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.9 kB

Release files / firehound_scanner-2.0.0.tar.gz

Download URL firehound_scanner-2.0.0.tar.gz
Size 25.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f9a1a564161c92146f1273852994cf1b65f7c1018e21de59e8531d06aa40e0f5
BLAKE2b-256 checksum
How to use checksums
0d2fd4d0510873f6288d8b045ee5624a89581190ee6b3dce9c314e6749ff212b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2025.

Transparency log

Release files / firehound_scanner-2.0.0-py3-none-any.whl

Download URL firehound_scanner-2.0.0-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44bf3b534775aff8f9aded98833e2490813944ccb0b9d13bf36f9c8be469acf3
BLAKE2b-256 checksum
How to use checksums
f9de88109480a68298367b72307e2f3809a8ad9a177af680fca7ada3ba6389e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2025.

Transparency log

Security for firehound-scanner 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for firehound_scanner-2.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page