Show HN: SOCBench – an open benchmark for AI on SoC tasks DeepTempo released SOCBench, an open benchmark for evaluating frontier reasoning LLMs as Security Operations Center (SOC) agents on raw NetFlow data. The benchmark supports multiple personas, providers, and a local-first reproducible pipeline with a $10 smoke test budget. Benchmark frontier reasoning LLMs as SOC agentson raw NetFlow data. socbench benchmarks frontier reasoning models as SOC agents: each model runs a bounded multi-turn agent loop against a deterministic, pre-indexed NetFlow corpus, with persona-scoped read-only tools, fixed dollar caps per investigation, and a strict final-answer JSON contract. Four personas SOC Analyst, Threat Analyst, Adversary Hunter, Detection Engineer and three providers OpenAI, Anthropic, Google share the same eval units, scoring lenses, and ablation surface so the headline numbers and tools off / playbooks off deltas are directly comparable. The repository is local-first . A laptop, three API keys, and a sample parquet committed to the repo are enough to reproduce a smoke under a $10 budget. Alpha. The full pipeline runs end-to-end. Build-out covered: Step 1 : package skeleton, contracts, configs, schema Step 2 : the index builder socbench build-index with deterministic content-addressed indexes Step 3 : read-only tools layer with persona allowlist + sample builder Step 4 : personas, playbooks, prompt compose + forbidden-token check Step 5 : provider adapters OpenAI / Anthropic / Gemini + always-on mock and the multi-turn agent loop with budget caps and cost/latency rollups Step 6 : scoring per-flow / per-pair / per-host F1 , stratified sampling, ablation aggregation Step 7 : quickstart + results-explorer notebooks; reproduction instructions in REPRODUCE.md You can run a complete smoke today with no API keys via the mock provider see Quickstart step 3, or notebooks/quickstart.ipynb . socbench ships as a standard PEP 621 / hatchling project. Either install path works. curl -LsSf https://astral.sh/uv/install.sh | sh git clone https://github.com/DeepTempo/socbench.git cd socbench uv venv --python 3.11 source .venv/bin/activate uv pip install -e ". dev,providers " git clone https://github.com/DeepTempo/socbench.git cd socbench python3.11 -m venv .venv source .venv/bin/activate pip install -e ". dev,providers " Either way, socbench --help should now list the available subcommands. | Surface | Default | Lives in | |---|---|---| | Benchmark defaults sampling, agent budgets, providers, persona × tool matrix | benchmark config.yaml | config/ | | Canonical NetFlow schema + normalization aliases | schema.json | config/ | | Provider pricing snapshot USD per 1M tokens | pricing.yaml | config/ | | Provider API keys | env vars OPENAI API KEY , ANTHROPIC API KEY , GOOGLE API KEY | shell env | config/benchmark config.yaml ships safe defaults: smoke cost budget usd: 10 , full cost budget usd: 900 , fixed cost usd cap per rendering: 0.50 . Paths inside it that point at sibling config files schema path , pricing path resolve relative to the YAML's own directory, so renaming or relocating config/ doesn't require any code edits. socbench build-index \ --config config/benchmark config.yaml \ --dataset sample This normalizes the parquet against config/schema.json , sorts globally by ts start with deterministic tie-breaking, assigns stable flow id s, derives pair timeline / host egress eval units, computes rollups, and writes to indexes/