Repository navigation
AI coding-agent activity (Claude Code, Cursor, Codex) as an input to AiSOC #1577
Replies: 3 comments
|
Thanks for this — and for stating the generic-json claim as a claim to check rather than a result. That made the decision easy: we took your option 2, but built it in-tree ourselves so it ships tested against the rest of the pipeline. It is merged: #1580. Your generic-json claim, checked. We captured real canonical v1.2.0 events by running
What shipped instead: a bundled
Setup is: mint an inbox URL with the Agentmetry template in the console, point Verified vs not, stated plainly. Verified: real captured events through the real embedded template and registry — class routing, the full severity ladder, technique carry, malformed-event degradation, and the generic-json comparison above. Not verified: a live Agentmetry orchestrator POSTing to a live AiSOC deployment over the network; the docs page says exactly that rather than claiming it. Your stated non-coverage (browser chat, model providers, agents with hooks disabled; hook removal surfacing as a heartbeat change, not prevention) is quoted in the docs so nobody expects otherwise. If a future schema release moves a field, the unmapped half degrades to template defaults rather than being dropped — a ping here or a PR against the template YAML is welcome when that happens. Closing as resolved: the template, tests and docs are on |
|
The docs deploy has finished — the page is live: https://beenuar.github.io/AiSOC/docs/connectors/agentmetry/ |
|
Thank you. This is far more than I asked for, and better than what I would have written: splitting activity (6003) from detections (2001) is the right call, and I had not thought through what generic-json does to severity. On schema stability: the canonical schema changes additively, so the fields you map (action.type, detection.severity, detection.technique_ids, tool.mitre, timestamp_utc) are not renamed or moved. If that ever has to change, I will ping this thread before it ships. I'll link your connector page from Agentmetry's integration docs so people find it from both sides. And if Cyble ever wants to compare notes on what coding agents actually do on real machines, I'd value 20 minutes. |
Uh oh!
There was an error while loading. Please reload this page.
Hi, I maintain Agentmetry (github.com/blitzcrieg1/agentmetry, Apache-2.0), an open-source sensor for AI coding agents. It records each tool call that Claude Code, Cursor, Codex and Copilot make through their own hooks, and every call through MCP servers wrapped by its proxy. It correlates sequences into detections mapped to MITRE ATT&CK and ATLAS, for example a session that pulled in an issue comment or web page and then touched credentials. It runs locally on the developer machine and forwards to the SIEM the team already has.
That looks like the layer below AiSOC: it produces the alerts your triage agents investigate, for an activity source I don't think you ingest yet. So, a question before anyone writes code.
On paper it already connects through Universal capture. Agentmetry's webhook sink POSTs one canonical JSON event per request, and detections travel the same path as events, with the severity in
action.outcome, so pointing it at/v1/inbox/{tenant_token}with the generic-json template should land them. I have not tested this end to end against a running AiSOC, so treat it as a claim to check, not a result.Would any of these be useful to you?
What it does not cover, so nobody expects otherwise: browser chat use, model providers, and anything an agent does without its hooks enabled. Hook removal shows up as a heartbeat change, not as prevention.
If you want to see what the detections look like before deciding: pip install agentmetry && agentmetry demo
All reactions