Borrowing it
Nothing to install: this file belongs to DinoMorphica/safeclaw. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/DinoMorphica/safeclaw/main/.claude/agents/openclaw-tracking.mdgit clone --depth 1 https://github.com/DinoMorphica/safeclawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/dinomorphica/safeclaw/openclaw-tracking)<a href="https://agentmods.dev/agents/dinomorphica/safeclaw/openclaw-tracking"><img src="https://agentmods.dev/badge/agents/dinomorphica/safeclaw/openclaw-tracking/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/dinomorphica/safeclaw/openclaw-tracking"><img src="https://agentmods.dev/badge/agents/dinomorphica/safeclaw/openclaw-tracking.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01320 |
| Opus 5.5 | $0.00000 | $0.00528 |
| Sonnet 5.5 | $0.00000 | $0.00264 |
| Haiku 4.5 | $0.00000 | $0.00132 |
Grade A, and why
openclaw-tracking scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenClaw Activity Tracking Architecture
Overview
SafeClaw tracks OpenClaw AI agent activities using a dual-source approach because the gateway WebSocket does NOT broadcast tool call events.
Event Sources
Source 1: Gateway WebSocket (real-time, limited)
Connects to ws://127.0.0.1:{port} (default 18789) using Ed25519 device auth.
Events received:
agentwithstream=lifecycle— session start/end (phase: start/end/error)agentwithstream=assistant— LLM text streaming (skipped, not security-relevant)chat— final message delivery (WhatsApp, agent responses)exec.approval.requested— command approval requeststick— keepalivepresence— online status
Events NOT received:
agentwithstream=tool— tool invocations (file reads, writes, shell commands). These are processed internally by the[agent/embedded]subsystem but never broadcast to WebSocket clients. This was confirmed via gateway log analysis.
Source 2: Session JSONL Files (complete, file-tailed)
OpenClaw stores complete interaction histories at:
~/.openclaw/agents/{agentName}/sessions/{sessionId}.jsonl
Active sessions are listed in:
~/.openclaw/agents/{agentName}/sessions/sessions.json
JSONL entry types:
{"type":"session","id":"...","timestamp":"...","cwd":"..."}
{"type":"model_change","id":"...","modelId":"claude-haiku-4-5"}
{"type":"message","id":"...","parentId":"...","message":{"role":"user","content":[{"type":"text","text":"..."}]}}
{"type":"message","id":"...","parentId":"...","message":{"role":"assistant","content":[{"type":"toolCall","id":"toolu_...","name":"read","arguments":{"file_path":"/path"}}]}}
{"type":"message","id":"...","parentId":"...","message":{"role":"toolResult","toolCallId":"toolu_...","content":[{"type":"text","text":"FULL FILE CONTENT"}]}}
The parentId chain creates a tree structure. Each role: "user" message starts a new interaction run.
Architecture
┌─────────────────┐ ┌──────────────────┐
│ Gateway WS │ │ Session JSONL │
│ (chat/lifecycle)│ │ (tool calls+content)│
└────────┬────────┘ └────────┬───────────┘
│ │
OpenClawClient SessionWatcher
│ │
└───────┬───────────────┘
│
OpenClawMonitor
├── analyzeActivityThreat() → classifyActivity()
│ ├── 10 threat category analyzers (see threat-classification.md)
│ └── scanForSecrets() (via TC-SEC analyzer)
├── DB insert (agent_activities + threat_findings JSON)
└── Socket.IO emit → React dashboard
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 118 lines · 0 tokens per session scan A 2df0466b30ba
openclaw-tracking is an agent published in the GitHub repository DinoMorphica/safeclaw (22 stars, last pushed 8mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,320 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
report-writer
Bug bounty report writer. Generates professional H1/Bugcrowd/Intigriti/Immunefi reports. Impact-first writing, human tone, no theoretical language, CVSS 3.1 calculation included. Use after a finding has passed the 7-Question Gate and 4 validation gates. Never generates reports with "could potentially" language.
web3-auditor
Smart contract security auditor. Checks 10 bug classes in order of frequency (accounting desync 28%, access control 19%, incomplete path 17%, off-by-one 22% of Highs, oracle errors, ERC4626 attacks, reentrancy, flash loan oracle manipulation, signature replay, proxy/upgrade issues). Applies pre-dive kill signals…
recon-agent
Subdomain enumeration and live host discovery specialist. Runs Chaos API (ProjectDiscovery), subfinder, assetfinder, dnsx, httpx, katana, waybackurls, gau, and nuclei. Produces prioritized attack surface for a target. Use when starting recon on a new target domain.
chain-builder
Exploit chain builder. Given bug A, identifies B and C candidates to chain for higher severity and payout. Knows all major chain patterns — IDOR→auth bypass, SSRF→cloud metadata, XSS→ATO, open redirect→OAuth theft, S3→bundle→secret→OAuth, prompt injection→IDOR, subdomain takeover→OAuth redirect. Use when you have a…
validator
Finding validator. Runs the 7-Question Gate and 4-gate checklist on a described finding. Kills weak/theoretical findings fast before report writing. Prevents N/A submissions. Use before writing any report — describe the finding and this agent decides PASS, KILL, or DOWNGRADE with explanation.
渗透测试专员
An authorized penetration-testing agent for checking whether identified security weaknesses can be verified and used within a defined scope. Penetration testing is a controlled security assessment of a system.