Агентные кейсы
Безопасность, наука и железо

Реверс-инжиниринг Go-бинарника через Ghidra MCP в Cursor, одна уязвимость пропущена

Хули подключил GhidraMCP к Cursor, и агент определил бинарник на Go, восстановил маршруты и нашёл обход пути. SQL-инъекцию модель composer 1.5 пропустила, а Opus 4.6 на том же промпте нашла обе уязвимости.

Сделано сCursor

Что сделали

Хули собрал на Go сервер на gin без отладочных символов и специально оставил в нём SQL-инъекцию и обход пути. Он загрузил его в Ghidra с расширением GolangAnalyzerExtension и подключил GhidraMCP к Cursor, чтобы агент сам вызывал декомпилятор Ghidra. Сначала агента попросили только определить бинарник и его функции, и он сам обращался к MCP. Потом его попросили восстановить исходный код на Go и проверить уязвимости.

Что получилось

С моделью composer 1.5 Cursor правильно восстановил маршруты, библиотеки и структуру файлов (с мелкими ошибками в названиях маршрутов) и нашёл обход пути. А код с SQL-инъекцией он восстановил как уже исправленный и уязвимость пропустил. Opus 4.6 на том же промпте поймала обе уязвимости, но тоже перепутала названия некоторых маршрутов.

На что обратить внимание

Результат сильно зависит от модели. Более слабая composer 1.5 пропустила SQL-инъекцию, которую более сильная Opus 4.6 нашла с тем же промптом.

Пояснение

Ghidra это бесплатный инструмент АНБ для реверс-инжиниринга, он разбирает скомпилированные программы обратно в читаемый код. Обход пути (path traversal) это уязвимость, через которую можно прочитать файлы за пределами разрешённой папки. Бинарник без отладочных символов (stripped) не хранит имён функций, поэтому разбирать его сложнее.

Кому пригодится

Специалистам по безопасности и участникам CTF, которые хотят попробовать ИИ-агента в разборе бинарников.

Попробуйте сами с Cursor

Подключись к Ghidra через MCP и разбери этот бинарник на Go [путь или название], определи его маршруты и эндпоинты, затем поищи уязвимости вроде path traversal или SQL-инъекции. Дай отчёт о найденном и отметь всё, в чём не уверен, чтобы я перепроверил вручную.

Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗

Читать оригинал ↗

Источник: blog.huli.tw ·

Похожие кейсы

Прототипы фич без навыков программирования в Cursor

Основатель Эрик Сяо с помощью агентов Cursor нашёл пробелы в прототипе планировщика поездок, получил ASCII-вайрфреймы и реализовал фичу параллельными агентами в worktree. Результатов сборки в посте нет, только заявление о прототипе примерно за 30 минут.

Конфликты замыслов между параллельными агентами Claude Code, Codex и Cursor в Foremerge

Foremerge заставляет агентов Claude Code, Codex или Cursor объявлять планы до правки кода. В демо он поднял тревогу о конфликте архитектурных изменений в параллельных worktree ещё до того, как изменился хоть один файл.