Skip to main content

whitebox-secure-scan

PyPI Python Tests License

whitebox-secure-scan banner

whitebox-secure-scan is a local, offline white-box secure-code triage tool for penetration testers. It helps you filter a large codebase into explainable review leads, precise file and line evidence, grouped root causes, and reviewer guidance.

It is a triage aid—not a final penetration-test report and not an automatic vulnerability confirmer. Every candidate must be independently verified by an authorized security engineer.

The analysis stays local: source enters a bounded review pipeline, evidence is grouped for a human reviewer, and no source is sent to an external service.

Local code review and evidence grouping

Quick start

Run the latest published package without installing it globally:

uvx whitebox-secure-scan@latest version
uvx whitebox-secure-scan@latest review /path/to/repository \
  --output ./whitebox-results

Keep the output directory outside the target repository. The scanner reads target source locally, does not execute it, and does not modify it.

Installation

Run with uvx — recommended

uvx runs the published package in an isolated environment and does not require a permanent installation.

uvx whitebox-secure-scan@latest version
uvx whitebox-secure-scan@latest --help
uvx whitebox-secure-scan@latest review /path/to/repository \
  --output ./whitebox-results
uvx whitebox-secure-scan@1.0.1 version

Install with pip

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install whitebox-secure-scan
whitebox-secure-scan version
whitebox-secure-scan review /path/to/repository \
  --output ./whitebox-results

Upgrade an existing installation with:

python -m pip install --upgrade whitebox-secure-scan

The package supports Python 3.11 and newer. uvx and pip use the published PyPI package; no repository checkout is required for normal use.

Optional parsing dependencies

The core scanner works without optional parsers. Install the local parsing extras when you want the additional parser support:

python -m pip install "whitebox-secure-scan[parsing]"

What you get

The normal review command writes a concise, reviewer-first result set:

File Purpose
SUMMARY.md Fast overview of root causes, locations, and scope
report.md Detailed evidence and verification guidance
findings.json Normalized finding instances for automation
root-causes.json Related instances grouped for efficient review
review-points.json Lower-confidence items that need context

Advanced compatibility commands can also produce inventory, routes, metadata, SARIF, and a bounded internal-AI handoff package.

Local result files from supported tools can be imported without executing them:

whitebox-secure-scan review /path/to/repository \
  --import-result semgrep=/path/to/semgrep.json \
  --output ./whitebox-results

Supported import formats include Semgrep, Gitleaks, Bandit, gosec, and FindSecBugs. Imported results retain the external tool and rule IDs and are still review candidates.

whitebox-secure-scan workflow

What it does—and does not do

It does It does not
Scan Python, JavaScript/TypeScript, Java, and Go source locally Execute application code, tests, builds, migrations, or package scripts
Identify security review leads and review points Claim that a finding is exploitable or confirmed
Preserve file, line, source, sink, and proof-gap context Replace manual code review or a penetration tester
Group related evidence into root causes Upload source, findings, telemetry, or analytics
Work offline by default Call external AI services or download rules during a scan

Safety boundaries

The scanner is designed for controlled white-box review:

  • Offline operation is enabled by default.
  • Target repositories are treated as read-only.
  • Repository code and commands are never executed.
  • External scanners are disabled unless explicitly enabled and already installed locally.
  • Output paths are safety-checked and should be outside the target repository.
  • Symlinks that escape the target are not followed.
  • Secrets are redacted by default and snippets are bounded.
  • No source code or scan results are sent to a cloud service.

Only scan repositories you are authorized to review.

Supported languages

  • Python
  • JavaScript and TypeScript, including common Node.js and frontend patterns
  • Java, including common Spring-oriented patterns
  • Go

Framework evidence is reported only when it is observable in the repository. Static analysis is intentionally conservative: incomplete flows remain review leads or review points.

When the optional parsing extra is installed, the parser layer can use local Tree-sitter grammars for JavaScript, TypeScript, Java, and Go. Without it, the scanner uses a structured lexical fallback. The code graph is bounded to observable declarations, routes, and calls; it is not complete whole-program interprocedural taint analysis.

Typical workflow

Scan locally
    ↓
Read SUMMARY.md and grouped root causes
    ↓
Inspect the referenced file and line
    ↓
Verify the complete flow manually
    ↓
Write the approved security finding, if confirmed

Development installation

Use this section only when contributing to the project or running its synthetic test suite:

git clone https://github.com/Waariss/whitebox-secure-scan.git
cd whitebox-secure-scan
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
pytest -q
ruff check .
ruff format --check .
mypy src

Tests use synthetic fixtures. Do not point the test suite or examples at repositories you do not own or have permission to review. See CONTRIBUTING.md and the technical reference.

Documentation and support

License

Apache License 2.0. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whitebox_secure_scan-1.1.0.tar.gz (49.5 kB view details)

Uploaded Source

Built Distribution

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

whitebox_secure_scan-1.1.0-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file whitebox_secure_scan-1.1.0.tar.gz.

File metadata

  • Download URL: whitebox_secure_scan-1.1.0.tar.gz
  • Upload date:
  • Size: 49.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for whitebox_secure_scan-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5db324920268b229ea9ec1e602a6436feb006442bf5384263373f33b5d79ea46
MD5 ddc6a79ac39053307b74764387731029
BLAKE2b-256 f564086d75485d2bbd93b7463bf44045b356013f5d1d2d019e335e9be23cb59f

See more details on using hashes here.

Provenance

The following attestation bundles were made for whitebox_secure_scan-1.1.0.tar.gz:

Publisher: publish.yml on Waariss/whitebox-secure-scan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file whitebox_secure_scan-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for whitebox_secure_scan-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 edbfcb5c29ac5ebda7ef83be55abb27c467d606a32255fbd1a3b0c1bf3df673d
MD5 018a66e6579e175d734245475bcfa794
BLAKE2b-256 226960b310eab0b3c3cad29b0e0242946f061c69edd3c9e634bb40efd89a94d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for whitebox_secure_scan-1.1.0-py3-none-any.whl:

Publisher: publish.yml on Waariss/whitebox-secure-scan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page