Skip to main content

Rusher Automatic Scan

Project description

Python License Platform Status Contributions Issues

R-AScan (Rusher Automatic Scanner)

Overview

R-AScan is a modular, multithreaded vulnerability scanner framework written in Python. It dynamically loads all .py scanner modules in the scanners/ directory and executes them against a target. Each module returns structured output and is saved to a JSON file for analysis.

image

Features

  • Modular architecture (drop-in .py modules)
  • Multithreaded execution using thread pool
  • Auto-update scanner modules from GitHub
  • JSON output format
  • CLI-based execution with multiple options
  • Includes scanners for:
    • Local File Inclusion (LFI)
    • Remote Code Execution (RCE)
    • Cross-Site Scripting (XSS)
    • Server-Side Request Forgery (SSRF)
    • SQL Injection (SQLi)
    • Open Redirect
    • Security Headers
    • Sensitive Files
    • Fingerprinting
    • Admin Panel Finder
    • Rate Limiting
    • SSTI
    • LDAP Injection
    • and others

Requirements

  • Python 3.8 or newer
  • requests library

Install dependencies:

pip install -r requirements.txt

Usage

python3 main.py -x <target> [options]
$$$$$$$\           $$$$$$\   $$$$$$\                               
$$  __$$\         $$  __$$\ $$  __$$\                              
$$ |  $$ |        $$ /  $$ |$$ /  \__| $$$$$$$\ $$$$$$\  $$$$$$$\  
$$$$$$$  |$$$$$$\ $$$$$$$$ |\$$$$$$\  $$  _____|\____$$\ $$  __$$\ 
$$  __$$< \______|$$  __$$ | \____$$\ $$ /      $$$$$$$ |$$ |  $$ |
$$ |  $$ |        $$ |  $$ |$$\   $$ |$$ |     $$  __$$ |$$ |  $$ |
$$ |  $$ |        $$ |  $$ |\$$$$$$  |\$$$$$$$\\$$$$$$$ |$$ |  $$ |
\__|  \__|        \__|  \__| \______/  \_______|\_______|\__|  \__|
===================================================================
[+] R-AScan (Rusher Automatic Scan) | HarshXor - incrustwerush.org
===================================================================

[-] [A target must be specified unless the --update option is used]

usage: r_ascan.py [-h] [-x TARGET] [-t THREADS] [-o OUTPUT] [-p PORT] [--path PATH] [--update] [--verbose] [--optimize]

options:
  -h, --help            show this help message and exit
  -x, --target TARGET   Target host (domain or IP)
  -t, --threads THREADS
                        Number of threads to use (default: 5)
  -o, --output OUTPUT   Custom output file path (optional)
  -p, --port PORT       Custom PORT HTTP/S (optional)
  --path PATH           Custom PATH URL HTTP/S (optional)
  --update              Only update scanner modules without scanning
  --verbose             Verbose detail log
  --optimize            Optimize result with machine learning

Examples

python3 main.py -x example.com
python3 main.py -x 192.168.1.1 -t 10 -o output.json
python3 main.py --update

Arguments

  • -x, --target — Target domain or IP address (required unless using --update)
  • -t, --threads — Number of threads (default: 5)
  • -o, --output — Path to save JSON result (optional)
  • -p, --port - Custom PORT HTTP/S (optional)
  • --path - Custom PATH URL HTTP/S (optional)
  • --update — Update scanner modules from GitHub and exit
  • --verbose — Print detailed output from each module
  • --optimize - Optimize result with machine learning

Output

The scan result will be saved as:

scan_output-<target>.json

If the -o option is specified, it will be saved to the given custom path.

Each scanner module contributes a dictionary entry in the JSON output, grouped under the result key.

Writing a Custom Module

  1. Create a new Python file in scanners/, for example my_scan.py
  2. Define a function scan(args) that returns a dictionary or list
  3. Access the target using args.target

Example

import requests

def scan(args):
    url = f"http://{args.target}/test"
    try:
        response = requests.get(url, timeout=10)
        return {
            "url": url,
            "status_code": response.status_code
        }
    except Exception as e:
        return {"error": str(e)}

The main framework will automatically discover and execute this module.

Updating Modules

To update scanner modules directly from the GitHub repository:

python3 main.py --update

All .py files in the scanners/ directory will be downloaded and replaced.

License

This project is licensed under the MIT License.

Developed by HarshXor — https://incrustwerush.org

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

r_ascan-0.0.9.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

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

r_ascan-0.0.9-py3-none-any.whl (54.6 kB view details)

Uploaded Python 3

File details

Details for the file r_ascan-0.0.9.tar.gz.

File metadata

  • Download URL: r_ascan-0.0.9.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for r_ascan-0.0.9.tar.gz
Algorithm Hash digest
SHA256 dd7fb03f4de0d67caea433cbf6e63a8804eda7928931159847ff2b7c7fad746f
MD5 0d656889fc47759ed297643a71911e5e
BLAKE2b-256 e70ba161a270be653f65ea42f87830d55eae9a2b5c2ec765648ce22c14e9dab0

See more details on using hashes here.

File details

Details for the file r_ascan-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: r_ascan-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 54.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for r_ascan-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ebfde9b78c1e8736c0853f47087e3a8573ec103d002a42167e78f346ccf2197d
MD5 78819a4ead62cba7af1259896948d0c5
BLAKE2b-256 ecf2824953a85329c9cc9c620ff34fecd05f05480e0dff9cc61eee315d8237a5

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