Назад към всички

openclaw-triage

// Incident response and forensics for agent workspaces. When something goes wrong — a skill behaves unexpectedly, files change without explanation, or another security tool flags an anomaly — triage investigates what happened, assesses the damage, and guides recovery.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameopenclaw-triage
user-invocabletrue
metadata[object Object]

OpenClaw Triage

Incident response and forensics for agent workspaces. When something goes wrong — a skill behaves unexpectedly, files change without explanation, or another security tool flags an anomaly — triage investigates what happened, assesses the damage, and guides recovery.

This is the "detective" that pulls together evidence from all OpenClaw security tools into a unified incident report.

Commands

Full Investigation

Run a comprehensive incident investigation. Collects workspace state, checks for signs of compromise (recently modified critical files, new skills, unusual permissions, off-hours modifications, large files, hidden files), cross-references with warden/ledger/signet/sentinel data, builds an event timeline, and calculates an incident severity score (CRITICAL / HIGH / MEDIUM / LOW).

python3 {baseDir}/scripts/triage.py investigate --workspace /path/to/workspace

Event Timeline

Build a chronological timeline of all file modifications in the workspace. Groups events by hour, highlights suspicious burst activity (many files modified in a short window), shows which directories and skills were affected, and cross-references with ledger entries if available.

python3 {baseDir}/scripts/triage.py timeline --workspace /path/to/workspace

Look back further than the default 24 hours:

python3 {baseDir}/scripts/triage.py timeline --hours 72 --workspace /path/to/workspace

Blast Radius (Scope)

Assess the blast radius of a potential compromise. Categorizes all files by risk level (critical, memory, skill, config), checks for credential exposure patterns in recently modified files, scans for outbound exfiltration URLs, and estimates scope as CONTAINED (single area), SPREADING (multiple skills), or SYSTEMIC (workspace-level).

python3 {baseDir}/scripts/triage.py scope --workspace /path/to/workspace

Evidence Collection

Collect and preserve forensic evidence before remediation. Snapshots the full workspace state (file list with SHA-256 hashes, sizes, timestamps), copies all available security tool data (.integrity/, .ledger/, .signet/, .sentinel/), and generates a summary report. Always run this before any remediation to preserve the forensic trail.

python3 {baseDir}/scripts/triage.py evidence --workspace /path/to/workspace

Save to a custom output directory:

python3 {baseDir}/scripts/triage.py evidence --output /path/to/evidence/dir --workspace /path/to/workspace

Quick Status

One-line summary of triage state: last investigation timestamp, current threat level, and whether evidence has been collected.

python3 {baseDir}/scripts/triage.py status --workspace /path/to/workspace

Workspace Auto-Detection

If --workspace is omitted, the script tries:

  1. OPENCLAW_WORKSPACE environment variable
  2. Current directory (if AGENTS.md exists)
  3. ~/.openclaw/workspace (default)

Cross-Reference Sources

Triage automatically checks for data from these OpenClaw tools:

ToolData PathWhat Triage Checks
Warden.integrity/manifest.jsonBaseline deviations — files modified since last known-good state
Ledger.ledger/chain.jsonlChain breaks, unparseable entries, suspicious log entries
Signet.signet/manifest.jsonTampered skill signatures — skills modified after signing
Sentinel.sentinel/threats.jsonKnown threats and high-severity findings

Incident Severity Levels

LevelMeaningTrigger
CRITICALImmediate response requiredAny critical finding, or 3+ high findings
HIGHInvestigation warrantedHigh-severity findings from any source
MEDIUMReview recommendedMultiple medium findings or volume threshold
LOWNo immediate actionInformational findings only

Exit Codes

  • 0 — Clean, no actionable findings
  • 1 — Findings detected (investigation recommended)
  • 2 — Critical findings (immediate action needed)

No External Dependencies

Python standard library only. No pip install. No network calls. Everything runs locally.

Cross-Platform

Works with OpenClaw, Claude Code, Cursor, and any tool using the Agent Skills specification.