Skip to main content

Configuration

BlackRainbow engagements are defined in YAML. Every field is validated at load time.

Quick Reference​

target:
type: network-service
host: 192.168.1.100
label: target-env
scope:
networks:
- 192.168.1.0/24
exclude:
- 192.168.1.1

engagement:
purpose: |
Security assessment of target environment.
rules:
- No denial of service
- No data destruction
operator: your-name

plugins:
- recon
- id: credential-access
numTests: 10
severity: high
config:
wordlist: /usr/share/wordlists/rockyou.txt

strategies:
- sequential

model:
provider: ollama
model: blackrainbow
host: http://localhost:11434
temperature: 0.3

output:
report: ./reports/
capture: ./captures/
format: markdown

Config File​

Default filename: blackrainbow.yaml. Override with br run --config <path>.

Generate from a template:

br init --template network     # Network/infrastructure assessment
br init --template webapp # Web application assessment
br init --template ad # Active Directory assessment

Top-Level Keys​

KeyTypeRequiredDescription
targetObjectYesWhat you are testing
engagementObjectYesScope, rules, operator
pluginsListNoAttack modules to run
strategiesListNoExecution strategies
modelObjectNoAI model configuration
outputObjectNoReport and capture settings

target​

Defines the assessment target.

target:
type: network-service
host: 192.168.1.100
label: target-env
port: 443
protocol: tcp
url: https://192.168.1.100
scope:
networks:
- 192.168.1.0/24
exclude:
- 192.168.1.1
FieldTypeDefaultDescription
typestringnetwork-serviceTarget type
hoststringrequiredTarget hostname or IP
labelstring--Human-readable name for reports
portinteger--Specific port to target
protocolstring--Protocol (tcp, udp)
urlstring--Full URL (for web targets)
scopeobject--Network scope constraints

Target Types​

TypeUse Case
network-serviceNetwork hosts, infrastructure
web-applicationWeb applications, APIs
active-directoryAD domains
cloud-serviceCloud environments
ai-systemAI/ML endpoints
customUser-defined

scope​

scope:
networks:
- 10.0.0.0/8
- 172.16.0.0/12
exclude:
- 10.0.0.1
FieldTypeDefaultDescription
networkslist of strings[]In-scope CIDRs
excludelist of strings[]Excluded hosts or CIDRs

engagement​

Engagement metadata: what you are doing and what the rules are.

engagement:
purpose: |
Full security assessment of target environment.
Demonstrate attack paths from initial access to objective.
rules:
- No denial of service
- No data destruction
- No attacking out-of-scope hosts
operator: your-name
FieldTypeDefaultDescription
purposestringrequiredWhat this engagement is trying to prove
ruleslist of strings[]Rules of engagement
operatorstringunknownYour operator name

plugins​

List of attack modules to run. Supports short form and long form.

Short form​

Just the plugin ID:

plugins:
- recon
- credential-access
- web-exploit

Long form​

Plugin ID with configuration overrides:

plugins:
- id: recon
numTests: 5
severity: medium

- id: credential-access
numTests: 10
severity: high
config:
wordlist: /usr/share/wordlists/rockyou.txt
timeout: 600

- id: web-exploit
config:
scan_type: aggressive
FieldTypeDefaultDescription
idstringrequiredPlugin ID from registry
numTestsinteger5Number of test sequences to generate
severitystringmediumMinimum severity (info, low, medium, high, critical)
configobject{}Plugin-specific configuration

File references​

Load a plugin from a local file:

plugins:
- file://./my-custom-plugin.py

strategies​

Execution strategies control how attack sequences are ordered and delivered.

strategies:
- sequential
StrategyBehavior
sequentialExecute in order, one at a time
parallelFan-out, multiple sequences concurrently
adaptiveDynamic reordering based on results

An empty list means sequences execute in generation order:

strategies: []

model​

AI model configuration for intelligent sequencing and analysis.

model:
provider: ollama
model: blackrainbow
host: http://localhost:11434
temperature: 0.3
FieldTypeDefaultDescription
providerstringollamaModel provider
modelstringblackrainbowModel name
hoststringhttp://localhost:11434Provider API endpoint
temperaturefloat0.3Inference temperature (lower = more focused)

The model enhances plugin behavior: suggesting targeted enumeration based on discovered services, analyzing tool output for attack paths, and generating context-aware sequences.


output​

Report and artifact settings.

output:
report: ./reports/
capture: ./captures/
format: markdown
FieldTypeDefaultDescription
reportstring./reports/Report output directory
capturestring./captures/Artifact capture directory
formatstringmarkdownReport format

Output formats​

FormatDescription
markdownMarkdown report with embedded code blocks
jsonStructured JSON for programmatic consumption
htmlStandalone HTML report
pdfPDF report for stakeholder delivery

CLI Overrides​

Override any config value from the command line:

# Override target
br run --target 10.0.0.50

# Override plugins
br run --plugins recon,credential-access

# Use a different config
br run --config engagements/webapp.yaml

# Combine
br run --target 10.0.0.50 --plugins recon --dry-run

CLI flags take precedence over config file values.


Templates​

Generate a starter config:

br init --template network
br init --template webapp
br init --template ad
br init --output engagements/custom.yaml

Templates include placeholder values. Replace everything marked CHANGEME before running.