Claude 24f816b6a3
Consolidate 22 sibling repos into layered organism structure
Place useful parts of the surrounding repos into sica-fondt by layer, per the
body model (Ada = membrane; brain/endocrine/capabilities/knowledge non-Ada):

- brain/        LLM reasoning + providers (dapr, hermes, MoMoA)
- capabilities/ REPRAG sidecars: hermes tools/skills, dapr tools, parallel
                dispatch, A51 channels, and the OSINT cluster
- knowledge/    LORAG corpus: 754 cyber-skills, agency personas, secure-coding,
                MITRE ATT&CK data
- reference/    defensive threat-reference (C3, shhbruh doc) + AdaYaml parser

License handling: AGPL sources (worldosint, advanced_evolution, mercury,
Reticulum) and GPL DeTTECT are SPEC-only clean-room/port descriptions — no
copyleft code copied. MIT/Apache/data parts copied as working trees.

Safety: shhbruh escape/persistence material and C3 covert-C2 kept as reference
only, not wired into the running organism. See CONSOLIDATION.md.

https://claude.ai/code/session_01UehUqEXXJJCsHoA4voCU5c
2026-06-10 06:53:01 +00:00

2.8 KiB

API Reference: Windows Event Log Artifact Extraction Agent

Dependencies

Library Version Purpose
evtx (python-evtx) >=0.8 Parse Windows EVTX binary log files into JSON records

CLI Usage

python scripts/agent.py \
  --evtx-dir /cases/case-001/evtx/ \
  --output-dir /cases/case-001/analysis/ \
  --output evtx_report.json

# Or specify individual files:
python scripts/agent.py \
  --evtx-files Security.evtx System.evtx \
  --output-dir /cases/analysis/

Functions

parse_evtx_file(evtx_path) -> list

Parses a single EVTX file using PyEvtxParser. Returns list of dicts with event_id, timestamp, channel, computer, event_data.

filter_critical_events(records) -> dict

Filters records to 15 critical Event IDs (4624, 4625, 4688, 4697, 1102, etc.) grouped by Event ID.

detect_lateral_movement(records) -> list

Identifies network logons (Type 3) and RDP (Type 10) from non-local IPs. Flags pass-the-hash indicators (Type 9 + NTLM).

detect_privilege_escalation(records) -> list

Detects special privilege assignment (4672), group membership changes (4728/4732/4756), and account creation (4720).

detect_suspicious_processes(records) -> list

Matches 4688 process creation events against a list of known attack tools (mimikatz, psexec, rubeus, etc.).

detect_log_clearing(records) -> list

Identifies audit log clearing events (Event ID 1102 and 104).

detect_persistence(records) -> list

Detects service installations (4697/7045) and scheduled task creation (4698).

generate_summary(records, findings) -> dict

Computes statistics: total records, top event IDs, alert counts per detection category.

export_timeline_csv(records, output_path)

Exports critical events as a sorted CSV timeline with timestamp, event_id, description, details.

analyze_evtx(evtx_paths, output_dir) -> dict

Orchestrates parsing of multiple EVTX files and runs all detection functions.

Critical Event IDs

Event ID Description
1102 Audit Log Cleared
4624 Successful Logon
4625 Failed Logon
4648 Explicit Credential Logon
4672 Special Privileges Assigned
4688 New Process Created
4697 Service Installed
4698 Scheduled Task Created
4720 User Account Created
7045 New Service Installed (System log)

Output Schema

{
  "files_analyzed": ["/cases/evtx/Security.evtx"],
  "summary": {
    "total_records": 245678,
    "lateral_movement_alerts": 12,
    "suspicious_processes": 3,
    "persistence": 5
  },
  "findings": {
    "lateral_movement": [{"user": "admin", "source_ip": "10.0.0.5", "logon_type": "Network"}],
    "suspicious_processes": [{"matched_pattern": "mimikatz", "process": "m.exe"}]
  }
}