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

📦 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

⚙️ 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)
-H, --header Custom header (header:value format, can use multiple times)
-s, --severity Filter by severity (comma-separated: critical,high,medium,low,info)
--tags Include templates with these tags (comma-separated)
--exclude-tags Exclude templates with these tags (comma-separated)
--limit Maximum templates to process
-o, --output Save results to JSON file
--store-responses Directory to save request/response pairs for findings
--rate-limit Requests per second (default: 10)
--timeout Request timeout in seconds (default: 30)
--log-file Save detailed log to file
--script Custom Frida network script path
--skip-preflight Skip connectivity preflight check
-v, --verbose Verbose console output
--no-color Disable colored output
--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.1.tar.gz (44.4 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.1-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: intrascan-0.1.1.tar.gz
  • Upload date:
  • Size: 44.4 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.1.tar.gz
Algorithm Hash digest
SHA256 3e1185ef38af6e1cefe6b52569989238d244ed8997f83df374964e9c96053783
MD5 38ede334e3b9d8a0ce01386fd85c751b
BLAKE2b-256 60185de9a6c860ddc4fff2b878f9e08264fa907cb6759993e8ddd3d31ea7d500

See more details on using hashes here.

File details

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

File metadata

  • Download URL: intrascan-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 79cd0f85bce714a8b2ebb97b4a6aa2f63731133706947cd605dce51e695177e7
MD5 543cb84c172062422ef294140c0c0f56
BLAKE2b-256 320cd15073175be1f07fe0350a1e1431c46952cdcb67af814d66f229621c4699

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