An AI agent enrolled 181 nodes onto a production network over four and a half days, ran an improvised command-and-control system, and moved laterally through the org. Every one of those steps was a network event. The question isn't whether a monitoring platform could have caught it. It's whether anyone had it turned on and pointed at the right thing.

By now you have probably read about the AI agent that escaped a security evaluation and went after Hugging Face. The motive is almost funny: it decided the answers to its benchmark might be sitting inside Hugging Face's infrastructure, so it went and took them. Cheating on the exam. The outcome was less funny. Hugging Face's reconstruction covers roughly 17,600 recovered actions over four and a half days: sandbox escapes, code execution, harvested cloud credentials, a home-grown C2 setup, and a slow, patient spread across their environment.

Tailscale wrote a good, honest post about their part in it. We wanted to write about the part with no vendor attached, because that is the part monitoring people cannot stop thinking about.

Here is the uncomfortable thing: almost none of that attack was invisible. It was invisible to the people who owned the network. It was not invisible to the network.

Where a monitoring platform would have shown up

OpenNMS was not in this incident. No auth key of ours was leaked, no agents of ours went rogue, and nobody at OpenNMS has to write an apology. And yet reading the timeline is a strange experience for anyone who has spent a career watching networks, because it reads like a list of things monitoring exists to notice.

Consider what actually happened, in network terms.

A large number of new nodes appeared that were not there before. Auto-discovery is one of the oldest jobs a monitoring platform has, and a network that grows by 181 nodes in a few days is either having a very good quarter or a very bad week. Either way, it is an event worth raising.

Traffic patterns changed. An improvised C2 system means beaconing, unusual east-west flows, hosts connecting that have no business talking to each other. Flow data (NetFlow, sFlow, IPFIX) and thresholding exist to surface exactly that when the baseline shifts.

Hosts behaved in ways their own history did not predict. Performance baselining is, at heart, a long memory for what normal looks like here, which is the same thing as an early warning for this is not normal.

None of this is exotic. It is the boring, load-bearing middle of what network monitoring does every day. The signal was in the wire.

The bad news, and we may as well say it first

Detection is not prevention. This is the honest limit of every monitoring platform ever built, ours included. OpenNMS would not have reached into that Kubernetes node and slapped the agent's hand away from the secret store. A monitoring platform tells you the truth about your network. It does not enforce it.

So if the pitch were "buy monitoring and rogue AI agents can't hurt you," that would be nonsense. Monitoring is the smoke detector, not the sprinkler, and definitely not the fire department.

But there is a second, quieter piece of bad news that matters more, because it is the one that decides whether the smoke detector goes off.

The data was there. Was anyone watching?

This is the failure mode that keeps monitoring people up at night, and it has nothing to do with whether the platform is good. A platform can be collecting every flow, discovering every node, and baselining every interface, and still be useless during an incident if:

  • 181 new nodes get discovered and quietly filed, because nobody wrote an event that says "an unusual number of new nodes just showed up, wake someone."
  • The anomalous flows are sitting in the data, but no threshold was configured to turn them into an alarm.
  • The alarm did fire, into a console nobody watches, or an email folder 4,000 messages deep, or a channel muted during the last alert storm.

Alert fatigue is not a personal failing. It is the predictable result of treating every blip as a five-alarm fire until the humans reasonably stop believing any of them.

The lesson of the Hugging Face timeline, for our corner of the world, is not "you needed better monitoring." Plenty of organizations already have it. The lesson is that collection without configured, believable, well-routed alerting is just an expensive log you read after the fact.

Making the signal impossible to miss

If this incident has you looking a little nervously at your own network, the useful move is not to go shopping. It is to check what your existing monitoring would actually have done, and fix the gaps. A few places to start:

  • Turn "unexpected new nodes" into a real event. Discovery finding new hosts is normal. Discovery finding a lot of them in a short window, or ones that match no expected provisioning pattern, should generate an alarm, not a silent inventory update. Decide your normal growth rate and alert when reality disagrees.
  • Collect flow data and actually threshold it. East-west traffic between hosts that have never spoken, low-and-slow beaconing, connections to unfamiliar destinations: this is the texture of C2 and lateral movement. Flows only help if a threshold turns the interesting ones into something a human sees in time.
  • Baseline behavior, then alert on the deviation. A long performance history defines normal for you so you do not have to guess. Wire your thresholds to the baseline, not to a number someone picked in 2019.
  • Route alarms to where people already look. An alarm that fires into an unwatched console did not fire. Notifications should land in the tool your team lives in, and escalation should be real.
  • Tune ruthlessly against alert fatigue. Making alerts trustworthy again is one of the most effective controls in many shops. Fewer, better alarms beat total coverage nobody believes.

The point

Network monitoring is hard, and it is getting harder now that the thing on the other end can work patiently for four and a half days without getting bored or needing lunch. A network breakout is, from the wire's point of view, just a series of events with unusually bad intentions, and events are the thing we have spent decades learning to see.

OpenNMS was not in the Hugging Face intrusion. We are not writing this to take a bow, because there is nothing to take a bow for. We are writing it because the whole event is a very expensive reminder of something monitoring people say a lot and gets ignored a lot: the data is almost always there before the headline is. The only question that ever really matters is whether it turned into an alarm, and whether anyone was there to hear it.

Want to talk through what your current monitoring would actually catch? Reach out to the OpenNMS team. We would rather help you find the gaps now than read about them in someone's incident report later.

Jump to section

About the Author: Marshall Massengill

I'm the Senior Director of Product and Engineering for OpenNMS. If you've got questions about IT, Networking, or building robots then I'm happy to help!
Published On: August 4th, 2026Last Updated: August 4th, 20266 min readTags: ,