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

Installation

Repository clone:

git clone https://github.com/ICWR-TEAM/R-AScan
cd R-AScan
pip install -r requirements.txt
python3 R-AScan.py --help

Install with PIP:

python3 -m pip install R-AScan

Usage

python3 R-AScan.py -x <target> [options]

Or (Install with PIP)

R-AScan -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 R-AScan.py -x example.com
python3 R-AScan.py -x 192.168.1.1 -t 10 -o output.json
python3 R-AScan.py --update

Or (Install with PIP)

R-AScan -x example.com
R-AScan -x 192.168.1.1 -t 10 -o output.json
R-AScan --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 R-AScan.py --update

Or (Install with PIP)

python3 R-AScan.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.13.tar.gz (31.5 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.13-py3-none-any.whl (54.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: r_ascan-0.0.13.tar.gz
  • Upload date:
  • Size: 31.5 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.13.tar.gz
Algorithm Hash digest
SHA256 b52615ee323ed304b4b1a43bc0d32acc1b232054f8b21c02f8d10e50aef1b1e5
MD5 d6ac6e43245f04622f658b5b9e727703
BLAKE2b-256 382e819838bf11e0efc5cd598bf441b2d5f5b1b8e7faa9719c607749f7580ec0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: r_ascan-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 54.7 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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 624aaf120a909c8ee89fa487fbee012f6988e69a619af7c3cc8c400392548b30
MD5 712947f458d9d9e89205ea12244b8fd7
BLAKE2b-256 de1e85e6187efc2a1d1ccae6e867f145b9a7133c8689007d14fbdac726810785

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