Цикл DevSecOps GitLab Duo, в котором второй ИИ повторно атакует каждое исправление, написанное ИИ, сохраняя каждый успешный обход как постоянное антитело, воспроизводимое в CI и production.
Каждое изменение кода, написанное ИИ, должно выдержать атаку второго ИИ — с доказательством — прежде чем ему будет разрешено попасть в продакшен.

Antibody — это конвейер GitLab Duo для хакатона «Life After Code» (Transcend). Он относится к кодовой базе как к иммунной системе: когда один ИИ исправляет уязвимость, второй ИИ продолжает атаковать исправление, пока оно действительно не устоит, и каждая атака, которая когда-либо сработала, навсегда сохраняется как «антитело» и повторно проверяется при каждом будущем изменении и против живого продакшена. Отдельный, намеренно не-ИИ проверяющий следит за тем, чтобы агент-исправитель не жульничал.
Исправителю никогда не верят на слово. Он должен выстоять против атакующего, а тупой честный проверяющий охраняет тесты.
Инструменты «ИИ атакует ИИ» уже существуют (Helios, MindFort, Strix, Novee). Они подтверждают, что исходный эксплойт теперь заблокирован. Antibody делает четыре вещи, которые по состоянию на 2026 год всё ещё встречаются только в научных статьях:
/download был сломан, проверьте, нет ли у /preview той же отсутствующей защиты — ошибка обычно прячется на маршруте вне диффа.CODEOWNERS, потому что изменение никогда не должно валидировать само себя.Каждое проектное решение восходит к статье, а не к догадке:
| Находка | Статья | Цифры |
|---|---|---|
| Патчи проходят тесты, но остаются эксплуатируемыми («тихие сбои»); LLM-ревьюеры их пропускают | When Passing Tests Hides Vulnerabilities (Тампере) — arXiv 2609.10548 | 170 из 1 030 трассировок исправлений тихо провалились; 22 критических |
| Исправление блокирует только тот payload, на котором его тестировали | P2Patch (Саймон Фрейзер) — arXiv 2610.20245 | свежая атака обошла уже «исправленные» патчи в 41% прогонов; превращение обходов в постоянные требования подняло покрытие с 42,1% до 62,5% |
| Та же ошибка прячется на соседнем маршруте вне диффа | PRGuard (Бристоль) — arXiv 2608.25730 | в 3 раза больше ошибок типа «отсутствие» найдено, чем коммерческим ревьюером |
| Изменения CI от агентов сливаются без ревью → «циклическая верификация» | Co-Modifying Code and Infra (UNSW) — arXiv 2610.12849 | 43–56% PR агентов с двойной областью слиты без ревью |
| Агенты жульничают с оценщиком, когда вознаграждаются за зелёный результат | Hacktrace (NTU) — arXiv 2610.03055 | ~19,5% прогонов пошли на сокращённый путь с подменой тестов |
Последняя находка — причина, по которой Warden не является ИИ: LLM-ревьюера можно переубедить отказаться от вердикта; проверяющего на основе git-diff — нельзя.
┌─────────────────────────── issue created ───────────────────────────┐
│ │
▼ │
[Builder AI] fix on a shadow branch, open MR │
│ │
▼ │
GitLab SAST + Dependency Scanning → findings become the Red agent's targets │
│ │
▼ │
[Red AI] real HTTP exploit that REPRODUCES on the old code │
│ │
▼ │
[Builder AI] harden until blocked │
│ │
▼ │
[Red AI] re-attack the NEW fix: new payload + same bug on SIBLING routes │
│ every bypass saved forever as an antibody (≤2 rounds) │
▼ │
[Warden] (not an AI) no deleted/weakened/skipped tests, no hidden CI/auth edit │
│ │
▼ │
autonomy gate: touches CI/auth/CODEOWNERS → Supervised, else Hands-off │
│ │
▼ │
[Package] signed container + SBOM + proof bundle │
│ │
▼ │
[Release → Configure] deploy to the lowest-carbon Cloud Run region, │
│ replay every antibody against staging, then promote │
▼ │
[Monitor] scheduled probe replays ALL antibodies against production forever ──┘
any reproduction → auto-opens an incident issue → loop restarts
Всё ниже — реальный снимок из этого репозитория, а не макет.
Девятиэтапный конвейер, зелёный на GitLab. Каждый выполненный этап пройден, включая реальную сборку контейнера, отправленную в реестр проекта. configure и monitor корректно пропускаются, пока не настроены проект Cloud Run и расписание. Открыть конвейер.

Атаки на принадлежащую нам приманку блокируются; обычное использование по-прежнему работает. Закодированный обход каталогов, соседний маршрут, не-HTTP схема и межпользовательское чтение объекта — всё отклоняется, при этом легитимный документ и собственный заказ владельца выдаются.