Crucible

Management v2.152.1 Flask App :5100 — Unified pentest orchestration platform — manages all pr0t31n tools (network, web, API, wireless, OSINT, database, cloud, endpoint, file analysis, compliance, AI red-team) in a session-managed dashboard with live findings streaming. Replaces Vantage, Spectre, and Crucible v1.
5
Dependencies
5100
Port

Crucible Documentation

Comprehensive guides covering every page, tab, and option.

Overview & Benefits New Engagement Wizard Settings Tab Summary Tab Console & Controls Findings Tab Intelligence Tab Action Items & Auto-Queue Reports Import Logs & Errors Auditability Engagement Hours & Scheduling

How It Works

⚠️ Authorized Testing Only

Crucible orchestrates tools that perform active exploitation, scanning, and probing of live systems — web applications, APIs, network infrastructure, databases, wireless networks, cloud environments, and more. Unauthorized testing is illegal under the CFAA (US), CMA (UK), and equivalent legislation worldwide. You MUST obtain signed, written authorization (Rules of Engagement, Statement of Work, or equivalent) from the asset owner explicitly covering every target and scope before launching any tool through Crucible. pr0t31n does not condone or recommend unauthorized testing of any kind.

🛡️ Sensitive Data Handling

Crucible engagements collect and store security findings, vulnerability data, screenshots, application responses, API traffic, credentials (when testing authentication), network captures, and OSINT intelligence. Handle all collected evidence in compliance with your organization's data protection policies and applicable regulations (GDPR, CCPA, HIPAA, PCI DSS). Never test production systems without explicit authorization and a data handling agreement. Store engagement directories on encrypted, access-controlled storage and destroy evidence per your data retention policy.

Overview

Crucible is the unified management platform for penetration testing engagements. It wraps 16 specialized security tools in a structured workflow: create an engagement, configure scope and targets, launch tools, monitor progress in real time, review findings, generate reports, and export deliverables — all from a single browser interface.

Crucible runs as a Flask/Socket.IO application on port 5500 over HTTPS with session-based authentication (_auth.py). It supports 34 visual themes.

Managed Tools

ToolScopePurpose
Scattershot3 (SS3)ExternalNetwork recon — port scanning, service enumeration, vulnerability detection
OSiftOSINTOpen-source intelligence gathering — DNS, WHOIS, certificate transparency, subdomain enumeration
FractureWeb AppWeb application penetration testing — OWASP Top 10 2025, authentication, injection, XSS
SiphonAPIAPI penetration testing — OWASP API Top 10 2023, spec fuzzing, authentication bypass
AuthProbeReconAuthentication technology fingerprinting and detection
AugerDatabaseDatabase security assessment — misconfigurations, default credentials, privilege escalation
TrawlerPCAPNetwork traffic analysis from packet captures
AetherWireless802.11 WiFi security assessment — WPA/WPA2/WPA3, rogue AP detection
Aether-BWirelessBluetooth/BLE security assessment
Aether-ZWirelessZigbee/Z-Wave/LoRa RF security assessment
Aether-UWirelessUWB (Ultra-Wideband) security assessment
BastionFirewallFirewall rule audit and configuration analysis
ForgeCloudCloud infrastructure security assessment (AWS, Azure, GCP)
QuillMobileMobile application security testing (Android/iOS)
IsotopeFileStatic file and binary analysis
DredgeEndpointEndpoint security configuration assessment

Benefits of Managed Mode

While every tool in the table above can run standalone from the command line, running them through Crucible provides significant advantages:

CapabilityStandaloneCrucible Managed
Unified findings storeEach tool writes its own findings.json; you merge manuallyAll tools feed a single engagement findings store with dedup, cross-tool correlation, and unified risk overrides
Action item pipelineYou read one tool's output and manually configure the next toolTools emit action items (e.g., "test this URL with Fracture") that Crucible routes to the correct tool — including pre-populated credentials and scope
Auto-queueYou launch each tool manuallyWhen a tool finishes, Crucible examines pending action items and auto-launches the next recommended tool with correct settings
Parallelism controlYou manage concurrency yourselfCrucible enforces group-based parallelism rules: exclusive tools (one at a time), OSINT (can parallel with SS3 only), and unrestricted tools (run alongside anything)
Pause / resumeKill and restart from scratchGraceful pause (tool checkpoints itself) and resume with --resume flag. Testing hours restrict execution to approved windows.
SchedulingManual startSchedule engagement start for a future date/time with automatic launch
Credential propagationConfigure auth in each tool's config fileSet credentials once in the engagement wizard; Crucible writes credentialled settings files for each tool automatically
OOS (Out-of-Scope) segregationNo concept of scope boundariesAction items targeting out-of-scope assets get separate settings files with _oos scope suffix — never mixed with in-scope targets
40+ intelligence panelsParse each tool's output files yourselfAggregated intelligence across all tools: DNS maps, certificate trees, subdomain graphs, technology stacks, port/service matrices, screenshot galleries
50+ report typesWrite your own reportOne-click PDF/HTML reports: full engagement, per-scope, per-tool, cross-scope correlation, executive summary
Audit trailWhatever the tool logs to stdoutEvery action timestamped in scan.log and scan.log.json; findings snapshots with diff; risk override and rename audit trails
Real-time collaborationOne terminal, one testerMultiple browser tabs/devices see live console output, findings, and status simultaneously via Socket.IO
RAM/resource protectionTools run unconstrainedCrucible checks system RAM before launching (blocks at >85% usage) and enforces one-at-a-time rules for memory-intensive tools

New Engagement Wizard

The wizard creates a new penetration testing engagement with all the configuration tools need to operate.

Step 1 — Client & Engagement

FieldRequiredDescription
Client NameYesFull legal name of the client organization. Appears in reports, exports, and directory naming.
Client Short NameYesAlphanumeric abbreviation used in directory paths, filenames, and finding references (e.g., ACME). Determines the engagement directory: <clients_base>/<client_short>/<year>/crucible/<client_short>_<timestamp>/
YearYesEngagement year (defaults to current). Drives directory structure.
Engagement NameNoDescriptive name for the engagement (e.g., "Q4 External Pentest"). Shown in the project list and reports.
Start Date / End DateNoEngagement window. Informational for reports; does not enforce scheduling.

Step 2 — Scope Definition

Define what is in scope for the engagement. Each scope type enables specific tools.

Scope ToggleWhat It EnablesConfiguration Fields
ExternalScattershot3Target IPs/CIDRs, hostnames, port ranges, exclusion list
OSINTOSiftTarget domains, organization names, email domains
Web ApplicationFractureTarget URLs, authentication method (None/Basic/Bearer/Cookie/Form/Custom Header/NTLM/OAuth2/API Key/Client Cert), credentials, exclusion paths
APISiphonBase URLs, OpenAPI/Swagger spec file upload, authentication method (same options as web), credentials, rate limiting
InternalScattershot3 (internal mode)Internal network CIDRs, VPN/jump host configuration
WirelessAether, Aether-B, Aether-Z, Aether-UWireless interface selection, target SSIDs/BSSIDs, channel ranges
DatabaseAugerDatabase connection strings, types (MySQL/PostgreSQL/MSSQL/Oracle/MongoDB/Redis), credentials
CloudForgeCloud provider (AWS/Azure/GCP), access keys, account IDs, regions
FirewallBastionFirewall config file upload or API endpoint, rule export format
MobileQuillAPK/IPA file upload, device connection settings
EndpointDredgeTarget host, SSH/WinRM credentials, baseline policy
File AnalysisIsotopeFile upload or directory path for static analysis
PCAPTrawlerPCAP file upload or capture interface

Step 3 — Consultant & Reporting

FieldDescription
Consultant Name / Title / EmailTester information included in reports
Client POC Name / Email / PhoneClient point of contact for the engagement
Report VersionVersion string for deliverables (default "1.0")

Step 4 — Tool Registration

Based on the scopes enabled in Step 2, Crucible auto-registers the appropriate tools. You can also manually register additional tools. Each registered tool gets:

  • A settings file (<tool>_settings.yaml) pre-populated from the scope definition
  • An output directory under the engagement directory
  • Console, findings, and log tracking in the dashboard

Edit Engagement Wizard

Opens the same form as New Engagement, pre-populated with the current configuration. All fields are editable. Changes to scope definitions propagate to tool settings files. Adding a new scope auto-registers the corresponding tool. Removing a scope does not delete existing findings — it only prevents new launches.

Additional edit-only options:

  • Re-base paths — If the engagement directory was moved, Crucible detects the mismatch via crucible_meta.json and offers to rebase all internal paths
  • Archive & Rescan — Archives current tool output and re-launches with fresh settings (useful for re-assessment)

Project Dashboard

The main workspace after creating or selecting an engagement. All interaction happens through the tabbed interface.

Settings Tab

Per-tool configuration management. Each registered tool has its own settings panel.

Common Settings (All Tools)

SettingDescription
TargetsIP addresses, hostnames, URLs, or CIDRs depending on the tool. Pre-populated from scope definition. Editable per-tool.
ExclusionsTargets to skip. Critical for preventing scope breach — items in the exclusion list are never tested.
Output DirectoryWhere the tool writes results. Auto-set to <engagement_dir>/<tool>/.

Authentication Settings (Fracture, Siphon)

Web and API tools need to know how to authenticate to the target application. Supported methods:

Auth MethodRequired FieldsNotes
None—No authentication; testing as an unauthenticated user
Basic AuthUsername, PasswordHTTP Basic Authentication header
Bearer TokenTokenAuthorization: Bearer <token> header
CookieCookie stringRaw cookie header value
Form-BasedLogin URL, username field, password field, username, passwordAutomated form login before each test session
Custom HeaderHeader name, Header valueArbitrary header injection (e.g., X-API-Key)
NTLMDomain, Username, PasswordWindows NTLM authentication
OAuth2Token URL, Client ID, Client Secret, ScopeOAuth2 client credentials flow; token auto-refreshed
API KeyKey name, Key value, Location (header/query)API key in header or query parameter
Client CertificateCert file, Key fileMutual TLS authentication

Test Connection

The Test Connection button validates that the configured authentication works against the target before launching a full assessment. It performs a lightweight HTTP request with the configured auth method and reports success/failure with status code and response details.

AuthProbe Integration

The Run AuthProbe button launches AuthProbe against the target URL to detect the authentication technology in use (e.g., Okta, Azure AD, custom form, Basic Auth). Results populate the auth method dropdown automatically, reducing manual configuration. AuthProbe supports --rendered mode for JavaScript-heavy login pages.

Spec File Upload (Siphon)

Upload an OpenAPI/Swagger specification file (.json or .yaml) for API testing. Siphon uses the spec to discover all endpoints, methods, and parameter schemas — testing both documented endpoints and probing for undocumented (rogue) endpoints.

Wireless Settings (Aether Family)

SettingDescription
Wireless InterfaceSelect from detected wireless adapters on the host
Target SSIDsSpecific network names to assess (blank = scan all visible)
Target BSSIDsSpecific access point MAC addresses
Channel RangeWiFi channels to scan (default: all)
Capture DurationHow long to capture wireless traffic

Archive & Rescan

Archives the current tool's output directory (timestamped backup) and creates a fresh output directory. Use this for re-assessment without losing prior results. The archived data remains in the engagement directory under archive/.

Console Tab

Real-time process management and live output streaming for all registered tools.

Tool Launch Controls

ButtonDescription
▶ StartLaunch the tool as a managed subprocess. Crucible injects CRUCIBLE_MANAGED=1 into the environment, which switches the tool from standalone output to structured protocol tokens. Settings are passed via the tool's settings YAML.
⏸ PauseSends a graceful pause signal. The tool checkpoints its progress and exits cleanly. Crucible never kills the tool process during pause — it only terminates child subprocesses (nmap, nuclei, etc.) while the tool itself handles the checkpoint.
▶ ResumeRe-launches the tool with --resume flag. The tool reads its checkpoint file and continues from where it left off.
⏸ Pause AllPauses every running tool in the engagement
▶ Resume AllResumes all paused tools
🗑 KillTerminates the tool process and all its children. Use sparingly — checkpoint data from the current module may be lost.

Console Output

  • Live stdout/stderr streaming via Socket.IO
  • Color-coded: findings highlighted, errors in red, status updates in blue
  • Console history preserved in memory and on disk — new tabs receive full history
  • Per-tool console tabs — switch between tools to see their individual output
  • Combined feed view showing all tools' status in one panel

Pre-Flight Health Check

Before launching, the Health Check button verifies that the tool's script exists, is executable, and all required dependencies are available. Reports specific errors if anything is missing.

Instance Details

For each running tool, view: current scope (in-scope vs OOS), target list, settings file path, process ID, uptime, and checkpoint data (if paused).

Scheduling

FeatureDescription
Schedule EngagementSet a future date/time for automatic tool launch. Crucible starts the engagement at the scheduled time without manual intervention.
Testing HoursRestrict tool execution to specific hours (e.g., 09:00–17:00 Mon–Fri). Tools are paused outside the window and resumed when the window reopens. Configure: start time, end time, timezone, and which weekdays are active.

Testing hours are critical for engagements where the client has restricted testing to business hours or maintenance windows.

Subprocess Management

View every child process spawned by each tool (nmap, nuclei, gobuster, etc.) with PID, command line, CPU/memory usage, and runtime. Kill individual subprocesses without terminating the parent tool.

Intelligence Tab

Aggregated intelligence from all tools, organized into 40+ panels across 9 categories. Intelligence is read-only — it reflects what tools have discovered.

OSINT Intelligence (OSift)

PanelWhat It Shows
DNS RecordsAll discovered DNS records by type (A, AAAA, MX, NS, TXT, CNAME, SOA, SRV, PTR) with TTL and resolver source
SubdomainsAll discovered subdomains with IP resolution, source tool, and first-seen timestamp
WHOISDomain registration data: registrar, dates, nameservers, registrant info (when available)
CertificatesSSL/TLS certificates from Certificate Transparency logs: subject, issuer, validity dates, SANs
Email AddressesDiscovered email addresses with source (WHOIS, web scraping, breach databases)
Technology StackDetected web technologies, frameworks, CMS, CDN, WAF
Social MediaDiscovered social media profiles and organizational presence
IP GeolocationGeographic location data for discovered IP addresses
ASN InformationAutonomous System Numbers with organization, prefix, and peer data

Network Intelligence (Scattershot3)

PanelWhat It Shows
Discovered HostsAll live hosts with IP, hostname, OS detection, open port count
Port/Service MatrixGrid view: hosts × ports with service identification and version
ScreenshotsWeb application screenshots captured by gowitness with thumbnail gallery and full-size viewer
SSL/TLS AnalysisPer-host cipher suites, protocol versions, certificate chain, and vulnerability status (Heartbleed, POODLE, ROBOT, etc.)
Security HeadersHTTP security header analysis: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
Software InventoryDetected software with version numbers — web servers, frameworks, libraries, CMS platforms

Web Application Intelligence (Fracture)

PanelWhat It Shows
Discovered EndpointsAll discovered URLs with HTTP method, status code, content type, and discovery source
Authentication AnalysisAuthentication mechanism details: login flow, session management, token handling
Input VectorsForm fields, URL parameters, headers, and cookies identified as potential injection points

API Intelligence (Siphon)

PanelWhat It Shows
API Surface MapAll endpoints from spec + discovered rogue endpoints, with methods, parameters, auth requirements
Rogue EndpointsEndpoints found by probing that are NOT in the supplied OpenAPI spec — potential undocumented/shadow API surfaces
API AuthenticationHow the API handles auth: tokens, keys, OAuth flows, session management

Intelligence Export

Each intelligence panel supports XLSX export — download the data as a structured Excel spreadsheet for offline analysis or inclusion in reports.

Findings Tab

Central management of all security findings across every tool in the engagement.

Findings Table

All findings sorted by risk severity (Critical → High → Medium → Low → Info), then by tool, then alphabetically. Each row shows:

  • Risk badge (color-coded: Critical, High, Medium, Low, Info)
  • Title, IP:Port, service, tool source, CVE IDs, description preview

Filtering & Search

FilterDescription
Risk LevelFilter by severity: All, Critical, High, Medium, Low, Informational
ToolFilter by source tool (SS3, Fracture, Siphon, etc.)
ScopeFilter by scope: External, Internal, OSINT, Web, API, Wireless, etc.
SearchFree-text across title, description, IP, CVE, tool name
View ToggleSwitch between Active Findings and False Positives views

Finding Detail Panel

Click any finding to expand the full detail panel showing:

  • Title & Risk — with risk override history
  • Description — full vulnerability description
  • Impact — what an attacker can achieve
  • IP, Port, Service, Hostname — affected asset details
  • CVEs — linked CVE identifiers
  • OWASP / NIST Mapping — compliance framework references
  • Remediation — recommended fix
  • Command — exact command that produced the finding
  • Output — tool output (truncated to 4096 chars with full-view link)
  • Evidence File — link to the output file on disk
  • Exploit Details — ExploitDB, Metasploit module references
  • Notes — tester-added notes (free-text, persisted per finding)

Finding Actions

ActionDescription
Risk OverrideChange severity to any level. Creates an audit entry in finding_risk_changes.jsonl. The override persists across tool re-runs via the tool's risk override mechanism.
Add NoteAttach a tester note to the finding. Notes persist in the findings store and appear in reports.
Mark False PositiveMoves the finding to falsePositives.json/falsePositives.csv. Removed from active findings, visible in the FP view. Recoverable.
Recover FPMoves a false positive back to active findings
View EvidenceOpens the associated output file in a modal viewer

Findings Snapshots & Diffing

Crucible can take a snapshot of the current findings state. Later, you can diff against a previous snapshot to see what changed: new findings, removed findings, and risk overrides. Useful for re-assessment engagements.

Export Formats

FormatDescription
CSVAll active findings as a flat CSV with all fields
JSONFull findings array in universal schema format
XLSXExcel workbook with findings, sorted and color-coded by risk

Action Items Tab

Cross-tool recommendation pipeline. When a tool discovers something that another tool should investigate, it emits an action item.

How Action Items Work

  1. SS3 discovers a web server → emits action item: "Test https://target:443 with Fracture"
  2. SS3 discovers an API endpoint → emits action item: "Test https://api.target with Siphon"
  3. OSift discovers a subdomain → emits action item: "Scan sub.target.com with SS3"
  4. SS3 discovers a database port → emits action item: "Test target:3306 with Auger"

Action items include the target, recommended tool, and any context (e.g., discovered service type, version). You can accept (launch the recommended tool) or dismiss individual items.

Tool Generation Chains

Source ToolGenerates Items For
OSiftSS3, Fracture, Siphon
SS3Fracture, Siphon, Auger

Exclusion Filtering

Action items whose targets match the engagement exclusion list are automatically filtered out and will not appear as pending recommendations.

Auto-Queue

Auto-queue is Crucible's automated tool chaining system. When a tool finishes, Crucible examines all pending action items, groups them by recommended tool, and launches the next tool with pre-populated targets and credentials.

⚠️ Auto-Queue Scope Breach Warning

Auto-queue can launch tools against targets discovered during the engagement that may not have been in your original scope. For example, if SS3 discovers a web application on an IP address, auto-queue may launch Fracture against it — even if that specific URL was not listed in your Rules of Engagement. Before enabling auto-queue, ensure your authorization covers all targets that tools may discover, or use the confirmation tier (below) to review each launch manually. Accidental scope breach during a penetration test can have serious legal consequences. When in doubt, disable auto-queue and launch tools manually after verifying each target is authorized.

Auto-Queue Configuration

SettingDescription
Enable/DisableMaster toggle. When disabled, tools must be launched manually.
AUTO_QUEUE_TOOLSWhitelist of tools that auto-queue is allowed to launch. Limit this to reduce scope risk.
Approval Tier: AutoTool launches immediately without user confirmation. Use only when your authorization covers broad target discovery.
Approval Tier: ConfirmCrucible presents the proposed launch (tool, targets, settings) and waits for manual approval before starting. Recommended for most engagements.

Auto-Queue Behavior

  • Dequeue timing — Runs when a tool completes. Also retries every 30 seconds if a launch was blocked (e.g., by parallelism rules or RAM limits).
  • Parallelism enforcement — Auto-queue respects the same group rules as manual launches: exclusive tools cannot overlap, OSINT can only parallel with SS3.
  • RAM check — Blocks launch if system RAM usage exceeds 85%.
  • Credential propagation — When the engagement has authentication configured, auto-queue writes credentialled settings files for tools that need auth (Fracture, Siphon).
  • Dedup — Won't re-queue a tool/target combination that's already been launched or is currently running.
  • Pause awareness — When a project is paused, auto-queue stops dequeuing. Resumed projects restart the dequeue cycle.

Out-of-Scope (OOS) Handling

⚠️ Out-of-Scope Target Handling — Explicit Permission Required

When tools discover assets outside the defined engagement scope, Crucible segregates them as OOS (Out-of-Scope) action items. These receive separate settings files with an _oos scope suffix and are never mixed with in-scope targets. OOS targets must NEVER be tested without obtaining explicit, written permission from the asset owner. The fact that an OOS target was discovered during an authorized engagement does NOT authorize testing it. Contact the client, update the Rules of Engagement, and only then enable OOS testing for those specific targets. Crucible provides OOS segregation as a safety mechanism — it is NOT an authorization mechanism.

OOS FeatureDescription
OOS DetectionAction items whose targets fall outside the defined scope are automatically tagged as OOS
Separate Settings FilesOOS targets get their own settings file with _oos suffix (e.g., fracture_settings_oos.yaml), never combined with in-scope targets
Separate Queue KeysOOS items are queued independently from in-scope items — they never merge
Manual Launch Only (default)OOS items require manual launch by default. Auto-queue does not auto-launch OOS items unless explicitly configured to do so.
OOS VisibilityThe Console tab's Instance Details shows whether a running tool is in-scope or OOS mode

Logs Tab

Combined log viewer for the entire engagement.

Log Sources

  • Tool Logs — Parsed from __CRUCIBLE_LOG__ tokens with severity: INFO, WARNING, ERROR, FINDING, STATUS, DONE
  • Crucible Logs — Application-level events: tool launches, pauses, resumes, kills, settings changes, finding modifications
  • Combined View — Merged timeline of all sources

Log Features

FeatureDescription
Time-Range FilterFrom/To datetime pickers (datetime-local with second precision) to narrow the view. Missing bounds mean unbounded.
Error-Count PillsTab badge shows the count of error-level entries only (ERROR, EXCEPTION, TOOL_ERROR, FATAL, CRITICAL) — not total log count
Auto-RefreshNew entries arrive in real time via Socket.IO
Clear LogsClear the displayed log buffer (does not delete on-disk logs)

Errors Tab

Filtered view showing only error-level entries across all tools.

  • Time-range filter (From/To pickers) identical to Logs tab
  • Error-count pill reflects the same ERROR/EXCEPTION/TOOL_ERROR/FATAL/CRITICAL levels
  • Auto-categorized by source: tool errors vs Crucible errors vs communication errors

Reports Tab

One-click report generation across 50+ report types organized by scope category.

Report Scopes & Types

CategoryReport TypesScope Gate
Full EngagementExecutive Summary, Full Technical Report, Finding Matrix, Remediation Roadmap, Risk Register, Compliance MappingNone (always available)
Endpoint/InternalHost Assessment, Port/Service Matrix, Vulnerability by Host, Network Topology, Service Enumeration, Credential Findings, Configuration Auditendpoint or internal scope
ExternalExternal Attack Surface, Internet-Facing Services, SSL/TLS Assessment, DNS/Infrastructure, External Vulnerability Summaryexternal scope
OSINTDigital Footprint, Subdomain Enumeration, Certificate Transparency, Email/Credential Exposure, Technology Stackosint scope
InternalInternal Network Assessment, Lateral Movement Paths, Privilege Escalation, Service Misconfigurations, Internal Vulnerability Summaryinternal scope
WirelessWireless Assessment, Rogue AP Detection, Encryption Analysis, Wireless Vulnerability Summary, RF Spectrum Analysiswireless scope
Web ApplicationOWASP Top 10 Mapping, Web Vulnerability Assessment, Authentication/Authorization, Input Validation, Session Managementwebapp scope
APIOWASP API Top 10, API Surface Coverage, Rogue Endpoint Analysisapi scope
Tool-SpecificSS3 Report, Fracture Report, Siphon Report, Bastion Report, Gearbox Report, OSift ReportRespective tool registered
Cross-ScopeAttack Chain Analysis, Shared Vulnerability Patterns, Cross-Scope Risk Correlation2+ scopes active

Report Options

OptionDescription
FormatPDF (styled, print-ready) or HTML (interactive, collapsible sections)
Custom FilenameOverride the default filename pattern
Engagement CompletenessCrucible checks if all registered tools have completed before generating. A warning appears if the engagement is still in progress — you can proceed anyway.

Report Types Available

The /api/report-types/<project_id> endpoint returns only report types whose scope gate matches the engagement's active scopes. A wireless report won't appear unless the engagement has wireless scope enabled and an Aether-family tool registered.

Auditability

Crucible maintains comprehensive audit trails for every action in the engagement:

Audit FileWhat It Records
scan.logEvery event timestamped: tool launches, pauses, resumes, completions, errors, phase transitions
scan.log.jsonMachine-readable mirror of scan.log as a JSON array
errors.logERROR-level entries only, for quick triage
finding_risk_changes.jsonlEvery risk override: original level → new level, timestamp, reason
finding_name_changes.jsonlEvery title rename: original → new, timestamp
falsePositives.jsonAll findings marked as false positive, with timestamp and original finding data
findings_snapshots/Point-in-time snapshots for before/after comparison
meta.jsonTool identity, client, engagement metadata, schema version, Crucible version
Per-tool .log siblingsEvery third-party tool invocation logged with command, version, timing, exit code, stdout/stderr

Parallelism Groups

Crucible enforces concurrency rules to prevent resource exhaustion and tool conflicts:

GroupToolsRule
ExclusiveSS3, Fracture, Siphon, Forge, Aether, Aether-B, Aether-Z, Aether-UOnly one exclusive tool runs at a time. These are resource-intensive (heavy scanning, network I/O) and would interfere with each other.
OSINTOSiftCan run in parallel with SS3 only. Cannot overlap with other exclusive tools. OSift is mostly passive (DNS, WHOIS) and doesn't compete for the same network resources as SS3's port scanning.
AnyTrawler, Auger, AuthProbe, Quill, Isotope, Bastion, DredgeUnrestricted — can run alongside any other tool. These are either lightweight, offline, or target separate resources.

Integration Points

IntegrationEndpointDescription
Nexus HubGET /api/nexus-statusUnauthenticated health probe returning app name, version, hostname, and scan status
ArbiterGET /api/arbiter-projectsNormalized project list with engagement metadata for enrichment pipeline
Nessus ImportAuto-queueWhen auto-queue is enabled and a Nessus CSV/XML is detected in the output directory, findings are automatically imported

Security

Crucible implements defense-in-depth across authentication, transport, session management, and data handling.

Transport Security: All traffic is encrypted with TLS 1.2 or higher. In production deployments, Crucible sits behind an nginx reverse proxy with a properly signed certificate. For standalone or lab use, Crucible generates a self-signed certificate at startup. Unencrypted HTTP connections are redirected to HTTPS.

Authentication: Crucible uses the shared _auth.py module — the same session-based authentication system used across the Crucible platform. Users authenticate with a username and password, and sessions are managed via Flask's secure session cookies with the HttpOnly and Secure flags set.

CSRF Protection: All state-changing POST, PUT, and DELETE requests are protected against Cross-Site Request Forgery via token validation. The CSRF token is embedded in forms and validated server-side on every mutation.

Session Management: Sessions expire after 30 minutes of inactivity. A 5-minute warning is displayed before expiration, giving the operator time to extend the session. Session data is stored server-side; only the session identifier is transmitted to the client.

Audit Logging: All significant actions — tool launches, kills, finding modifications, project creation and deletion, export and report generation, and authentication events — are written to a persistent audit log with timestamps and the authenticated user identity.

Path Traversal Protection: All file upload endpoints validate filenames and paths to prevent directory traversal attacks. Uploaded files are sanitized and placed in designated directories only.

Credential Handling: When a managed tool requires sudo privileges (e.g., Scattershot3 for raw socket operations or Aether for wireless interface control), the sudo password is passed from the browser to the server via an encrypted SocketIO channel and relayed directly to the tool's stdin. The password is held only in memory for the duration of the relay and is never written to disk, logged, or persisted in any form.

Features

Action Items

Auto-Generation from Discoveries
When a tool discovers a new host, port, or service, the ActionEngine automatically generates follow-up action items. For example, a Scattershot3 port scan discovering a web server on port 443 generates a Fracture action item targeting that URL and a Siphon action item for API testing.
Action Item States
Each action item flows through a lifecycle: pending (awaiting operator decision), queued (approved and waiting for a parallelism slot), running (tool executing), and complete or failed (terminal states). Items can also be dismissed if the operator determines the follow-up is unnecessary.
Bulk Launch and Management
Select multiple pending action items and launch them all at once — they are routed through QueueManager for proper parallelism enforcement. Bulk dismiss, reset, and note operations are also supported.
IP Validation and Filtering
Action items undergo IP validation before acceptance: known DNS resolvers, network/broadcast addresses, loopback ranges, multicast addresses, leading-zero octets (date/version artifacts), and out-of-scope addresses are automatically rejected to prevent bogus tool launches.
Command Preview
Before approving an action item, the operator can preview the exact command that will be executed, including all arguments, target injection, and scope configuration.
Scope-Aware Registration
Action items are generated only for tools relevant to the project's active scopes. A project without the wireless scope will never see Aether action items, regardless of what the recon tools discover.
ASN Rejection
Targets derived from ASN lookups that resolve to IP ranges outside the engagement scope are automatically rejected, preventing action items from being generated for out-of-scope infrastructure.

Console & Logging

Real-Time Per-Tool Console
Each running tool has a dedicated console view in the browser, receiving stdout and stderr via SocketIO in real time. Console buffers are capped at 5,000 lines per tool to manage memory.
Log and Error Viewers
Centralized log viewer with datetime range filtering (from/to datetime-local inputs). Entries can be filtered by time range, and the viewer supports both the scan log and the error log.
Error-Only Pill Counters
Tab badges on the Log and Errors tabs display only the count of error-level entries (ERROR, EXCEPTION, TOOL_ERROR, FATAL, CRITICAL), not the total log count — providing at-a-glance severity awareness.

Export

CSV Export
Export all deduplicated findings as a flat CSV file with all schema fields, suitable for import into spreadsheet tools or third-party vulnerability management platforms.
Unmerged CSV Export
Export findings per-tool without cross-tool deduplication, preserving the original tool attribution and individual finding details — useful when per-tool granularity is needed for validation.
XLSX Export
Multi-sheet Excel workbook with per-scope and per-tool worksheets, risk breakdowns, and inclusion of original Nessus CSV data when a Nessus scan was part of the engagement.
PDF Report Generation
Full-fidelity PDF reports generated via Playwright driving a headless Chromium browser. The HTML report template is rendered with complete CSS styling, charts, and formatting, then printed to PDF. Supports all 44 report types.
HTML Preview
Before generating a PDF, preview the report in the browser as rendered HTML. The preview uses the same template and data as the PDF, allowing review and adjustment before final generation.
44 Report Types
Crucible offers 44 distinct report types across 8 categories: 4 universal (full, remediation, compliance matrix, executive), 5 external, 5 OSINT, 5 internal, 5 wireless, 5 web, 3 API, 7 endpoint, and 6 cross-scope tool-specific reports. Each report type is gated by the relevant scope — only available when that scope is active in the engagement.

Findings Management

Cross-Tool Deduplication
Findings from all tools across all scopes are deduplicated by normalized title combined with IP address and port number. When multiple tools report the same issue, the finding is merged and the source tools are tracked for attribution.
False Positive Marking
Individual findings can be marked as false positives with an optional reason. Marked findings are moved from the active findings.json to a separate falsePositives.json file and excluded from reports. False positives can be recovered at any time.
Risk Override
An operator can override the risk rating of any finding (e.g., downgrade a MEDIUM to LOW or upgrade an INFO to HIGH) with a mandatory reason that is recorded alongside the override for audit purposes.
Finding Acceptance
Findings can be marked as accepted, indicating they have been reviewed and confirmed as valid by the operator. Accepted findings are visually distinguished in the UI.
Notes and Evidence Upload
Each finding supports free-text notes and file attachments. Evidence files (screenshots, tool output, custom proof-of-concept files) are stored alongside the finding in the evidence directory.
Bulk Operations
Select multiple findings for bulk risk override, bulk false positive marking, bulk acceptance, or bulk deletion — essential for managing large engagements with hundreds of findings.
Snapshots and Diff
Take a point-in-time snapshot of all findings. Later snapshots can be diffed against earlier ones to see what changed: new findings, resolved findings, and risk level changes between assessment phases.
Host and CVE Correlation
Findings are correlated by host IP to show all vulnerabilities per asset, and by CVE identifier to show which hosts are affected by the same CVE across the engagement.

Import

Single and Bulk File Upload
Import individual tool output files via the upload dialog, or perform a bulk folder upload to import an entire directory of mixed tool outputs at once. Each file is auto-detected and routed to the appropriate parser.
25 External Format Parsers
Auto-detect and parse output from 25 external tools: nmap XML, Nessus CSV/XML, Nuclei JSON, testssl JSON, sslscan XML, ssh-audit JSON, wpscan JSON, ffuf JSON, gobuster TXT, feroxbuster TXT, nikto XML/CSV, smbmap TXT, enum4linux TXT, hydra TXT, Responder logs, sqlmap logs, searchsploit JSON, Amass JSON, Subfinder TXT, dnsx JSON, nslookup TXT, dig TXT, Burp XML, pcap/pcapng, webanalyze JSON, and Shodan JSON.
Concurrent Import Queue
Imports are processed through a bounded thread pool with a maximum of 3 concurrent import jobs. Additional imports are queued and processed as slots become available.
Job Management
Each import job has a unique identifier, console buffer, progress tracking, and completion status. The operator can monitor, cancel, or retry import jobs from the Import tab.

Intelligence Panel

Structure Map
Visualizes the Fracture site tree — the hierarchical structure of discovered web application pages, directories, and resources for each target URL.
API Map
Displays the Siphon API endpoint map showing all discovered API endpoints, HTTP methods, authentication requirements, and parameter schemas.
Access Matrix
Shows the authentication and authorization mapping across discovered services, indicating which credentials grant access to which endpoints.
Auth Status
Displays the current authentication state for each configured target: whether sessions are active, tokens are valid, and credentials are working.
Target Profile
Consolidated view of each target host showing IP, hostname, open ports, detected services, software versions, and all associated findings.
Software Inventory
Aggregated software and version detection across all scopes, cross-referenced with CVE databases to highlight outdated or vulnerable components.
Access Points (AuthProbe)
Displays AuthProbe detection results: discovered authentication mechanisms (login forms, SSO endpoints, API key schemes, certificate auth) across all targets.

Process Control

Launch, Kill, Pause, Resume
Full subprocess lifecycle management. Launch starts a tool with the correct environment and arguments. Kill terminates the process and its children. Pause writes a sentinel file that the tool checks periodically, causing it to checkpoint and exit with code 42. Resume re-launches the tool with the --resume flag to continue from the last checkpoint.
Sentinel-File Pause Mechanism
Rather than sending SIGSTOP (which freezes I/O and can corrupt output), Crucible writes a pause sentinel file. The managed tool periodically checks for this file, saves its checkpoint state, and exits cleanly with exit code 42. Crucible then monitors for this exit code and holds the tool for later resumption.
Checkpoint-Based Resume
Tools that support resumption write a checkpoint.json file before exiting. When Crucible resumes the tool, it passes the --resume flag and the tool reads its checkpoint to continue from where it left off, avoiding redundant work.
OOM Watchdog
A continuous monitor checks system RAM. At 85% utilization, new tool launches are blocked. Running tools are allowed to continue but no additional tools are started until memory drops below the threshold.
Startup Recovery
On startup, Crucible performs three recovery operations: orphan PID monitoring (detects tools that were running before a crash and monitors their completion), completed-tool hook recovery (processes findings from tools that finished while Crucible was down), and stale action item repair (resets stuck action items from running to pending).

Project Management

Multi-Scope Creation Wizard
Step-by-step project creation that configures engagement metadata (client, year, tester), selects active scopes (external, internal, OSINT, wireless, web, API, endpoint), defines per-scope targets (IPs, ranges, domains, URLs, SSIDs), sets exclusions, and configures per-tool settings — all before launching a single tool.
Edit Wizard
Modify any aspect of a running or completed engagement: add or remove scopes, update targets, change tool configurations, and adjust engagement metadata without recreating the project.
Project Deletion
Delete a project with or without its output files. Deletion with files removes the entire output directory tree; deletion without files preserves the data on disk while removing the project from Crucible's registry.
Project Clear
Reset a project's findings cache, action items, and tool states without deleting the underlying output files — useful for re-running an engagement against the same targets.
ZIP Download with Scope Filter
Download the entire engagement output as a ZIP archive, with optional scope filtering to include only the directories relevant to a specific assessment scope.
Engagement Metadata
Each project tracks client name, short code, engagement year, tester identity, scope definitions, exclusion lists, and per-tool configuration — all persisted to disk as structured JSON.

Queue Management

Three Parallelism Groups
Tools are assigned to one of three parallelism groups: exclusive (one at a time — includes Scattershot3, Fracture, Siphon, Forge, and Aether variants), osift-compatible (OSift can run alongside Scattershot3 but no other exclusive tool), and any (unlimited parallelism — includes Trawler, Auger, AuthProbe, Bastion, Quill, Isotope, Dredge, and external CLI tools).
RAM Gating
Before launching any queued tool, Crucible checks system RAM utilization via psutil. If usage exceeds 85%, new launches are blocked with a descriptive message showing current usage and available memory, preventing out-of-memory conditions during heavy engagements.
Disk-Persisted Queue
The execution queue is serialized to execute_queue.json on every state change. If Crucible crashes or restarts, the queue is restored from disk and pending jobs resume automatically.
Priority Ordering
Queued jobs are ordered by risk priority: CRITICAL items launch before HIGH, HIGH before MEDIUM, and so on. Within the same priority level, jobs launch in FIFO order.
Auto-Queue for 17 Tool Types
When a tool is requested but cannot launch immediately due to parallelism or RAM constraints, it is automatically added to the queue. Seventeen tool types support auto-queuing: Scattershot3, OSift, Fracture, Siphon, Auger, Trawler, AuthProbe, Nessus, Bastion, Forge, Quill, Isotope, Dredge, and the four Aether variants.

Scheduling

Scheduled Engagement Start
Configure a specific date and time for an engagement to begin. At the scheduled moment, Crucible automatically launches all enabled tools for the project, routing them through QueueManager for proper parallelism enforcement.
Engagement Hours
Define permitted testing windows with timezone-aware day-of-week restrictions (e.g., Monday through Friday, 0800 to 1700 EST). Crucible automatically pauses all running tools when the window closes and resumes them when it reopens.
Auto-Pause and Auto-Resume
The SchedulerService daemon checks every 60 seconds whether current time falls within the configured engagement hours. Tools running outside the window are paused via the sentinel-file mechanism; they resume automatically when the window reopens.

Tool Interop

Interactive Prompt Handling
When a managed tool emits a __CRUCIBLE_PROMPT__ token, the prompt text is relayed to the operator's browser via SocketIO. The operator's response is sent back and forwarded to the tool's stdin, enabling interactive exchanges without direct terminal access.
Sudo Password Relay
Tools requiring sudo privileges (Scattershot3, OSift, Aether variants) receive the sudo password via an encrypted SocketIO channel from the browser. The password is relayed to the tool's stdin and never touches disk.
Stdin Forwarding
Beyond prompts and sudo, arbitrary stdin can be forwarded to a running tool for ad-hoc interaction when needed.

UI & Theming

10 Color Palettes
Choose from 10 curated color palettes across four categories. Professional: Tuxedo (monochrome), Blueprint (blue-slate), Forge (warm steel). Casual: Bloom (soft pastels), Ember (warm amber). Nerdy: Coruscant (gold-imperial), Neuromancer (neon cyan), Synthwave (retro purple-pink). Natural: Espresso (coffee browns), Sage (muted greens).
Light and Dark Mode
Every palette supports both light and dark modes. The mode preference is persisted per user and applied consistently across all views, charts, and reports.
Mobile-Responsive Layout
The entire interface is responsive and functional on tablet and mobile screen sizes, allowing operators to monitor engagements from any device.

Web Terminal

Browser-Based PTY Shell
A full pseudo-terminal (PTY) shell accessible from the browser via xterm.js. Auto-detects the available shell (zsh, bash, or sh) and supports dynamic resize as the browser window changes. Provides direct command-line access to the host system without leaving the Crucible interface.

Wireless Management

Interface Discovery
Automatically detects available wireless network interfaces on both Linux (via iw/iwconfig) and macOS (via airport/system_profiler), showing interface name, chipset, supported modes, and current state.
Monitor Mode Control
Enable or disable monitor mode on wireless interfaces directly from the Crucible UI, handling the airmon-ng or equivalent commands transparently.
Radio Cleanup
Kills straggler processes that hold wireless interfaces hostage: airodump-ng, airbase-ng, airmon-ng, hostapd, dnsmasq, bettercap, hashcat, hcxdumptool, mdk4, responder, wash, reaver, and aireplay-ng. Essential for recovering interfaces after interrupted wireless testing.
Aether Phase Tracking
Tracks progress through Aether's wireless testing phases: Phase 0 (WEP/Intelligence), Phase 1a (PMKID), Phase 1b (WPA Handshake + WPS), Phase 1c (Deauth + Handshake), Phase 2 (WPA-Enterprise), Phase 3 (WPA3 SAE), Phase 4 (WPA3 Exhaustion), Phase 5 (KRACK), Phase 6 (Rogue AP / Evil Twin), Phase 6b (KARMA/MANA), Phase 7 (Client-Side), Phase 8 (EAP Downgrade), Phase 9 (SAE Transition Downgrade), Phase 10 (Post-Connection), and Phase 11 (Legacy/Niche).

Use Cases

Multi-Scope Penetration Test

A full-spectrum engagement covering external, internal, OSINT, wireless, web, API, and endpoint scopes. Crucible manages the entire lifecycle: OSINT and external recon tools run first (OSift, Scattershot3), their discoveries auto-generate action items for targeted tools (Fracture, Siphon, Auger), and findings are aggregated and deduplicated across all scopes into a unified compliance matrix report.

Wireless Security Assessment

A dedicated wireless engagement using the Aether family of tools. Crucible discovers available wireless interfaces, enables monitor mode, and tracks progress through up to 15 testing phases — from WEP and WPA handshake capture through KRACK testing, rogue AP deployment, and post-connection attacks. Findings are mapped to wireless-specific report types.

Web Application Test

A web-focused engagement where Fracture orchestrates OWASP Top 10 testing against one or more target URLs. AuthProbe first identifies authentication mechanisms, then Fracture runs automated and semi-automated testing phases. Crucible aggregates findings into web-specific reports including OWASP Top 10 mapping, content discovery, and technology analysis.

API Security Test

An API-focused engagement where Siphon performs OWASP API Top 10:2023 testing against REST or GraphQL endpoints. Crucible manages API specification import, authentication configuration, and endpoint enumeration. Findings are presented in API-specific reports with endpoint-level detail and OWASP API category mapping.

Automated Recon Pipeline

A reconnaissance-focused engagement where Scattershot3 and OSift run in parallel to map the external attack surface. As they discover hosts, ports, services, and domains, Crucible's ActionEngine auto-generates follow-up items. The operator reviews and bulk-approves items, and Crucible queues the targeted tools with proper parallelism enforcement — creating an automated discovery-to-exploitation pipeline.

Report Generation for Completed Engagements

After tool execution is complete, Crucible generates professional PDF reports from 44 templates. The operator selects the appropriate report type for the audience — an executive summary for leadership, a full technical report for the remediation team, a PCI DSS report for compliance, or a compliance matrix spanning NIST, ISO, SOC 2, and HIPAA. Reports are previewed in HTML before PDF generation.

CLI Reference

Command Examples

Starting Crucible

cd /opt/crucible/tools/Crucible && python3 app.py

Launches the Crucible web application on port 5500. The server initializes all seven core services, loads the persisted execution queue and project registry, and begins accepting browser connections over HTTPS.

Accessing the Interface

https://<host>:5500

Crucible is primarily a web application accessed via browser. After starting the server, navigate to the HTTPS URL on port 5500 to reach the login screen. All tool management, finding review, export, and reporting operations are performed through the browser interface.

Installing Crucible

cd /opt/crucible/tools/Crucible && python3 install.py

Runs the multi-platform installer which checks Python version, installs system dependencies, Python packages, downloads static assets (socket.io.min.js, xterm.js), and initializes the authentication database.

Third-Party Tool Invocations

Commands and flags used when this tool invokes third-party dependencies during operation.

Scattershot3
Network reconnaissance and service enumeration. Launched with CRUCIBLE_MANAGED=1. Performs host discovery, port scanning, service fingerprinting, SSL/TLS analysis, and software version detection across external and internal network scopes.
python3 /opt/crucible/tools/Scattershot3/scattershot3.py --client <client> --targets <file> --scope int
OSift
OSINT gathering and domain intelligence. Launched with CRUCIBLE_MANAGED=1. Performs passive reconnaissance including subdomain enumeration, DNS record analysis, email harvesting, ASN mapping, and digital footprint assessment.
python3 /opt/crucible/tools/OSift/osift.py --client <client> --domains <file>
Fracture
Web application vulnerability testing. Launched with CRUCIBLE_MANAGED=1. Orchestrates OWASP Top 10 testing using multiple sub-tools (Nuclei, Nikto, sslscan, gobuster, whatweb, shcheck, sqlmap) against target web applications.
python3 /opt/crucible/tools/Fracture/fracture.py --client <client> --targets <file>
Siphon
API security testing and endpoint analysis. Launched with CRUCIBLE_MANAGED=1. Tests REST and GraphQL APIs against the OWASP API Top 10:2023 categories with automated endpoint enumeration and authentication testing.
python3 /opt/crucible/tools/Siphon/siphon.py --client <client> --base-url <url>
Auger
Database security auditing. Launched with CRUCIBLE_MANAGED=1. Tests database services (MySQL, PostgreSQL, MSSQL, Oracle, MongoDB, Redis) for authentication weaknesses, misconfigurations, and privilege escalation paths.
python3 /opt/crucible/tools/Auger/auger.py --client <client> --targets <file>
AuthProbe
Authentication mechanism detection. Probes target URLs and services to identify login forms, SSO endpoints, API key schemes, certificate authentication, and other access control mechanisms. Results feed the Intelligence panel.
python3 /opt/crucible/tools/AuthProbe/authprobe.py --url <target>
Trawler
Network traffic capture and analysis. Launched with CRUCIBLE_MANAGED=1. Analyzes pcap files for protocol distribution, cleartext credentials, top talkers, anomalous patterns, and malicious traffic indicators.
python3 /opt/crucible/tools/Trawler/trawler.py --pcap <file> --output-dir <dir>
Aether (Wi-Fi)
Wi-Fi security analysis. Launched with CRUCIBLE_MANAGED=1. Performs wireless testing across 15 phases from WEP cracking through WPA3 SAE testing, rogue AP deployment, KRACK testing, and post-connection attacks.
python3 /opt/crucible/tools/Aether/aether.py --client <client> --interface <wlan>
Aether-B (Bluetooth)
Bluetooth security analysis. Launched with CRUCIBLE_MANAGED=1. Performs BLE device enumeration, GATT service discovery, pairing analysis, and Bluetooth-specific vulnerability testing.
python3 /opt/crucible/tools/Aether-B/aether_b.py --client <client> --interface <hci>
Aether-Z (Zigbee)
Zigbee protocol analysis. Launched with CRUCIBLE_MANAGED=1. Performs Zigbee network mapping, key extraction, replay attacks, and protocol-specific vulnerability testing.
python3 /opt/crucible/tools/Aether-Z/aether_z.py --client <client> --interface <dev>
Aether-U (UWB)
Ultra-Wideband security analysis. Launched with CRUCIBLE_MANAGED=1. Performs UWB ranging analysis, distance-manipulation testing, and protocol-specific vulnerability assessment.
python3 /opt/crucible/tools/Aether-U/aether_u.py --client <client> --interface <dev>
Bastion
Firewall configuration audit. Launched with CRUCIBLE_MANAGED=1. Analyzes firewall rulesets for overly permissive rules, shadowed rules, compliance gaps, and configuration weaknesses.
python3 /opt/crucible/tools/Bastion/bastion.py --config <file>
Forge
Cloud infrastructure security audit. Launched with CRUCIBLE_MANAGED=1. Assesses IAM configurations, storage exposure, network security groups, and cloud-specific misconfigurations across major cloud providers.
python3 /opt/crucible/tools/Forge/forge.py --client <client> --provider <aws|azure|gcp>
Quill
Mobile application security analysis. Launched with CRUCIBLE_MANAGED=1. Performs binary analysis, API endpoint extraction, certificate pinning evaluation, data storage assessment, and runtime analysis of mobile applications.
python3 /opt/crucible/tools/Quill/quill.py --client <client> --apk <file>
Isotope
Detailed file analysis. Launched with CRUCIBLE_MANAGED=1. Examines files for metadata exposure, embedded content, malware indicators, suspicious links, and data leakage.
python3 /opt/crucible/tools/Isotope/isotope.py --client <client> --file <path>
Dredge
Windows endpoint security audit. Launched with CRUCIBLE_MANAGED=1. Performs NIST 800-123, DISA STIG, and CIS benchmark compliance checks along with disk, software, hardware, and malicious activity analysis on Windows endpoints.
python3 /opt/crucible/tools/Dredge/dredge.py --client <client> --target <host>
Playwright / Chromium
PDF report generation engine. Not a security tool — Crucible uses Playwright to drive a headless Chromium browser that renders HTML report templates to high-fidelity PDF documents with full CSS styling, charts, and professional formatting.
python3 -m playwright install chromium

Finding Nomenclature

Every finding in Crucible carries a catalogue ID that identifies the tool of origin and the specific finding type. Catalogue IDs follow the pattern <PREFIX>-NNN where the prefix is a two-letter tool code and NNN is a sequential number within that tool's catalogue.

Catalogue ID Prefixes

PrefixToolDomain
SS-NNNScattershot3Network recon, service enumeration, SSL/TLS, SMB
FR-NNNFractureWeb application vulnerabilities, OWASP Top 10
SI-NNNSiphonAPI security, OWASP API Top 10
AU-NNNAugerDatabase security, authentication, privilege escalation
AE-NNNAether familyWireless (Wi-Fi, Bluetooth, Zigbee, UWB)
OS-NNNOSiftOSINT, DNS, email, digital footprint
AP-NNNAuthProbeAuthentication mechanism detection
BA-NNNBastionFirewall configuration audit
GB-NNNGearboxNetwork device security, OT/ICS
PI-NNNpAInPayload injection testing
PT-NNNTrawlerNetwork traffic analysis
IS-NNNIsotopeFile analysis, metadata, malware indicators
FG-NNNForgeCloud infrastructure security
QU-NNNQuillMobile application security
DG-NNNDredgeWindows endpoint security, compliance

Risk Levels

All findings use uppercase risk classifications: CRITICAL (exploitable with immediate business impact), HIGH (exploitable or high likelihood of exploitation), MEDIUM (exploitable under specific conditions or moderate impact), LOW (minor impact or difficult to exploit), and INFO (informational — no direct security impact but relevant for security posture awareness).

Cross-Tool Deduplication

When multiple tools report the same vulnerability, Crucible resolves duplicates by matching on three fields: normalized title (case-insensitive, whitespace-trimmed), IP address, and port number. The merged finding retains the highest risk level from any contributing tool and records all source tools in the source_tools field. This ensures that an SSL/TLS weakness discovered by both Scattershot3 (network recon) and Fracture (web testing) appears as a single finding in reports while preserving attribution to both tools.

Action Items

Crucible's ActionEngine automatically generates follow-up tasks when tools discover new targets, services, or entry points. This creates an intelligent pipeline where reconnaissance findings flow into targeted testing without manual intervention.

Generation Rules

Action items are generated based on a tool-to-tool mapping that defines which tools should be recommended when a discovery is made:

  • Fracture is recommended when OSift or Scattershot3 discovers a web service (HTTP/HTTPS ports, detected web servers)
  • Siphon is recommended when OSift or Scattershot3 discovers an API endpoint or service
  • Auger is recommended when Scattershot3 discovers a database service (MySQL, PostgreSQL, MSSQL, Oracle, MongoDB, Redis)
  • Scattershot3 is recommended when OSift discovers new IP addresses or domain resolutions that expand the target scope

When a tool emits a __CRUCIBLE_ACTION_ITEM__: token, the payload contains the recommended tool, target, and justification. The ActionEngine validates the target, checks scope, and creates the item.

IP Validation

Before accepting any action item, the target IP is validated against multiple filters: known DNS resolvers (1.1.1.1, 8.8.8.8, 9.9.9.9, etc.) are rejected, network and broadcast addresses (x.x.x.0) are rejected, loopback and multicast ranges are rejected, leading-zero octets (which indicate date or version artifacts, not IP addresses) are rejected, and addresses outside the engagement scope are rejected. This prevents tools from generating bogus action items based on misinterpreted data.

Lifecycle States

Each action item progresses through a defined lifecycle:

  1. Pending — the item has been generated and is awaiting operator review. The operator can see the target, recommended tool, justification, and a preview of the command that will be executed.
  2. Queued — the operator approved the item, and it has been submitted to QueueManager. It will launch when parallelism constraints allow.
  3. Running — the tool is executing against the specified target.
  4. Complete — the tool finished successfully. Its findings have been injected into the FindingsEngine.
  5. Failed — the tool encountered an error during execution.
  6. Dismissed — the operator determined the follow-up is unnecessary and dismissed the item.

Scope-Aware Registration

Action items are only generated for tools relevant to the engagement's active scopes. If the wireless scope is not active, no Aether action items will be created regardless of what other tools discover. If the API scope is not active, no Siphon items will be generated. This prevents irrelevant action items from cluttering the queue.

Report Types

ReportScopeDescription
Full Pentest Report Universal Complete engagement report with all scopes, findings, and methodology.
Remediation Prioritization Report Universal Cross-scope remediation roadmap ranked by risk severity, exploitation likelihood, and remediation effort.
Compliance Matrix Report Universal All findings mapped across compliance frameworks (NIST CSF, PCI DSS, ISO 27001, SOC 2, HIPAA) with gap analysis.
Unified Executive Summary Universal Single-page executive overview spanning all scopes with risk heat map and strategic recommendations.
External Vulnerability Assessment external All external findings with risk ratings, exploit availability, and remediation guidance.
Attack Surface Report external Exposed services, technologies, open ports, and entry points from external reconnaissance.
PCI DSS External Scan Report external External vulnerability assessment mapped to PCI DSS v4.0 requirements with ASV-style formatting.
Perimeter Firewall Assessment external Firewall rule analysis, exposed services, and network filtering gaps from external perspective.
Executive Summary — External external Non-technical overview of external attack surface and risk posture for leadership.
OSINT Intelligence Report osint Complete passive reconnaissance findings including subdomains, DNS, infrastructure, and employee data.
Digital Footprint Report osint Organization's public-facing digital presence: domains, IP ranges, ASN relationships, and hosting.
Email & Credential Exposure Report osint Harvested email addresses, breach database matches, and O365/Azure tenant enumeration results.
DNS Security Report osint DNS misconfiguration findings: SPF/DKIM/DMARC gaps, zone transfers, and subdomain takeover risks.
Executive Summary — OSINT osint Non-technical overview of public exposure and passive intelligence risk for leadership.
Internal Vulnerability Assessment internal All internal findings with risk ratings, lateral movement paths, and remediation guidance.
Network Segmentation Report internal Internal network segmentation analysis, VLAN boundaries, and lateral movement assessment.
Active Directory Security Report internal AD-specific findings: Kerberos weaknesses, LDAP binds, GPO misconfigurations, and privilege escalation.
SMB & File Share Report internal Share enumeration, permissions, null sessions, and SMBv1/signing vulnerabilities across the internal network.
Executive Summary — Internal internal Non-technical overview of internal network security posture and lateral movement risks for leadership.
Wireless Security Assessment wireless Complete wireless findings across all protocols: encryption, rogue APs, deauth, and credential capture.
Wi-Fi Configuration Report wireless SSID inventory, encryption analysis, WPA assessment, guest isolation, and AP firmware findings.
Rogue Access Point Report wireless Unauthorized access points, evil twin susceptibility, and wireless intrusion detection gaps.
Bluetooth / IoT Protocol Report wireless BLE device enumeration, Zigbee network mapping, UWB ranging analysis, and protocol-specific vulnerabilities.
Executive Summary — Wireless wireless Non-technical overview of wireless security posture and unauthorized device risks for leadership.
Web Application Vulnerability Report web All web findings with OWASP Top 10 mapping, proof-of-concept details, and remediation guidance.
OWASP Top 10 Assessment web Findings organized by OWASP Top 10:2021 categories with coverage analysis and gap assessment.
Web Technology Report web Detected technologies, CMS versions, JavaScript libraries, and EOL/CVE analysis across web applications.
Content Discovery Report web Hidden directories, backup files, admin panels, and sensitive path enumeration across web applications.
Executive Summary — Web web Non-technical overview of web application security posture and critical vulnerabilities for leadership.
API Security Assessment Report api All API findings with OWASP API Top 10:2023 mapping, evidence, and remediation guidance.
OWASP API Top 10 Assessment api Findings by OWASP API Security Top 10:2023 categories with coverage analysis per category.
Executive Summary — API api Non-technical overview of API security posture and authorization gaps for leadership.
NIST 800-123 Assessment endpoint Guide to General Server Security compliance assessment for endpoint hardening.
DISA STIG Assessment endpoint Defense Information Systems Agency Security Technical Implementation Guide compliance assessment.
CIS Benchmark Assessment endpoint Center for Internet Security hardening benchmark assessment against the target endpoint.
Disk & Storage Report endpoint Physical and logical disk configuration, RAID arrays, encryption status, and storage health assessment.
Software & Update Report endpoint Installed software inventory, end-of-life analysis, running services, and update compliance status.
Malicious Activity Report endpoint Suspicious processes, persistence mechanisms, credential exposure, and event log indicators of compromise.
Hardware Report endpoint System hardware inventory including processors, memory, BIOS/UEFI, network adapters, and peripherals.
Network Traffic Analysis Report Universal Protocol distribution, top talkers, malicious traffic indicators, cleartext credentials, and anomalous patterns.
Database Security Report Universal Database authentication, privilege escalation, configuration audit, and data access analysis.
Firewall Assessment Report Universal Firewall rule analysis, overly permissive rules, shadowed rules, and compliance gaps.
Cloud Infrastructure Report Universal IAM misconfigurations, storage exposure, network security groups, and cloud access patterns.
Mobile Application Report Universal Binary analysis, API extraction, certificate pinning, data storage, and runtime security analysis.
File Analysis Report Universal File metadata, malware indicators, embedded content, and suspicious link or IP analysis.

Invocation Methods

MethodUsage
CLI — Direct cd /opt/pr0t31n/Crucible && python3 app.py

Run directly with command-line arguments.

Web UI https://localhost:5100

Flask web interface — start the app then open in browser.

Integration

Depends On

Used By

Third-Party Dependencies & Credits

Tool / LibraryDeveloperTypeLink
Flask Pallets / Armin Ronacher python https://github.com/pallets/flask
Flask-SocketIO Miguel Grinberg python https://github.com/miguelgrinberg/Flask-SocketIO
Playwright Microsoft python https://github.com/microsoft/playwright-python
openpyxl Eric Gazoni / Charlie Clark python https://github.com/theorchard/openpyxl
Nessus (integration) Tenable system https://www.tenable.com/products/nessus

Metadata

NameCrucible
CategoryManagement
Version2.152.1
Install Path/opt/pr0t31n/Crucible
Main Fileapp.py
Port5100
GitHubhttps://github.com/pr0t31n/Crucible.git
RequiresShared