Five U.S. Agencies Say AI Wrote the Scripts Targeting Siemens PLCs
Security / analysis
Five U.S. Agencies Say AI Wrote the Scripts Targeting Siemens PLCs
The joint advisory names no new vulnerability and no confirmed victim, and Siemens says it has not seen anything new in its own products.
The NSA, CISA, FBI, Department of Energy and Environmental Protection Agency said Aug. 19 that threat actors are using AI-generated Python scripts to scan for and probe internet-exposed Siemens S7 Series programmable logic controllers, the first joint advisory from the five agencies to name generative AI as the tool behind an active industrial-control campaign.
| Category | Named in advisory AA26-231A |
|---|---|
| Issuing agencies | NSA, CISA, FBI, DOE, EPA |
| Affected PLC line | Siemens S7-200, S7-300, S7-400, S7-1200, S7-1500 |
| Sectors named | Critical manufacturing, energy, water and wastewater, chemical, food and agriculture, commercial facilities |
| Scanning tools cited | Censys, ZoomEye |
How the scripts get written, and what they do
The advisory says threat actors feed publicly available Siemens documentation into AI tools, which generate functional Python scripts built on the open-source snap7 and python-snap7 libraries used to talk to S7 controllers over the S7comm protocol. The actors then use internet-scanning services including Censys and ZoomEye to find PLCs that are reachable from the open internet and running outdated software, and deploy the generated scripts disguised as legitimate monitoring utilities to conduct reconnaissance against them.
That description covers scanning, credential access attempts and denial-of-service capability against a widely deployed controller family, not a specific software flaw that a single patch could close. CISA's advisory directs operators to Siemens' own ProductCERT advisories for vulnerability detail rather than listing a CVE of its own, and a Siemens ProductCERT advisory from July had already identified the underlying issue as misconfiguration rather than a new bug in Siemens code.
What the advisory does not say
No version of the advisory names a threat actor, and none of the five agencies has said whether any targeted PLC was successfully commanded to do something its operator did not intend. Cybersecurity Dive reported that U.S. authorities suspect Iran-nexus actors are behind a broader pattern of attacks on water utilities across at least 12 states, but that attribution comes from the outlet's own reporting, not from the text CISA, NSA, FBI, DOE and EPA signed. The joint advisory itself stops at describing the technique, and it does not say whether the water-utility pattern Cybersecurity Dive described is the same activity the five agencies are tracking or a separate campaign that happens to target similar equipment.
A Siemens spokesperson pushed back on the premise that the company's products are newly at risk: "At this point in time, we have not identified increased attack levels or unknown vulnerabilities in Siemens ICS products," the spokesperson said, a statement that puts the increased risk on the exposure side of the equation rather than the software Siemens ships.
The weak link isn't the code
Jon Braley, director of threat intelligence at the IT Information Sharing and Analysis Center and the Food and Agriculture-ISAC, offered a similar read. "Many of these reported attacks appear to be the result of weak security processes and difficult-to-maintain hardware," Braley said, pointing at operator practice and aging equipment rather than a defect in Siemens' current product line.
That framing matters because it changes what "AI-generated exploitation scripts" actually means here. The advisory is not describing a model that found a new hole in S7 firmware. It is describing AI lowering the cost of writing the reconnaissance scripts and what the advisory calls "capability development" work that a skilled operator would previously have hand-coded against a decades-old protocol family. The advisory names the S7-200 line alongside the S7-1500 in the same list of affected models, spanning generations of hardware built for factory floors rather than open networks.
What CISA is telling operators to do
The advisory's recommendations are conventional network hygiene rather than a patch list, because there is no patch to apply against a technique rather than a vulnerability. It tells operators to inventory every S7 Series PLC on their network, apply whatever critical patches Siemens has already shipped, confirm none of the devices are reachable from the internet, block TCP port 102 at the firewall since that is the port S7comm uses, enable whatever password protection and access controls each device supports, deploy intrusion detection systems tuned to industrial protocols, and watch for unauthorized S7comm operations or Python processes invoking snap7.dll, a signature specific enough to catch the scripts the advisory describes. CISA lists these under "immediate priorities" in the advisory rather than under longer-term recommendations.
None of that requires a new CVE or a Siemens patch, which is also why the advisory has produced less follow-up coverage than a numbered vulnerability normally does. The Hacker News, in its own writeup, listed what the advisory leaves unresolved: the identity of the threat actors, the exploitation success rate, the precise number of organizations targeted, and whether any of the reconnaissance ever produced an actual disruption rather than a scan. A month after publication, those four questions are still open, and neither CISA nor Siemens has published an update narrowing any of them.
Whether Siemens' July guidance on misconfiguration reaches the operators who need it before CISA has to add another PLC advisory to its catalog under a compressed deadline is its own open question. The same pattern, tooling getting more capable while the advisory arrives before anyone can say how far it actually got, showed up in a separate campaign that used a fake LastPass GitHub repository to plant a kernel-level stealer rather than an AI-written reconnaissance script.
Sources
More in Security
- 01Go Team Weighs Turning Off Default MPTCP After Linux FlawThe Go Security Team called a default change premature on Oct. 29, while commenters on golang/go issue 82717 split over keeping multipath TCP on.
- 02Anthropic's Claude Exploit Chains Hit Five Targets, Each With LimitsThe Frontier Red Team's Oct. 27 post covers Chrome, Safari, Android, Windows and Linux, but only the Chrome and Linux results reach code execution.
- 03A Tampered Claude Code Extension Sat in Cursor's Marketplace for 11 Hours and Left an SSH Key BehindVersions 2.1.312 and 2.1.313 carried a 7,386-byte loader that plants an attacker key and a reverse tunnel. Uninstalling the extension does not remove either.
- 04Ivanti Connect Secure Zero-Day Chain Gave Root on a Patched VPN, and the Integrity Checker Misses ItVolexity dates exploitation to October 3, ten days before Ivanti's advisory; the root escalation step has no CVE and no fix in the sources reviewed.