Quick Start Guide
This guide will walk you through launching Chronos-DFIR, uploading your first forensic artifact, and generating an interactive timeline with threat detections.Before starting, ensure you’ve completed the installation steps and have Python 3.12+ with all dependencies installed.
Launch the Application
Start the Server
Open a terminal in the Chronos-DFIR directory and launch the Uvicorn server:You should see output similar to:
The
--reload flag enables auto-restart when code changes are detected. Remove it in production.Access the Web Interface
Open your browser and navigate to:You’ll see the Chronos-DFIR dark-mode interface with the drag-and-drop upload area in the sidebar.
Upload Your First Artifact
Select an Artifact Type
Chronos-DFIR supports multiple forensic formats:For this example, we’ll use a Windows Security Event Log (
Windows Event Logs
.evtx files from System32/winevt/Logs/NTFS Master File Table
.mft raw exports or parsed CSVmacOS Property Lists
.plist files from LaunchAgents/DaemonsGeneric Reports
CSV, JSON, Excel, SQLite exports from tools like Plaso, KAPE, or Volatility
Security.evtx).Drag and Drop the File
Click Select File in the sidebar or drag your
.evtx file directly into the drop zone.The system will:- Stream the upload (handles 6GB+ files without memory issues)
- Calculate SHA256 hash for chain of custody
- Parse the format (using
evtxlibrary for binary parsing) - Normalize columns to standard schema (Time, EventID, Level, Provider, etc.)
- Apply Sigma rules to detect threats during parsing
- Run YARA scans on extracted text content
Large files (100K+ events) may take 30-60 seconds to process. Progress is shown in the upload modal.
Explore the Timeline
Navigate the Event Grid
The main grid displays events in reverse-chronological order (newest first):
| Column | Description | Source |
|---|---|---|
| No. | Display row number (cosmetic) | Auto-generated |
| Time | Event timestamp (ISO 8601 format) | EventTime / TimeCreated |
| EventID | Windows Event ID | System/EventID |
| Level | Severity (Information, Warning, Error, Critical) | System/Level |
| Provider | Event source (e.g., Microsoft-Windows-Security-Auditing) | System/Provider/@Name |
| Computer | Hostname | System/Computer |
| User | Account name | EventData/TargetUserName |
| Process | Executable name | EventData/ProcessName |
Chronos uses Tabulator.js virtual DOM rendering to handle millions of rows. Only visible rows are rendered in the browser.
View the Histogram
Below the grid, the interactive Chart.js histogram shows event distribution over time:
- X-axis: Time buckets (auto-scaled: seconds, minutes, hours, or days based on data span)
- Y-axis: Event count per bucket
- Color coding:
- 🔴 Red: Critical/High severity events or Sigma rule matches
- 🟡 Yellow: Above-average activity (anomaly detection)
- 🔵 Blue: Normal baseline activity
- Hover over bars to see exact counts and time ranges
- Click Log Scale to view sparse events alongside high-volume activity
- Export chart as PNG (screenshot) or Excel (raw data)
The histogram automatically recalculates when you apply filters to the grid.
Filter and Search
Use the toolbar to narrow down events:Global Search:Time Range Filter:Click the Start Time and End Time pickers to select a window, then click Filter to apply.Column Filters:Click any column header to filter by specific values:
- EventID = 4624 (Successful Logon)
- Level = Error
- Provider = Microsoft-Windows-Sysmon
Review Threat Detections
Click Context Report (brain icon) to open the Forensic Insight modal showing:Dashboard Cards:Click View all in Grid to filter the main timeline to only matching events.YARA Matches:Any triggered YARA signatures (ransomware, C2 frameworks, etc.):
- Total Events: Raw event count
- Risk Level: Low / Medium / High / Critical (based on Sigma hits and anomalies)
- EPS: Events per second (temporal density metric)
- Top Tactic: Most common MITRE ATT&CK tactic or Event ID
- Primary Identity: Most active user or IP address
Export Results
Choose Export Format
Click the Export dropdown in the toolbar:
CSV Format
UTF-8 encoded with BOM for Excel compatibility. Hex values wrapped in formulas to prevent conversion.
Excel Spreadsheet
XLSX with text formatting for all columns. Preserves hex, GUIDs, and hashes.
JSON Structure
Array of event objects. Compatible with SOAR platforms (Splunk, Cortex XSOAR).
Context (AI-Ready)
Forensic summary JSON optimized for LLM ingestion. Includes Sigma hits, YARA, IOCs, risk scoring.
All exports respect active filters (search, time range, column filters, row selection).
Generate HTML Report
Click Graphical Report to generate a standalone HTML file containing:
- Dashboard summary cards
- Embedded histogram (Chart.js with Base64-encoded data)
- All Sigma detections with evidence tables
- MITRE kill chain mapping
- Cross-source correlations
- Session profiles
- Risk justification log
- Emailed to stakeholders
- Printed to PDF via browser (Ctrl+P / Cmd+P)
- Opened offline for presentations
The HTML report uses print-friendly CSS with forced colors for readability on paper.
Export for AI Analysis
For large datasets that exceed LLM token limits:
- Select Zip (Split Artifacts) from the Export dropdown
- Choose split size: 50MB or 99MB chunks
- Select format: CSV or JSON
- Click Download
- Split filtered data into N files within the size limit
- Create a ZIP archive with sequential filenames
- Include a manifest.json with metadata
Common Workflows
Workflow 1: Ransomware Timeline Reconstruction
Workflow 2: Lateral Movement Detection
Workflow 3: Web Shell Hunting
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+F / Cmd+F | Focus global search box |
Ctrl+Shift+R / Cmd+Shift+R | Hard reset (clear cache and filters) |
Ctrl+E / Cmd+E | Open export menu |
Ctrl+P / Cmd+P | Print current view or report |
Esc | Close modal dialogs |
Troubleshooting
Issue: Upload fails with “Memory Error” Solution: The file may be too large. Try:Next Steps
Advanced Features
Learn about case management, multi-file correlation, and custom Sigma rules
API Reference
Integrate Chronos-DFIR into automated DFIR pipelines via REST API
Need Help? Check the troubleshooting guide or review the architecture documentation for deep-dive technical details.