Skip to main content

iOS/Android security scanner using Nuclei templates via Frida

Project description

Intrascan

Python 3.10+ License: MIT

Mobile app security scanner that runs Nuclei templates via Frida network injection.

Intrascan enables security scanning of iOS/Android applications by injecting HTTP requests directly from within the app's context, bypassing SSL pinning and VPN tunnels.

🌟 Key Features

  • 🔒 Bypass SSL Pinning - Requests originate from within the app's network stack
  • 🌐 VPN Passthrough - Access internal networks the app is connected to
  • 📋 Nuclei Compatible - Uses standard Nuclei YAML templates
  • 📊 Rich Output - Colored console output, JSON export, request/response logging
  • 🎯 Smart Filtering - Filter by severity, tags, or limit template count
  • Rate Limiting - Configurable request rate and timeouts

📦 Installation

# Prerequisites: Frida server running on target device

# Activate your frida environment
source /path/to/frida-env/bin/activate

# Install in development mode
pip install -e .

Requirements

  • Python 3.10+
  • Frida and frida-tools
  • iOS/Android device with frida-server running
  • USB connection to device

🚀 Quick Start

# Basic scan with single template
intrascan -t template.yaml -u https://target.com -a com.app.bundle

# Scan with Nuclei templates directory
intrascan -t ~/nuclei-templates/http/technologies/ \
    -u https://target.com -a com.app.bundle \
    -s info -s low --limit 50

# Full scan with output
intrascan -t ~/nuclei-templates/http/ \
    -u https://internal-api.company.com -a com.company.app \
    -o results.json --store-responses ./findings/ -v

📖 Documentation

🎯 Use Cases

  1. Internal API Testing - Test APIs only accessible via mobile app VPN
  2. SSL Pinned Apps - Scan apps with certificate pinning
  3. Mobile App Pentesting - Automated vulnerability discovery
  4. Bug Bounty - Test mobile app endpoints at scale

⚙️ CLI Options

Option Description
-t, --template Template file or directory (required)
-u, --url Target base URL (required)
-a, --app iOS/Android app bundle ID (required)
-s, --severity Filter by severity (info, low, medium, high, critical)
--tags Include templates with these tags
--exclude-tags Exclude templates with these tags
--limit Maximum templates to process
-o, --output Save results to JSON file
--store-responses Save matched request/response pairs
--rate-limit Requests per second (default: 10)
--timeout Request timeout in seconds (default: 30)
--skip-preflight Skip connectivity check
-v, --verbose Verbose output with detailed logging
--silent Suppress banner and progress

🧪 Running Tests

# Run all tests
pytest tests/ -v

# With coverage report
pytest tests/ --cov=nuclei_frida --cov-report=html

🙏 Credits & Acknowledgments

Intrascan is built on the shoulders of giants:

ProjectDiscovery

  • Nuclei - The powerful vulnerability scanner that inspired this tool's template format
  • nuclei-templates - Community-powered vulnerability templates

Frida

  • Dynamic instrumentation toolkit that makes this tool possible

Template Format

Intrascan uses the same YAML template format as Nuclei. You can use templates from the nuclei-templates repository directly.

📄 License

MIT License - See LICENSE for details.


Disclaimer: This tool is intended for authorized security testing only. Always obtain proper authorization before scanning any systems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intrascan-0.1.0.tar.gz (43.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

intrascan-0.1.0-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file intrascan-0.1.0.tar.gz.

File metadata

  • Download URL: intrascan-0.1.0.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for intrascan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a857fa86d8806da1a0321134ce3b9ce19e0b6f12dd3567610b1dc855eece7ab
MD5 5fe9717018c49a92f004b5e0d35c1664
BLAKE2b-256 71477ea26220d84d1a05304828dd6440255469f61589802baf270d27e11232f1

See more details on using hashes here.

File details

Details for the file intrascan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: intrascan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for intrascan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2f19ece9389d85ec22f598bb69bee4f370be4f44fc19b30ca3db8589d10b07c
MD5 32927fe8377cf7b918a338bdd8cee3a5
BLAKE2b-256 7a673d98c400493e3b4295798a00b4ee9360619bf00d44d397e24e4c3fd8ae6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page