You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Command-line interface for BreachLock AEV, designed for use in CI/CD pipelines. Start network and web application pentest engagements against your infrastructure directly from the terminal or your pipeline scripts.
Requirements
Python 3.11+
A BreachLock AEV subscription with API access enabled on your account
Installation
pip install breachlock-blctl
Configuration
blctl reads credentials and tenant settings from environment variables. Set these before running any commands:
Variable
Description
BLCTL_API_KEY
BreachLock API key (Bearer token)
BLCTL_API_URL
Base URL of your AEV tenant (e.g. https://tenant.app.breachlock.com)
BLCTL_ORGANIZATION_ID
Organization ID (CUID) — required for external engagements
All three can also be passed as explicit flags (--api-key, --api-url, --organization-id), but using environment variables keeps secrets out of shell history and CI logs.
Usage
blctl engage
Starts a pentest engagement against BreachLock AEV and prints the created engagement as JSON.
Run Azure AD reconnaissance. Only valid with --type=network --internal.
Web application credentials (web engagements only)
Provide these to enable authenticated scanning. --username and --password must be supplied together, or omitted together for an unauthenticated scan. --totp-secret requires both.
Flag
Env var
Description
--username
BLCTL_WEB_USERNAME
Username the agent uses to log in to the target application.
--password
BLCTL_WEB_PASSWORD
Password for the above username. Prefer the env var to keep it out of logs.
--totp-secret
BLCTL_WEB_TOTP_SECRET
Base32 TOTP shared secret for MFA. Prefer the env var.
Filtering
Flag
Description
--excluded-protocol <id>
Protocol ID or code to exclude. Repeatable.
--excluded-finding <id>
Finding ID or code to exclude. Repeatable.
--excluded-cve <CVE-ID>
CVE to exclude. Repeatable.
--included-cve <CVE-ID>
CVE to explicitly include. Repeatable.
Webhooks and assessments
Flag
Description
--notify-url <spec>
Webhook URL to call on engagement updates. Repeatable. Pass a bare URL (https://hook/) or a URL with pipe-separated headers (https://hook/|Authorization=Bearer abc|X-Trace=42).
--threat-actor-assessment-id <CUID>
Threat actor assessment to associate with the engagement. Repeatable.
Store BLCTL_API_KEY, BLCTL_API_URL, and BLCTL_ORGANIZATION_ID as masked CI/CD variables in your project or group settings. SCAN_TARGET can be a plain variable.
Output
On success, blctl engage prints the created engagement as JSON: