iOS/Android security scanner using Nuclei templates via Frida
Project description
Intrascan
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
- How It Works - Architecture and flow
- Writing Templates - Template format guide
- Configuration - CLI options reference
🎯 Use Cases
- Internal API Testing - Test APIs only accessible via mobile app VPN
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e1185ef38af6e1cefe6b52569989238d244ed8997f83df374964e9c96053783
|
|
| MD5 |
38ede334e3b9d8a0ce01386fd85c751b
|
|
| BLAKE2b-256 |
60185de9a6c860ddc4fff2b878f9e08264fa907cb6759993e8ddd3d31ea7d500
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79cd0f85bce714a8b2ebb97b4a6aa2f63731133706947cd605dce51e695177e7
|
|
| MD5 |
543cb84c172062422ef294140c0c0f56
|
|
| BLAKE2b-256 |
320cd15073175be1f07fe0350a1e1431c46952cdcb67af814d66f229621c4699
|