
Инженер без опыта в ИБ нашел реальные уязвимости в ClickHouse с помощью ИИ
Бывший ведущий инженер Akamai Цветан Стойчев рассказал в блоге ClickHouse, как находит реальные уязвимости в коде популярной аналитической базы данных, почти не будучи специалистом по информационной безопасности. Помощником выступает ИИ — связка из GitHub Copilot, Claude Opus и моделей Gemini. Несколько найденных дыр оказались серьезными: Стойчев сообщил о них в баг-баунти программу ClickHouse и получил выплаты.
ClickHouse написан на C++ — это большой и зрелый проект, где простые ошибки давно вычищены, а оставшиеся прячутся глубоко. Схема Стойчева выглядит так: он просит ИИ-агента просмотреть свежий код и выдвинуть гипотезы, где может скрываться уязвимость. Потом берет одну гипотезу и поручает агенту написать на Python скрипт, который попробует воспроизвести проблему на тестовом ClickHouse, запущенном локально в Docker. Если результат выглядит убедительно, инженер проверяет все вручную. Главный вывод автора: лучше всего работает не сложная автоматизация с цепочками агентов, а один управляемый агент, за которым внимательно следишь.
Тут и кроется главная ловушка. Модели почти всегда возвращают красивые находки с пометками "высокая" и "критическая" опасность — но большинство из них галлюцинации и ложные срабатывания. Отличить настоящую уязвимость от выдуманной можно только руками: на подготовку одного честного отчета у Стойчева уходит от трех до четырех часов, и этот этап он принципиально не автоматизирует. Любопытно, что новичку это даже помогает — там, где опытный исследователь увидел бы защиту и решил "тупик", Стойчев по незнанию продолжал давить на агента вопросами "почему?" и "а как иначе?", и пару раз это выводило на реальные баги.
Чтобы агент меньше врал и не ходил по кругу, автор делится несколькими приемами:
удаляет из
Читать на habr.com