Skip to content

On-Prem Scanners

Ostorlab supports on-premise scanning by deploying an Ostorlab scanner on user-controlled infrastructure. Depending on your license, you can run scans on mobile applications, Web/APIs, and private networks.

Following are the steps needed to run scans on-premise.

Go to report.ostorlab.co

1. Declare Scanner

Click the menu button in the top navigation bar to open the navigation drawer.

Open the navigation drawer

Click Scanning to expand the scanning section.

Expand the Scanning section

And choose Scanners.

Open the Scanners page

To declare a new scanner, click on Add and select Add Scanner.

Add a scanner

Fill in the Scanner name and description (and optionally assign it to an existing Scanner Group).

Fill in the scanner name and description

Save the scanner-identifier of your scanner (you can copy it directly using the copy icon in the table). Initially, the scanner will appear with an Offline status until the scanning daemon connects. This identifier will be used when launching the Ostorlab scanning daemon.

Copy the scanner identifier

Optional: Scanner Groups (Parallel Execution & High Availability)

On the same Scanners page, you can organize multiple scanner nodes into Scanner Groups by switching to the Scanner Groups tab or choosing Add Scanner Group.

Scanner Groups tab

Fill in the group name, description, and select the scanner nodes to include in the group.

Add a scanner group

Why use Scanner Groups?
A scan creates multiple universes (sub-tasks and agent environments). With a single scanner node, scan universes wait in line and execute sequentially one after the other by default (though a single node can process universes concurrently if configured with --parallel N). With a Scanner Group, scan universes are distributed and processed simultaneously across all scanner nodes in the group. For example, grouping 2 scanners doubles processing throughput across machines; with enough scanners (greater than or equal to the number of universes), all universes run simultaneously for horizontal scaling, high availability, and the fastest possible scan completion.

2. Install and Authenticate the Scanner

Install the ostorlab CLI tool on the target machine with the scanner extras (ostorlab[scanner]), which includes python-daemon and psutil required to run the scanning daemon. Note that the scanner daemon is supported on Linux and macOS (Unix systems; Windows is not currently supported as the daemon relies on Unix process mechanics). Please also note that Ostorlab exclusively supports Python 3.13+ (>=3.13); older Python versions (such as Python 3.11) are deprecated and no longer supported. For more details, follow the instructions on the Ostorlab GitHub repository.

pip install --upgrade "ostorlab[scanner]"

Install the Ostorlab CLI with the scanner extras

Next, create an Organization API Key for authentication. Navigate to Integrations/API → API Keys in the left sidebar, click New API Key, specify a name, set the Role to Admin, and generate your API key. For detailed steps, refer to the Organization API Key documentation.

Create an Organization API key

Run the scanner daemon on your machine using your Organization API key and the scanner identifier obtained earlier:

ostorlab --api-key=XXXX.XXXXXXX scanner --scanner-id=XXXX-XXXX-XXXXX

Tip

By default, the scanner executes one universe at a time (--parallel 1). You can increase concurrency on a single machine by passing --parallel N (e.g., --parallel 2).

Run the scanner daemon

Once connected, return to the Scanners page. The scanner status will update to Online (in green) with live system telemetry including IP address, CPU, and memory metrics:

Scanner online status

3. Run a Scan

Now, to run a scan, head back to the Ostorlab platform and click on the menu button.

Open the menu

Click Scanning.

Click Scanning

And choose New Scan.

Choose New Scan

Choose your asset type, e.g., Web App.

Choose the asset type

Fill in your targets (URLs or domains), and click Continue.

Fill in the targets

In the Scanner step, select either your individual scanner node or a Scanner Group to distribute the scan across multiple scanners, then click Continue.

Select the scanner or scanner group

Select the scan profile, e.g., Full Web Scan.

Select the scan profile

Configure additional settings or credentials if needed.

Configure additional settings or credentials

And click Submit.

The scan will be created and dispatched to your on-premise scanner (or distributed across the scanner nodes in your chosen Scanner Group).

This guide presented a comprehensive walk-through of on-premise scanning, spanning from the declaration of a scanner and scanner groups to running scans on designated infrastructure.