Finding vulnerabilities has become cheap. Fixing them — not so much. This is what OpenAI has identified as the main shift of 2026: AI has so accelerated discovery that the bottleneck has moved from "finding" to "patching." GPT-5.5-Cyber is an attempt to attack this very bottleneck. This article provides a technical breakdown of what it looks like from the inside: architecture, real-world code examples, limitations, and where humans remain indispensable.
📌 This is the third article in a series about AI in cybersecurity in 2026. Read the first one — about the architecture of GPT-5.5-Cyber and Daybreak — here. A comparison of GPT-5.5-Cyber with Claude Opus and Gemini can be found here.
⚡ In Brief
- ✅ Codex Security in 3 months: 30+ million commits across 30,000+ repositories — AI is already scanning source code at an industrial scale
- ✅ OWASP Top 10: LLMs are good at finding injection, XSS, SSRF, and command injection in static code — but cannot confirm exploitability without runtime
- ✅ Real CVEs: CVE-2026-8390 (Firefox WebAssembly), dnsmasq CVE-2026-4890/4891/4892/5172, HTTP/2 Bomb — confirmed cases of AI-assisted discovery
- ✅ Agentic loop: Plan → Tool Call → Observe → Revise — the model itself chooses the next step but requires an authorized environment
- ⚠️ Main Limitation: 45% of AI-generated code contains OWASP vulnerabilities; hallucinated security fixes are a real problem; humans remain on the merge button
- 🎯 What you will get: a technical breakdown of the pipeline with prompt examples, real CVE cases, a practical workflow, and honest limitations
📚 Table of Contents
⚙️ AI Architecture for Cybersecurity: LLM, Tool Calling, Agentic Workflow, RAG
Before diving into specific tasks, it's important to understand the components that make up a modern AI security system. GPT-5.5-Cyber is not just a "chatbot that knows CVEs." It's an orchestrator that combines several different technological components.
LLM as the Reasoning Core
The base language model (in our case, GPT-5.5) serves as the central reasoning layer: it understands natural language, analyzes code, forms hypotheses about vulnerabilities, explains findings, and generates patches. However, an LLM by itself is just "thoughts." To turn them into actions, Tool Calling and an Agent Loop are needed.
Tool Calling: AI Interacting with Real Tools
Tool Calling (or Function Calling in OpenAI API terminology) allows the model to invoke external functions and tools, receive their results, and continue reasoning based on real data. In a security context, typical tools that GPT-5.5-Cyber can call include:
- Static analyzers — Semgrep, CodeQL, Bandit; the model formulates a search rule, the tool scans the codebase, and results are returned to the context
- CVE databases — NVD, OSV, Snyk Advisor; query by library name and version, retrieve known vulnerabilities
- Decompilers — Ghidra, IDA Pro (via API), Binary Ninja; load a binary, obtain disassembled code for analysis
- Network tools — nmap, Shodan (via API); reconnaissance and fingerprinting of the authorized target
- Code execution environments — a sandbox for testing PoCs without affecting real systems
A practical example with Codex Security (OpenAI's official tool): the model generates a Semgrep rule to search for SQL injection patterns → Semgrep scans the repository → returns a SARIF file with locations → the model analyzes the findings and ranks them by severity. This is not a one-off request but a tool chain.
Agentic Workflow: Plan → Tool Call → Observe → Revise
Unlike a simple chat request, an agentic workflow means the model itself plans the steps and decides which tool to call next, based on previous results. A simplified loop:
- Plan — the model receives a task ("find SQL injection vulnerabilities in this Node.js application") and builds a plan of steps
- Tool Call — invokes the first tool (e.g., Semgrep with OWASP Top 10 configuration)
- Observe — analyzes the results: what findings are there, what is the confidence, is deeper investigation needed
- Revise — adjusts the plan: if Semgrep found a suspicious pattern, the model can launch additional data flow analysis or request more file context
- Report — generates a structured report with severity, affected location, attack path, and recommended patch
It is this cycle that AISI evaluates in its benchmark "The Last Ones" (TLO) — a 32-step simulation of an attack on a corporate network, where the model itself determines the next action based on previous results (AISI, April 2026).
RAG: Grounding in Up-to-Date Data
Retrieval-Augmented Generation solves a key problem for LLMs in security tasks: the model's knowledge is limited by its training date, and vulnerabilities appear daily. RAG allows "connecting" the model to up-to-date databases:
- NVD / CVE database — current vulnerability descriptions, CVSS scores, affected versions
- OSV (Open Source Vulnerabilities) — Google's database for open source; Sec-Gemini v1 uses OSV natively
- Mandiant threat intelligence — real TTPs, IOCs from attackers (Google AI Threat Defense)
- Organization's own codebase — a vector database with semantic search across the entire repository
- CISA KEV (Known Exploited Vulnerabilities) — a list of actively exploited vulnerabilities — the highest priority for patching
More details on the architecture of RAG systems and practical implementation with pgvector and Spring AI can be found in our article "How RAG Works: Retrieval-Augmented Generation with Spring AI and pgvector".
🔍 How GPT-5.5-Cyber Analyzes Source Code
Source code analysis is the most common and mature use case for AI in cybersecurity. Here, GPT-5.5 (and GPT-5.5-Cyber) show the most predictable and verified results.
Static Analysis: What AI Sees in Code
Classic static analysis involves searching for vulnerabilities in code without executing it. LLMs do this differently than traditional SAST tools like Checkmarx or Fortify. Where traditional SAST builds an AST (Abstract Syntax Tree) and searches for patterns based on predefined rules, GPT-5.5 understands code semantics — it can detect vulnerabilities arising from business logic that cannot be described by a simple rule.
For example, traditional SAST will easily find query = "SELECT * FROM users WHERE id = " + userId as an SQL injection. But it will miss an IDOR (Insecure Direct Object Reference) vulnerability where the logical access control is implemented incorrectly — because there's no "bad pattern" at the syntax level, there's a flaw in the business logic.
A typical prompt for code review in the Trusted Access for Cyber format:
Analyze the attached code snippet within the context of the OWASP Top 10.
Identify any potential injection points or broken access control issues.
Then, provide a validated patch that adheres to secure coding best practices
and explain how to test this patch in a sandbox environment.
Codex Security (OpenAI's plugin for code repositories) implements this approach on an industrial scale: it generates severity-rated reports with affected code locations, attack path tracing, and codebase-specific patches for human review. From March to June 2026, it scanned 30+ million commits across 30,000+ repositories (Cyber Security News).
Finding Vulnerability Patterns: Taint Analysis via LLM
Classic taint analysis tracks "tainted" data from a source (user input) to a "sink" (functions that perform dangerous operations), checking for sanitization in between. LLMs perform a semantic equivalent of this process:
- Identifies all input points: HTTP parameters, headers, files, environment variables
- Tracks data flow through functions and transformations
- Finds "sinks" — places where this data is used dangerously: SQL queries, shell commands, HTML rendering
- Analyzes whether there is validation, sanitization, or parameterization between them
Contextual Understanding of the Application
The main advantage of LLMs over traditional SAST tools is their ability to understand context. GPT-5.5, with its large context window (1M tokens), can hold the entire repository in memory and detect vulnerabilities arising from interactions between modules. Example: an authorization vulnerability where module A correctly checks permissions, but module B, which calls A, passes the user ID bypassing the check. A traditional SAST would miss this — an LLM would see the cross-module flow.
⚠️ Critical Warning: 45% of AI-generated code in 2026 contains OWASP vulnerabilities (Digital Applied). The AI that finds vulnerabilities in code — and the AI that generates that code — are often the same model. Human review remains mandatory for both sides of this process.
🎯 OWASP Top 10 Search: What AI Finds and What It Misses
OWASP Top 10 is the standard list of the most common web application vulnerabilities. Let's break down each category from the perspective of how well AI handles its detection, and where blind spots remain.
SQL Injection (A03:2021)
AI Finds Well: String concatenation in SQL queries, lack of parameterized queries, using string formatting instead of prepared statements.
Example of vulnerable code that AI will detect instantly:
// Node.js — vulnerable code
const query = `SELECT * FROM users WHERE email = '${req.body.email}'`;
db.execute(query);
// Correct version (AI will suggest this)
const query = 'SELECT * FROM users WHERE email = ?';
db.execute(query, [req.body.email]);
AI May Miss: Second-order SQL injection (where data is first stored "safely" and then used in a vulnerable query later); injection through stored procedures with dynamic SQL inside.
Cross-Site Scripting — XSS (A03:2021)
AI Finds Well: Reflected XSS through direct rendering of user input in HTML; stored XSS through database storage and subsequent rendering without escaping; innerHTML / document.write with user-controlled data.
// Vulnerable React code (AI will find)
function Comment({ text }) {
return <div dangerouslySetInnerHTML={{ __html: text }} />;
}
// Safe version
function Comment({ text }) {
return <div>{text}</div>;
}
AI May Miss: DOM-based XSS in complex SPAs with indirect DOM manipulations via event handlers; mXSS (mutation XSS), where a sanitizer is transformed in the browser into dangerous markup.
Server-Side Request Forgery — SSRF (A10:2021)
AI Finds Well: fetch/curl functions with user-controlled URLs without validation; webhook functionality without an allowlist; URL redirects that can be used for SSRF.
// Python — vulnerable code (SSRF)
@app.route('/fetch')
def fetch_url():
url = request.args.get('url')
response = requests.get(url) # No validation!
return response.text
# Safe version — AI will suggest an allowlist
ALLOWED_DOMAINS = {'api.trusted.com', 'cdn.trusted.com'}
def is_safe_url(url):
parsed = urlparse(url)
return parsed.hostname in ALLOWED_DOMAINS
AI May Miss: Blind SSRF without direct response leakage; SSRF via DNS rebinding; SSRF via redirects in third-party libraries with automatic redirect following.
Insecure Direct Object Reference — IDOR (A01:2021)
IDOR is the most difficult category for AI because it's about business logic, not syntax. The vulnerability arises when an application uses a predictable identifier to access an object without checking if the current user has permission for that object.
// Express.js — vulnerable code (IDOR)
app.get('/api/orders/:orderId', async (req, res) => {
const order = await Order.findById(req.params.orderId);
res.json(order); // No check: does the order belong to req.user?
});
// Safe version
app.get('/api/orders/:orderId', async (req, res) => {
const order = await Order.findOne({
_id: req.params.orderId,
userId: req.user.id // Owner check
});
if (!order) return res.status(403).json({ error: 'Forbidden' });
res.json(order);
});
AI finds IDOR better than traditional SAST — but only if the data schema and authorization middleware are present in the context. Without understanding the access rights structure, the model often produces false positives or, conversely, misses real issues.
Command Injection (A03:2021)
AI Finds Well: Shell calls with user-controlled parameters; exec(), system(), subprocess.call(shell=True) with concatenation.
# Python — vulnerable code (Command Injection)
import subprocess
filename = request.form['filename']
result = subprocess.run(f'cat /uploads/{filename}', shell=True, capture_output=True)
# Safe version — AI recommends
result = subprocess.run(['cat', f'/uploads/{filename}'], capture_output=True)
# Or even better — avoid shell altogether and read the file via Python
🦠 Malware Analysis: From Disassembly to Report
Malware analysis is one of the tasks where GPT-5.5-Cyber shows a significant advantage over base GPT-5.5: more allowed operations with suspicious samples, fewer refusals when working with exploit-like code.
Analyzing Suspicious Code Functions
Typical malware analysis workflow with an AI assistant:
- Upload the sample to a sandbox environment (never on production!)
- Obtain disassembled or decompiled code via Ghidra/IDA Pro
- Feed it to GPT-5.5-Cyber for semantic analysis
Effective prompt for analyzing a malware function:
You are a malware analyst. Analyze the following decompiled function.
Identify: 1) What this function does technically,
2) Any indicators of malicious behavior (C2 communication, persistence,
evasion, data exfiltration), 3) MITRE ATT&CK techniques if applicable,
4) Suspicious strings, API calls, or obfuscation patterns.
[decompiled function code here]
Detecting Suspicious Behavior
AI is particularly effective at detecting the following classes of suspicious behavior:
- C2 communication patterns — encoded URLs, DGA (Domain Generation Algorithms), unusual ports or protocols
- Persistence mechanisms — registry writes, task scheduler, startup folders, cron jobs
- Evasion techniques — sleep loops to bypass sandbox, checking CPU count or mouse presence, string obfuscation
- Anti-analysis tricks — IsDebuggerPresent, anti-VM checks, checking username/hostname for typical sandbox names
- Data exfiltration — system information gathering, keylogging patterns, screenshots, searching for files by extension
Automatic Report Generation
After analysis, GPT-5.5-Cyber can generate a structured IOC report in STIX/TAXII or markdown formats with:
- File hashes (MD5, SHA-256)
- Suspicious strings and IP addresses for blocking
- MITRE ATT&CK tactics and techniques (T-numbers)
- Yara rules for detecting similar samples
- Recommendations for EDR and SIEM
⚠️ Important: Malware analysis must always be conducted in an isolated sandbox environment. Never run suspicious files on your work machine, even if you "just want to check one file." GPT-5.5-Cyber analyzes code, it doesn't execute it — but uploaded files must be isolated before analysis begins.
🔧 Reverse Engineering of Binaries
Reverse engineering is the most technically challenging area where an AI assistant can significantly speed up the work of an experienced analyst, but it cannot replace them.
Analyzing Disassembled Code
Process with GPT-5.5-Cyber:
- Load the binary into Ghidra or IDA Pro
- Export the disassembled or decompiled pseudocode
- Feed the functions to GPT-5.5-Cyber for explanation
// Example: explaining a suspicious function via prompt
"Explain what this decompiled C function does. Focus on:
- Data structures it manipulates
- Network or file system operations
- Crypto operations (if any)
- Potential vulnerabilities or malicious patterns
- Rename variables to meaningful names based on context"
AI performs well with:
- Renaming unreadable
var_8, param_1 to semantically meaningful names
- Explaining encryption and hashing algorithms in pseudocode
- Identifying known library functions in stripped binaries
- Recognizing patterns of typical exploit primitives
Finding Indicators of Compromise (IOC)
After analyzing the binary, AI can automatically extract IOCs:
- Hardcoded strings — C2 addresses, URLs, passwords, keys
- Mutex names — unique mutexes for single-instance malware
- Registry keys — persistence mechanisms via the registry
- File paths — where malware places its components
- API call patterns — characteristic sequences of Windows API calls
Example of an automatic Yara rule generated by GPT-5.5-Cyber based on sample analysis:
rule Suspicious_AsyncRAT_Variant {
meta:
description = "Detects AsyncRAT-like malware based on behavioral patterns"
date = "2026-06"
severity = "high"
strings:
$mutex = "AsyncMutex_6SI8OkPnk" nocase
$c2_pattern = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{4,5}/
$anti_vm1 = "VBOX" nocase
$anti_vm2 = "vmware" nocase
$persistence = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" nocase
condition:
uint16(0) == 0x5A4D and
$mutex and
$c2_pattern and
($anti_vm1 or $anti_vm2) and
$persistence
}
🤖 AI Agents for Automated Vulnerability Discovery
Agent mode is a fundamentally different level of capability compared to simple code review. Here, the model doesn't answer questions but independently performs multi-step tasks in an authorized environment.
What an Agent Loop Looks Like in Practice
AISI, in its benchmark, describes the GPT-5.5 agent cycle as the model being "placed on the network with an objective and must find and execute the full attack path autonomously" (AISI, 2026). But for practical penetration testing, an agent looks like this:
// Pseudocode for an agent vulnerability scanning workflow
Objective: "Find and document OWASP vulnerabilities in the authorized
target application at https://authorized-target.internal"
Step 1: Reconnaissance
→ tool_call: nmap_scan(target="authorized-target.internal")
→ observe: "Open ports: 80 (HTTP), 443 (HTTPS), 3306 (MySQL)"
Step 2: Technology fingerprint
→ tool_call: whatweb_scan(url="https://authorized-target.internal")
→ observe: "Node.js 20.x, Express 4.x, MySQL 8.0, React 18"
Step 3: Static analysis
→ tool_call: semgrep_scan(repo_url="...", config="p/owasp-top-ten")
→ observe: "17 findings: 3 HIGH (SQL injection), 8 MEDIUM, 6 LOW"
Step 4: Deep analysis of HIGH findings
→ tool_call: get_file_context(file="src/api/users.js", lines="45-67")
→ reason: "Confirm if SQLi is exploitable given ORM usage"
→ observe: "Raw query construction confirmed in line 52"
Step 5: PoC generation (GPT-5.5-Cyber only, authorized target)
→ tool_call: execute_in_sandbox(payload="' OR 1=1 --")
→ observe: "200 OK, returned 847 user records — CONFIRMED exploitable"
Step 6: Patch generation + report
→ generate: parameterized query fix
→ generate: CVSS score, remediation guidance, test case
Tool Use: Which Tools Codex Security Integrates
The updated Codex Security plugin (June 22, 2026) supports integration with:
- SARIF exports — a standard format for integration with GitHub Advanced Security, Azure DevOps
- CodeQL queries — the model can generate CodeQL queries for specific vulnerabilities
- Vulnerability management pipelines — integration with Jira, ServiceNow for automatic ticket creation
- CI/CD hooks — GitHub Actions workflow for automatic scanning on PRs
Example GitHub Actions workflow with Codex Security and AI-assisted review:
name: security-review
on:
pull_request:
push:
branches: [ main ]
jobs:
static-security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Semgrep (OWASP Top 10)
run: |
pipx install semgrep
semgrep scan --config p/owasp-top-ten --sarif \
--output semgrep.sarif || true
- name: Upload security artifacts
uses: actions/upload-artifact@v4
with:
name: security-artifacts
path: semgrep.sarif
# Next, Codex Security analyzes sarif and generates
# a severity-rated report with patches for human review
Workflow source: Penligent AI, June 2026.
📋 Real-World Cases: What GPT-5.5 Has Already Found
This is the most important section for evaluating real capabilities — not benchmarks, but confirmed public cases.
CVE-2026-8390: WebAssembly in Firefox
OpenAI Preparedness discovered a use-after-free vulnerability in Firefox's JavaScript/WebAssembly component during safety evaluations using GPT-5.5. Mozilla received the report and released a patch in Firefox 150.0.3 two days before Pwn2Own Berlin — meaning before external researchers could publicly demonstrate the vulnerability (Developer Tech).
Why this is important: AI found a vulnerability in a browser engine — a complex system with millions of lines of code — autonomously, without targeted searching specifically in WebAssembly. This illustrates the agent approach's ability to find vulnerabilities where no one was looking.
dnsmasq: Four CVEs Before Official Fix
Trail of Bits with Codex Security built a fuzzing lab that covered dozens of entry points for the dnsmasq project. The result was the detection of patterns corresponding to four CVEs before their external fix in version 2.92rel2:
- CVE-2026-4890 — DNSSEC validation infinite-loop flaw (remote DoS)
- CVE-2026-4891 — heap-based out-of-bounds read in DNSSEC validation
- CVE-2026-4892 — heap-based out-of-bounds write in DHCPv6 implementation
- CVE-2026-5172 — additional DNSSEC/DHCP vulnerability
Source: Penligent AI | CERT/CC advisory
HTTP/2 Bomb: 880,000 Servers at Risk
Calif (a Patch the Planet partner) used Codex Security to detect HTTP/2 Bomb — a denial-of-service technique affecting Apache, NGINX, IIS, and Pingora. It was estimated that over 880,000 internet servers were vulnerable (Developer Tech). Coordinated disclosure allowed maintainers to prepare patches before public disclosure.
Chrome V8 and Safari WebKit
OpenAI researchers documented and responsibly disclosed:
- 5 exploitable vulnerabilities in the Chrome V8 JavaScript engine
- 10+ vulnerabilities in Safari WebKit
⚠️ Limitations: Where AI Makes Mistakes and Why Humans Are Irreplaceable
An honest assessment of a tool requires understanding not only what it can do, but also where it regularly makes mistakes.
False positives: incorrect detections
According to OWASP, traditional SAST tools generate between 35% and 80% false positives depending on configuration. AI-assisted analysis improves this metric through semantic understanding of context — but does not eliminate the problem. Typical sources of false positives for LLMs:
- Sanitization implemented in separate middleware that the model doesn't see in local context
- ORMs that hide dangerous operations behind a safe API (ActiveRecord, Hibernate)
- Vendor-specific security controls not described in publicly available documentation
- Test code that intentionally contains "vulnerable" code to test safety controls
Hallucinated security fixes: the most dangerous type of error
If AI generates a false positive, the team wastes time. If AI generates a hallucinated security fix, the situation is worse: the code appears secure, passes review, is deployed to production, and leaves a real vulnerability open.
Example: AI might suggest an SQL injection "fix" via an escape() function, which actually exists but is not sufficient protection in a specific DB context. Or it might suggest HTML encoding as protection against SSRF, which doesn't solve the problem at all. This is why all AI-generated patches require mandatory testing in a staging environment (MindWired AI).
Runtime vs. static: the main architectural boundary
AI (including GPT-5.5-Cyber in most workflows) confirms vulnerabilities statically. Real exploitability depends on runtime state: active sessions, in-memory state, network rules, WAF configurations. Without runtime validation, some "confirmed" findings turn out to be non-exploitable in a specific production environment. MindFort AI describes this as "10,000 maybes instead of verified findings."
Access limitations: a real problem for most teams
GPT-5.5-Cyber is only for Daybreak partners. TAC requires verification. Even basic GPT-5.5 with TAC is not available without going through a verification process. For most security teams in 2026, realistically available tools are: standard GPT-5.5 (with limitations), Claude Opus 4.8, Gemini. Do not plan your workflow around GPT-5.5-Cyber if you do not yet have TAC access.
Recommended workflow model: five phases with clear division
Penligent AI offers a practical model where AI and humans have clear areas of responsibility (Penligent AI):
| Phase |
Who performs |
What happens |
| 1. Discovery |
AI (autonomous) |
Non-blocking alerts for security team review |
| 2. Validation |
AI + human |
Blocking only high-confidence confirmed findings |
| 3. Prioritization |
AI + human |
Automatic ticket creation with evidence for accepted findings |
| 4. Remediation |
AI (draft) + human (review) |
Requirement for regression tests for security fixes |
| 5. Verification |
Human (merge button) |
Retest patched behavior before release; human decides what to merge |
💡 Key principle from Penligent AI: "Blocking decisions should be based on confidence, severity, and maturity of the rule or finding type. AI can summarize artifacts, propose patches, and draft tickets. Blocking decisions should remain with humans." The machine automates stages 1–4; the human remains the decision owner at step 5.
🔮 The Future of AI in Cybersecurity: What's Already Real, What's Not Yet
Automated vulnerability remediation: already partially real
CodeMender (Google) and Codex Security (OpenAI) already generate patches automatically. But "automatic remediation" in 2026 means: AI proposes a patch → human verifies → human merges. A fully autonomous "find → fix → deploy without human" cycle is not yet real for production systems due to sound security reasons.
AI Bug Bounty: new dynamics
AI has significantly lowered the barrier to entry for bug bounty. But this creates a new problem — a flood of low-quality AI-generated reports. OpenSSF held a separate discussion in February 2026 about "AI Junk Reports": only about 5% of bounty submissions from AI-assisted researchers were real vulnerabilities (Moomoo). Leading bug bounty platforms are already introducing or discussing new rules regarding AI-assisted submissions.
Autonomous security agents: the frontier is now, general access is in the future
Claude Mythos and GPT-5.5-Cyber are already demonstrating near-autonomous vulnerability discovery: 73% CTF success rate (AISI), completion of a 32-step corporate network attack simulation. But these capabilities are behind verification. For the mass market, the transition from "AI-assisted" to "AI-autonomous" security is a matter of 2-3 years, not today.
The most accurate prediction was formulated by Digital Applied: "The scarce, defensible human work migrates to judgment — deciding which findings are real and reachable, whether a machine-generated patch is safe to merge, and how to sequence disclosure responsibly. The tools change which step is the bottleneck; they do not remove the need for a human to own the decision at the merge button." (Digital Applied)
✅ Conclusions
A technical breakdown of GPT-5.5-Cyber in 2026 provides a clear picture: AI-assisted vulnerability research has moved from an "interesting experiment" to an "industrial tool" — but with very specific boundaries.
- 🔍 Static code analysis — mature and useful right now; AI significantly accelerates triage and finds business-logic vulnerabilities that traditional SAST misses
- 🦠 Malware analysis — significant acceleration for experienced analysts; automatic generation of IOCs and Yara rules truly saves hours
- 🤖 Agentic vulnerability discovery — powerful, but requires authorized environments and verified access; for most teams — it will arrive in 1-2 years
- ⚠️ Main limitation — AI does not confirm exploitability at runtime without special middleware; 45%