Зовні паритет, всередині починається лотерея
Найважливіший факт тут неприємно простий: на одному й тому ж додатку в той самий день моделі розійшлися на 48 балів у білому ящику. У вихідному звіті з тестовими прогонами це виглядає дуже жорстко: Kimi K3 отримала 88/100, Claude Opus 4.8 70/100, GPT-5.5 40/100.
При цьому у зовнішній розвідці різниці майже не було. Усі три моделі видали однаковий набір: 7 знахідок, 0 CVE, 5 IP-адрес і 10 портів. Тобто базовий recon уже справді став commodity: сканер знайшов, модель переказала.
А от після надання доступу почався хаос. Kimi K3, за описом автора прогону, спочатку прочитала фронтенд, витягла структуру API і пройшлася по ній як по карті: 20 кроків, 20 знахідок, 3 живих експлойти, 0 збоїв.
Claude Opus 4.8 виглядала стабільнішою за поведінкою, але слабшою за покриттям: 11 кроків, 2 знахідки, 0 збоїв. Підтвердила доступ, прочитала одне джерело даних і просто зупинилася. Таке в red teaming особливо дратує: формально модель не впала, а по суті недообстежила ціль.
GPT-5.5, навпаки, рухалася найдовше, але поїхала не туди. У звіті сказано, що модель рано вирішила, ніби облікові дані не працюють, до цього рішення не повернулася, пішла в публічну поверхню і в результаті дала хибний висновок: 18 кроків, 8 знахідок, 3 збої.
Окремо вражає вартість процесу. За тими ж нотатками Kimi витрачала близько 23k токенів на одну знахідку, Claude близько 280k. Якщо цифри записані коректно, це не просто різниця в ціні, а різниця в тому, як модель взагалі тримає робочу траєкторію.
Чому це важливо саме для практики
Головний висновок тут не про те, яка модель "перемогла". Головний висновок у тому, що фрази "нічого не знайшли" і "модель не змогла нормально перевірити" у звіті легко маскуються одна під одну.
Тому я б дивився не на фінальний severity, а на механіку прогону: скільки було кроків, де модель застрягла, чи поверталася до гіпотез, що саме покрила після логіну. Низький бал тут не дорівнює безпеці. Він часто означає тільки одне: критичний шлях не був доведений.
І це вже не академічна тонкість. Якщо одна модель ставить "середній", а інша на тій же цілі витягує критичний сценарій із живими експлойтами, проблема не в красі бенчмарку, а в хибному відчутті закритого ризику.
З цього кейсу я б виніс дуже приземлене правило: authenticated testing не можна зводити до одного агента й одного вердикту. Зовні LLM уже досить рівні, а всередині додатку в них досі забагато випадковості, щоб плутати мовчання моделі з відсутністю вразливості.