❌

Normal view

Stop Building a 2003 SOC with AI: Triage Must Die (Part 2)

11 August 2026 at 20:58

(with key ideas from AugustoΒ Barros)

In Part 1 of this series, we dumped a pile of uncomfortable questions on you and promised answers. The core thesis, if you recall: if you add AI agents into a legacy, swivel-chair SOC structure, you are essentially building a robotic horse pulling an 1850 buggy. Sure, it saves on hay. It probably costs more inΒ tokens.

2003 SOC + AI = somewhat better 2003Β SOC.

Gemini creationΒ :-)

That’s it. That’s theΒ ceiling.

So today we start answering the questions. And we start by attacking the most sacred cow of traditional security operations: the alert triageΒ process.

Let’s Kill Triage. Seriously.

For a quarter of a century, the standard SOC pipeline has been carved inΒ stone:

Detect β†’ Triage β†’ Investigate

Human L1 analysts sit in front of a flashing alert queue, spending 3–7 minutes per alert (and sometimes much more…) deciding whether something is a false positive or deserves escalation to somebody more senior (and more expensive…and just as human). We built this process for one reason and one reason only: humans do not scale (For the purist: OK, they do scale, but linearly with pay). Triage was a compromise born of β€œbuilt-in” scarcity. Weβ€Šβ€”β€Šobviouslyβ€Šβ€”β€Šnever had enough human eyes to deeply investigate every signal hitting the SIEM, so we invented a cheap filtering step to ration the expensive investigation step.

Sometime in the 2010s, SOAR made triage easier, by first adding alert enrichment and then …. in many places, nothing more. In others, select alert types were triaged by the hard-coded playbooks.

Now, let’s do AI. It doesn’t get bored correlating IPs or summarizing logs at 3am. It doesn’t quit after 18 months to go do threat hunting somewhere else. Because machine scale allows comprehensive analysis of every signal, the triage step can just go andΒ vanish.

The new pipeline collapses to:

Detect β†’ Investigate.

Why spend minutes β€œskin-deep” triaging an alert to decide whether it deserves a look, when the machine can perform a full, deep investigation of 100% of your alerts? Gather the local context, pull the historical cases, map the artifacts, render a verdict with evidenceβ€Šβ€”β€Šall before a human ever showsΒ up.

For the impatient: the cost discussion is coming! Don’t freak out … justΒ yet.

Waitβ€Šβ€”β€ŠCan They Actually Do ThatΒ Today?

Fair question, and here is where we owe you honesty rather than aΒ slide.

Today’s β€œAI in SOC” ranges from β€œgenuinely investigates” to β€œenriches beautifully then bullshits confidently.” The second one is an old SOAR chained to a language model aka the exact trap this blog warns about. If you cannot tell which one you bought, you probably bought the secondΒ one…

Our rough test for telling them apart, usable in aΒ POV:

  • Does it ask new questions, or only pre-decided ones? Enrichment runs a fixed lookup list. Investigation forms a hypothesis, queries, reads the result, and changes what it asks next. Watch the query sequence, not theΒ summary.
  • Does the conclusion move when the evidence moves? Feed it two near-identical alerts with one materially different fact. If the verdict does not change, you have a narrator.
  • Does it ever return β€œinconclusive”? A system with no uncertainty output has no calibration. RunΒ away.
  • Does it show its work in a form a human can re-run? Queries, artifacts, timestampsβ€Šβ€”β€Šnot just a paragraph asserting β€œno evidence of compromise.” OK, this is tricky, IΒ admit.

Where does this leave the β€œkill triage” claim? Honestly: directionally right, unevenly available. For high-volume, well-bounded, evidence-rich alert classesβ€Šβ€”β€Šphishing, commodity EDR detections, identity anomaliesβ€Šβ€”β€Šdeep machine investigation of 100% is achievable now.

For multi-stage, low-signal, who-the-hell-knows-what-happened, context-heavy cases it is not, and anyone telling you otherwise is, ahem, exaggerating, to put it mildly. The pipeline collapse is real; the coverage is a rollout, not aΒ switch.

Depth Gating: The New Triage Wears aΒ Suit

So, if deep investigation is token-expensiveβ€Šβ€”β€Šand it is, sorry!β€Šβ€”β€Šthen somebody, somewhere, is deciding how deep the machine goes on which alerts. We can call this decision A New Triage, while bending the truth a bit. It just moved from a human clicking a queue to a policy sitting in a config file, and pretending otherwise is how you end up with an unexamined control that quietly decides what you never look at. And, just as before, mistakes and decisions costΒ money.

So let’s examine it. Explicitly:

  • Who owns the investigation depth policy? Not procurement. Not β€œwhoever set up the tool.” This is a detection-engineering artifact with a named owner, version history, and a reviewΒ cadence.
  • Who owns the budget, and what happens when it runs out mid-month? If the honest answer is β€œall investigations get shallower,” you have just invented an availability attack against your own SOC. Define degradation behavior in advance: which alert classes keep full depth, what gets queued, what pages a human (do you still have said humanΒ handy?)
  • What is systematically under-investigated? Every gating rule creates a shadow. Write the shadow down. What gets triaged out? Review it quarterly against your threat model, not against your token bill. Well, OK, against both, really, but mostly vs theΒ threats.
  • Are your thresholds guessable? If low-severity, off-hours, or particular-source alerts predictably get the cheap path, an adversary who learns that shapes activity to land there. Treat depth policy as security-sensitive configuration, not opsΒ tuning.

Triage stops being a job and becomes a policyβ€Šβ€”β€Šand policies get attacked, drift, and rot. This is the broader theme of the whole series: humans move from doing the work to defining the rules for the work, which is harder, not easier, and needs the governance toΒ match.

(And yes, β€œcost per investigation” becomes a real SOC metricβ€Šβ€”β€Šone that will fight with β€œdetection coverage” in every budget meeting. More on the metrics carnage in a futureΒ part.)

So What Do the HumansΒ Do?

Remember my favorite modern SOC question? β€œIt’s 2030, you have a SOC, what do humans do?” If machines own frontline investigation for the vast majority of alerts, what happens to the people? Two dominant paradigms are emerging, and the answer for most organizations will be β€œboth, in someΒ mix”:

1. The Elite Threat Hunter Model. With the routine noise fully investigated by machines, humans are finally unchained from the queue. They pivot to hypothesis-driven hunting, deep-dive research, and the nuanced multi-stage attacker behaviors where AI (for now!) still struggle. Humans hunt; machines grind. Sorry, but β€œ100% automated hunting” is notΒ (today).

2. The Engineering-Driven SOC Model. This is our classic ASO mantra: humans build machines; machines do the work. Analysts evolve into detection and SOC engineers. Their day shifts from consuming alerts to building, tuning, testing, versioning and (yes) rolling back the AI logic and detection-as-code pipelines. Treat agents as engineering artifacts, not magicΒ pets.

And the New L1Β Is…

β€œOK, but classic L1 is dead. What do entry-level humans do?” OK, this is tricky! This is where a lot of β€œhumanless SOC” enthusiasts embarrass themselves.

I think the new starter role is AI validation: sampling and reviewing AI-generated case files, validating the agent’s query logic against the data it actually had, hunting for hallucinated context and confidently wrong conclusions (got those?), and owning the β€œ1% bucketβ€β€Šβ€”β€Šthe exceptions where the AI raises its digital hands and says β€œI don’t know, human, help me.” (Your AI SOC must have an explicit process for this bucket. If your vendor’s agent never says β€œI don’t know,” run.)

Now the two objections this role deserves, because β€œverify-and-validate is the new L1” is a slogan until you answerΒ them.

Objection 1: where does the competence come from? Checking an agent’s homework requires knowing what good looks likeβ€Šβ€”β€Šand L1s historically learned that by doing triage, badly, for a year. We removed the training ground and assumed the graduates.

So build the ground back deliberately:

  • Structured re-investigation as training. New analysts independently work a small set of already-closed cases without seeing the agent’s verdict, then compare. This is deliberate practice, and it doubles as an evaluation signal on theΒ agent.
  • Curated case libraries as curriculum. The promoted-case archive is the best SOC textbook your org will ever have, sequenced from trivial to nasty. Use it as onboarding, not just as machine memory. You have AI, useΒ it!
  • Rotation into hunting and detection engineering on a schedule, not β€œwhen someone has time.” Validation-only career paths produce validators, not investigators.

Objection 2: automation bias is real and it will eat your review process. Humans reviewing plausible, well-written machine verdicts approve them, every time. You do that, I do that (hey, I just did this with this blog sentence to illustrate this very point). You can’t order people not to. Well, you can order, but they won’t do it. This is one of the best-documented findings in human-automation research, and hoping your team is special is not aΒ thing.

Design againstΒ it:

  • Blind review first. The reviewer forms a verdict before seeing the agent’s. Order matters more than effortΒ here.
  • Canary cases. Inject known-bad cases with deliberately wrong agent verdicts into the review queue at a low rate. Measure catch rate. This measures the reviewers, and it is the only honest read on whether your validation layer isΒ real.
  • Stratified, not random, sampling. Random sampling over a population that is 99% benign finds nothing. Oversample: agent-reported low confidence, unusual query paths, crown-jewel assets, first-time-seen behaviors, and anything closed suspiciously fast.
  • Incentives on catches, not throughput. If reviewers are measured on cases reviewed per shift, you have built a rubber stamp with a salary. Measure disagreements raised and missesΒ found.

What’s Next?

Killing triage and re-blueprinting the humans is necessary but not sufficient. If your SOC still reports β€œalerts closed per analyst per shift,” you are measuring a process that no longerΒ exists.

Next up: failure modes, local context pain, how SOC metrics must change when volumes and closure rates stop mattering …

Related blogs:


Stop Building a 2003 SOC with AI: Triage Must Die (Part 2) was originally published in Anton on Security on Medium, where people are continuing the conversation by highlighting and responding to this story.

OpenAI teases Astra, its next major AI model, after it solves 10 long-standing math problems

3 August 2026 at 00:31
OpenAI has revealed Astra, an unreleased model designed to tackle complex, long-running tasks, after an internal version produced ten significant advances in mathematics and theoretical computer science. [...]

UK’s state investments agency hit by data breach

Security lapse leaves sensitive information and contact details of 51 government officials exposed for 40 hours

The public body in charge of the UK’s state investments has been pushed to improve its internal security after a data breach left β€œhigh-level management information” publicly accessible for nearly two days.

UK Government Investments (UKGI), the agency that manages the taxpayers’ interest in a swathe of companies including Channel 4 and the Post Office, said the security failure also left more than 50 government officials’ personal details exposed for nearly 40 hours.

Continue reading...

Β© Photograph: Marina Demidiuk/Alamy

Β© Photograph: Marina Demidiuk/Alamy

Β© Photograph: Marina Demidiuk/Alamy

VU#243636: VPS.org one-click deployment templates contain multiple vulnerabilities

Overview

VPS.org's one-click deployment templates provision services with default passwords and predefined network bindings instead of generating randomized secrets or applying per-deployment hardening measures.

Description

VPS.org is a cloud and virtual private server hosting provider that offers a library of templates for quickly provisioning common applications and services. Multiple vulnerabilities exist in the one-click deployment templates feature. These vulnerabilities stem from the same root cause: content is directly instantiated from static templates, using default passwords and static secrets with no deployment-specific randomization or interface-binding hardening at provisioning time.

CVE-2026-16503 The Supabase template provides an instance of PostgreSQL that is bound to all network interfaces (0.0.0.0:5432) and uses the hard-coded database password postgres. Because Docker manages its own iptables rules, this exposure can bypass standard host UFW firewall configurations. If the the instance is exposed to the internet, a remote attacker could connect to the host's published TCP port 5432 and authenticate as the postgres superuser account using the default postgres password.

CVE-2026-16504 The Zulip template ships with a hard-coded application key secret_key: changeme, a default database password zulip, and the setting DISABLE_HTTPS=True. An attacker can use this public secret key to forge or validate signed session material, enabling session forgery and authentication bypass against the instance. If unchanged, the default database password zulip can be used to authenticate to the database. Furthermore, the DISABLE_HTTPS=True configuration causes all traffic to be sent over unencrypted HTTP by default, exposing credentials and session data to potential interception in certain deployments.

Impact

CVE-2026-16503 (Supabase template): PostgreSQL superuser access from the internet enables the following:
* read and exfiltrate data
* insert/modify/delete data
* alter the database schema, roles, and privileges
* establish persistence via database objects
* denial of service through destructive statements (dropping tables/databases)

CVE-2026-16504 (Zulip template): Authentication bypass and session forgery allows the following:
* account and instance takeover
* interception of credentials and session tokens over unencrypted transport

This constitutes a Technical Impact = Total under the SSVC framework, meaning:

The vulnerability gives the adversary total control over the behavior of the software or total disclosure of all information on the affected system.

Solution

Unfortunately, VPS.org could not be reached to coordinate these vulnerabilities, and a patch is not yet available. Users of VPS.org one-click deployment templates are advised to change any default passwords and secret keys before deploying to a production environment. Firewall rules and network segmentation should be implemented to restrict internet access to back-end systems such as databases and other sensitive resources. Finally, where applicable, HTTPS should be enabled to protect credentials and session data in transit.

Acknowledgements

Thank you to Simon Gajdosik for reporting these vulnerabilities. This document was written by Bob Kemerer.

Vendor Information

One or more vendors are listed for this advisory. Please reference the full report for more information.

Other Information

CVE IDs: CVE-2026-16504 CVE-2026-16503
Date Public: 2026-07-31
Date First Published: 2026-07-31
Date Last Updated: 2026-07-31 15:20 UTC
Document Revision: 2

ESET tracks rise in malicious AI skills and adaptable malware

31 July 2026 at 16:01
Attackers are adapting established techniques to AI platforms, emerging technologies, and changing user behavior. ESET's new threat report examines the rise of malicious AI skills, AI-assisted malware, ClickFix attacks, record quishing activity, and ransomware tools designed to disable security software. [...]
❌