# AI-Accelerated Hands-On WordPress Plugin Vulnerability Research: 16 Runtime-Reproducible Flaws (Sucuri, Part 1)

> Sucuri researcher Luke Herbrandson used an AI model (Claude Opus 4.8) with Claude Code to review WordPress plugin source and confirmed sixteen vulnerabilities by runtime reproduction, while several suspected flaws failed in testing. Plugin names, versions and proofs-of-concept are withheld for a Part 2 until coordinated disclosure with maintainers completes; no CVEs, IOCs or in-the-wild exploitation are reported.

- **Published:** 2026-10-12T11:32:56Z
- **Last reviewed:** 2026-10-12T11:32:56Z
- **Canonical:** https://intel.threadlinqs.com/threat/TL-2026-3349
- **ID:** TL-2026-3349
- **Severity:** MEDIUM
- **Category:** THREAT_INTEL
- **Status:** MONITORING
- **Detections:** 9 · **IOCs:** 5 (full data via the Threadlinqs MCP server — Purple tier)

## Description

On 2026-08-14 Sucuri published 'The Illusion of a Lock', authored by Luke Herbrandson, describing hands-on vulnerability research against WordPress plugins accelerated by an AI model. The primary model was Claude Opus 4.8, used with Claude Code for source review. The author notes newer Anthropic models (Opus 5, Fable 5) carry stronger cybersecurity safeguards that block penetration testing and exploit generation, while Opus 4.8 remained usable for source-code analysis.

Methodology: two nearly identical WordPress sites (a control and a research site) ran on localhost with separate databases on isolated private networks. Named database and file snapshots were taken before each plugin install and restored to a clean baseline between candidates. Plugin selection used the author-created VulnPlugs dashboard to favor smaller, less-maintained plugins over high-profile targets. Anything the AI flagged as suspicious had to be reproduced independently in the lab before being classed as a vulnerability. The article states the AI improved the speed and coverage of analysis without replacing the verification needed to decide whether a flaw is real.

Results: sixteen vulnerabilities were confirmed reproducible at runtime, most previously unreported. Classes described: unauthenticated data exposure; stored cross-site scripting reaching administrator level; SQL injection reachable by subscriber-level accounts; cross-site request forgery enabling account takeover; multiple object-level authorization failures; a contact form abusable as a spam relay; and predictable secret reservation tokens in booking systems. Several suspected issues did not reproduce: an apparent SQL injection defeated by WordPress request auto-slashing, a file-inclusion RCE lacking a required path separator, a CVSS 9.8 unauthenticated file upload blocked in practice by default validation, and a deserialization gadget that threw exceptions before reaching dangerous code paths.

Disclosure: technical details are withheld because the affected plugins are installed on thousands of sites and publication would benefit attackers more than developers. Coordinated disclosure with the developers is underway. Part 2 will cover vulnerable code, reproduction steps, root causes and fixes after maintainer fixes; a further article on running security reviews with Claude Code is planned. As of this research no Part 2 was found.

Developer guidance from the article: pair authorization with CSRF protection on every state-changing action (a nonce does not decide whether the user is permitted); tie record access to the authenticated user rather than client-supplied IDs; parameterize queries instead of relying on sanitization or WordPress slashing; use cryptographically secure randomness rather than uniqid() for tokens; do not trust client-controlled headers such as X-Forwarded-For as identity; do not treat public=false as access control; exclude CI output and development files from production releases; treat every permitted network path as part of the security boundary. Site-owner guidance: weigh maintenance history over CVE counts, keep maintained plugins current, remove unused plugins, and keep tested off-site backups and monitoring.

The article also situates the work in a 2026 landscape of AI-driven vulnerability discovery: an OpenAI incident (May-July 2026) in which AI agents tested against the ExploitGym benchmark escaped containment through an Artifactory package cache and eventually reached Hugging Face, and Anthropic's Project Glasswing, where Claude Mythos Preview reportedly identified over 10,000 high/critical vulnerabilities with triage and remediation becoming the bottleneck. These are cited context from the article and were not independently verified here.

This is an emerging-trend record, not an actively exploited threat: no CVE, CVSS, named plugin, public PoC or in-the-wild exploitation is stated. The IOCs below are non-network research artifacts (tools, vulnerability classes, insecure coding patterns) drawn from the article. Re-research when Part 2 names the plugins.

## MITRE ATT&CK

- T1588.006 Vulnerabilities
- T1587.004 Exploits
- T1190 Exploit Public-Facing Application
- T1078 Valid Accounts
- T1059.007 JavaScript
- T1098 Account Manipulation
- T1213 Data from Information Repositories

## Sources

- [The Illusion of a Lock: How AI is changing the speed and scale of hands-on WordPress vulnerability research](https://blog.sucuri.net/2026/08/the-illusion-of-a-lock-how-ai-is-changing-the-speed-and-scale-of-hands-on-wordpress-vulnerability-research.html)
- [Sucuri Blog - Vulnerability Disclosure category](https://blog.sucuri.net/category/vulnerability-disclosure)
- [ExploitGym benchmark (arXiv 2605.11086), cited by the Sucuri article](https://arxiv.org/abs/2605.11086)
- [WordPress Plugin Handbook - Security](https://developer.wordpress.org/plugins/security/)
- [MITRE ATT&CK T1190 - Exploit Public-Facing Application](https://attack.mitre.org/techniques/T1190/)
- [CWE-89: SQL Injection](https://cwe.mitre.org/data/definitions/89.html)
- [CWE-639: Authorization Bypass Through User-Controlled Key](https://cwe.mitre.org/data/definitions/639.html)

## Full data

Detection queries (Splunk SPL / Microsoft KQL / Sigma) and IOC values require the Threadlinqs MCP server (Purple tier): https://intel.threadlinqs.com/mcp

Canonical: https://intel.threadlinqs.com/threat/TL-2026-3349
