Skip to main content

Integrations

Scanner can forward scan results to external log management and SIEM systems when a scan completes.

Supported Integrations

TypeDescription
SplunkSends structured JSON events via HTTP Event Collector (HEC)
RsyslogForwards logs in RFC 3164 (BSD syslog) format via UDP, TCP, TLS, or HTTP

Setting Up an Integration

  1. Log in to Scanner
  2. Navigate to Configuration → Integrations
  3. Click New Integration
  4. Fill in the configuration fields (see below for each type)
  5. Click Create Output Server
  6. Click Test Integration to verify connectivity

To use an integration in a scan:

  1. Navigate to Scans → New Scan
  2. Select your integration from the Output Server dropdown
  3. When the scan completes, results are automatically forwarded

Splunk

Configuration

FieldDescription
NameDisplay name (e.g., "Production Splunk")
Server TypeSplunk
HostSplunk server hostname or IP
Port8088 (Splunk HEC default)
Protocolhttps (recommended)

Authentication

Use Token Authentication with your Splunk HEC token:

  1. In Splunk Web: Settings → Data Inputs → HTTP Event Collector
  2. Create or copy your HEC token (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
  3. Paste it in the Access Token field

Data Format

Scanner sends structured JSON events to Splunk:

{
"event": {
"report_id": "abc-123",
"scan_name": "Weekly GPT-4 Scan",
"target": "production-gpt4",
"status": "completed",
"asr": 12.5,
"probes_run": 45,
"timestamp": "2026-03-18T14:30:00Z"
}
}

Rsyslog

Wire Format: RFC 3164

RFC 3164 (BSD Syslog)

Scanner sends syslog messages in RFC 3164 (BSD syslog) format — not RFC 5424.

Configure your syslog receiver accordingly. RFC 5424 receivers may parse these messages incorrectly.

Message Structure

<PRI>TIMESTAMP HOSTNAME TAG: CONTENT
FieldValue
PRI<134> (facility=local0 / 16, severity=info / 6)
Timestamp%b %d %H:%M:%S — e.g., Mar 18 14:30:00 (no year, no timezone, per RFC 3164)
HostnameDerived from BrandConfig.host_url, or scanner.local if not set
Tagscanner_app
ContentJSON payload (scan report data)

Example Raw Message

<134>Mar 18 14:30:00 scanner.local scanner_app: {"report_id":"abc-123","scan_name":"Weekly GPT-4 Scan","asr":12.5}

Rsyslog Receiver Configuration Example

For a TCP receiver on your rsyslog server (/etc/rsyslog.conf):

# Load TCP input module
module(load="imtcp")
input(type="imtcp" port="514")

# Route scanner messages to a dedicated file
if $programname == 'scanner_app' then /var/log/scanner.log

For UDP:

module(load="imudp")
input(type="imudp" port="514")

Scanner Configuration

FieldDescription
NameDisplay name (e.g., "Central Syslog")
Server TypeRsyslog
HostRsyslog server hostname or IP
Protocoludp, tcp, tls, or http/https

Port Defaults by Protocol

ProtocolDefault Port
UDP514
TCP514
TLS6514
HTTP80
HTTPS443

TLS Configuration

When using the tls protocol, provide certificate paths in Additional Settings (JSON):

{
"tls_cert_file": "/storage/certs/client.pem",
"tls_key_file": "/storage/certs/client.key",
"ca_file": "/storage/certs/ca.pem"
}

Mount your certificates into the Scanner container via Docker volumes.

HTTP/HTTPS Authentication

For HTTP/HTTPS transport, Scanner supports:

  • API Key — sent as X-API-Key header
  • Basic Auth — username and password (use HTTPS only)
  • No authentication — for internal/trusted networks

Testing Connectivity

Click Test Integration from the integration detail page to send a test message. For Rsyslog, the test message uses the same RFC 3164 format as production messages.

If the test succeeds, you'll see a confirmation. If it fails, check:

  • Host and port are correct and reachable from the Scanner container
  • Firewall rules allow the connection
  • Protocol matches your server's input module
  • For TLS: certificates are valid and accessible

Data Forwarded

Each integration event contains:

  • Report ID and UUID
  • Scan name and target
  • Execution timestamps
  • Overall ASR score and status
  • Per-probe vulnerability findings
  • Statistics (attempts, pass/fail ratios)