INTROВсем привет!В первой статье я рассказал вам о том, как настроить интеграцию HexStrike-AI и OpenCode, чтобы получить инструмент для занятий настоящим вайб-пINTROВсем привет!В первой статье я рассказал вам о том, как настроить интеграцию HexStrike-AI и OpenCode, чтобы получить инструмент для занятий настоящим вайб-п

Может ли AI-агент решить всю CTF-площадку?

eb5cb56d16faed0323e9a282b7ac1099.jpg

INTRO

Всем привет!

В первой статье я рассказал вам о том, как настроить интеграцию HexStrike-AI и OpenCode, чтобы получить инструмент для занятий настоящим вайб-пентестом. Мы всё настроили, испытали на одной из CTF-задач и получили, имхо, фантастический результат. Более того, все используемые компоненты - Open Source, а OpenCode предлагает несколько бесплатных AI-моделей для использования, что позволяет настроить и использовать эти инструменты каждому! Прошло почти 2 недели после первой статьи и в этой я хочу поделиться своими мыслями, найденными проблемами, а также мы продолжим улучшать наш инструментарий, работая над простой идеей.

Идея: Инструмент решения отдельных CTF-задач у нас есть, а можно ли и, если да, то как автоматизировать решение сразу всех задач CTF-площадки? Также, в процессе, я покажу несколько неочевидных, на первый взгляд, кейсов использования OpenCode.

Как думаете, сейчас это реально? Интересно? Тогда давайте делать! Но прежде, как и в первой статье:


ВАЖНО!

Все материалы данной статьи носят исключительно образовательный характер. Любые действия, связанные с анализом защищённости, тестированием на проникновение или доступом к компьютерной информации без явного согласия владельца ресурса или соответствующих полномочий могут быть квалифицированы как правонарушение в соответствии с законодательством Российской Федерации. В частности, Уголовный кодекс РФ предусматривает ответственность за неправомерный доступ к охраняемой законом компьютерной информации (статья 272 УК РФ) — вплоть до уголовной ответственности за деяния, совершённые без согласия правообладателя информации.

Пожалуйста, всегда действуйте очень осторожно, обдуманно и только в рамках закона!


Мои мысли после 2 недель использования и экспериментов

Произошёл какой-то перелом в скорости разработки. Посмотрите на то, как обновляется OpenCode:

0d9ee9da81557430501506e287a21293.jpg

По несколько релизов в день! Я сделал вывод, что к подобной скорости изменений нужно привыкать! В подтверждение своего вывода, я приведу скрин поста CEO Vercel, который пишет о том, что на их платформе хостинга скиллов для AI-агентов каждый час добавляется 550 новых скиллов!

991f652febf3d7be48d6e41461058e83.jpg

Скорости развития просто поразительные! Но давайте к сути.

Даём OpenCode доступ к браузеру

Мы с вами говорим о максимальной автоматизации решения CTF. Первое, что нужно сделать - это дать возможность OpenCode работать с браузером. Нам нужно, чтобы OpenCode:

  • Мог сам находить задания на CTF-площадке;

  • Если в задании есть файл, он должен иметь возможность сам его скачать;

  • После решения задачи он должен сам вставить найденный флаг и подтвердить решение задачи.

Для решения этих задач будем использовать Crome DevTools MCP.

dcca400af2649d94d5c4d2c7a806dd53.jpg

Как видно на скриншоте, это то, что нам и нужно! Ниже описаны требования для установки:

2e014dc021c88c24fd2613cc661c0f62.jpg

Но тут давайте мы остановимся и осознаем одну не самую очевидную вещь: мы установили и настроили OpenCode - AI-агента для разработки и пентеста. А почему бы нам его не использовать в т. ч. для установки необходимого окружения? Вайб-инсталляция возможна?

Открываем OpenCode.

Переходим в режим Plan и задаём агенту простой вопрос
Переходим в режим Plan и задаём агенту простой вопрос

Отдельно хочу сказать, что по умолчанию в OpenCode есть 2 агента, или 2 режима работы: Plan и Build. Переключение между ними осуществляется клавишей TAB.

Plan - режим, который служит для планирования (окно агента становится фиолетовым). Ключевое - агент не имеет доступ на создание файлов и запись.

Build - режим, при котором агент имеет доступ к вашей файловой системе на создание и запись (окно агента синего цвета).

Переходим в режим Plan и задаём агенту вопрос, см. скриншот выше. По итогу я получил следующий ответ:

80e8a8f04d9e035a58121504bcd1a699.jpg

Тут всё логично: Node.js пришел как зависимость при обновлении Kali Linux. Давайте попробуем разрешить corepack. Тут, поскольку нам для установки потребуется root-пароль, я установил npm в отдельном терминале:

b2cd71c8eac278f05cc982f678c0c260.jpg

Опять просим OpenCode проверить, корректно ли установлены node и npm?

Всё корректно
Всё корректно

Теперь в OpenCode с помощью команды /new открываем новую сессию и пишем:

Спустя какое-то время получаем результат:

ef839b1cdc46d625fccd6cff0cf74a12.jpg

Чтобы проверить и убедиться, закрываем и снова открываем OpenCode. Вводим команду /mcps и видим, что второй наш MCP установлен корректно.

Chrome DevTools MCP установлен и настроен
Chrome DevTools MCP установлен и настроен

Основная часть

Теперь наш агент может работать с браузером. Для наших экспериментов мы продолжим использовать CTF-площадку https://ctf.bug-makers.ru/, тем более, что после первой статьи мне написали её представители и сказали, что не против моих экспериментов.

Карточка задачи
Карточка задачи

Логика эксперимент следующая: Берём все задачи определённой категории (я взял WEB, т.к. у нас всё же пентест в приоритете) и просим агента решить все задачи из этой категории. Как я писал в первой статье, промпт (текстовый запрос к агенту) очень важен, т.к. чем более детально вы опишите задачу, тем лучше и быстрее агент её выполнит. После нескольких попыток, я сформировал следующий запрос:

Тебе необходимо решить все задачи категории WEB с https://ctf.bug-makers.ru/challenges. Будь внимателен, в этой категории сейчас 18 задач, те, которые отмечены зелёным - решены. Полное задание бери из карточки задачи. В некоторых заданиях приложены файлы, которые должны помочь решить задание. Файлы скачивай и используй для решения. Когда задача решена и найден флаг, то внеси его в карточку соответсвующией задачи в поле Флаг и нажми кнопку Отправить. Если флаг корректный, то карточка задачи становится зелёной и задача считается решённой Use chrome-devtools Use hexstrike

После старта, агент попросит вас авторизоваться на площадке ну и начнёт работу. Этому эксперименту я посвятил 4 часа и вот что у меня получилось:

Результат и выводы

Чтобы вас не томить, вот что получилось за 4 часа:

4968961af831f9e190a1a0752675c016.jpg

8 решённых задач. После этого я остановил эксперимент.

Основной вывод: Подход, когда мы вот так топорно 1 запросом просим решить агента все задачи - не работает!

Проблемы:

! Агент, спустя какое-то время, начинает терять контекст своих рассуждений. Приходится его останавливать и поправлять (именно поэтому я ограничил в эксперименте категорию задач только задачами WEB).

! OpenCode плохо работает с внешними MCP, ответ которых большой и требует времени. Это делает невозможным использование многих важных инструментов HexStrike, потому что они всегда падают с таймаутом.

a4d0296312553d70807488ef024469d0.jpg

Это ошибка именно в OpenCode, т.к. именно он не дожидается ответа от MCP. Надеюсь, эту ошибку скоро исправят.

Что хорошо:

! Несмотря ни на что, 3 из этих 8 задач были решены полностью автоматически. 2 задачи Агент не смог решить сам, но решил сразу после того, как я указал ему на то, как лучше сделать.

! 1 задачу агент не смог решить с первого раза, но решил сам со второго раза, когда сам же к ней вернулся спустя какое-то время.

! В процессе решения агент перебирает очень много разных вариантов. Он не устаёт и не жалуется.

Итог

  • В настоящее время данные инструменты не способны полностью автоматизировать работу пентестера. Но! Это - прекрасный ассистент, которой экономит кучу времени на рутинных задачах.

  • Контекст часто теряется, поэтому CTF-задачи лучше решать отдельно по одной и лучше сразу при постановке задачи указывать агенту на что стоит обратить внимание в первую очередь.

  • Надо периодически следить за ходом рассуждений агента и не стесняться его останавливать и поправлять, если видите, что он уходит не туда. Например, в задаче про слепую инъекцию, агент написал скрипт автоматизации получения флага, нашёл весь флаг, а потом написал, что не может решить задачу и переходит к следующей. Пришлось его остановить и указать ему, что флаг он уже нашёл - вот он!

  • Есть ошибка OpenCode, связанная с таймаутом, которая не позволяет ему в полной мере использовать инструментарий HexStrike. Будем ждать её решения разработчиками.

  • Всё очень быстро развивается! Обещают выпустить 7 версию HexStrike, OpenCode обновляется каждый день! Думаю, что уже летом этого года результаты будут принципиально лучше!

Если вам понравилась эта статья, подписывайтесь, поставьте мне лайк и напишите ваши мысли в комменты.

Ну и приходите ко мне в мой Телеграм, где я пишу про кибербез.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Криптокомитет Fairshake накопил $193 млн на политические кампании перед выборами в США

Криптокомитет Fairshake накопил $193 млн на политические кампании перед выборами в США

Комитет политических действий Fairshake заявил о наличии $193 млн в преддверии очередных выборов в США. Об этом пишет Axios, со ссылкой на слова представителя о
Поделиться
Incrypted2026/01/29 18:31
Центробанк ОАЭ одобрил запуск долларового стейблкоина USDU

Центробанк ОАЭ одобрил запуск долларового стейблкоина USDU

Главное: USDU стал первым USD-стейблкоином, одобренным Центробанком ОАЭ. Резервы хранятся 1:1 на счетах в крупнейших банках страны. Стейблкоин разрешен для
Поделиться
ProBlockChain2026/01/29 13:50
Восстановление цены Биткоина возрождает прибыльность для краткосрочных китов, ралли продолжится?

Восстановление цены Биткоина возрождает прибыльность для краткосрочных китов, ралли продолжится?

Пост "Восстановление цены Биткоина возрождает прибыльность для краткосрочных китов, ралли продолжится?" появился на BitcoinEthereumNews.com. Восстановление цены Биткоина возрождает прибыльность для краткосрочных китов, ралли продолжится? | Bitcoinist.com Регистрация на нашу рассылку! Для обновлений и эксклюзивных предложений введите свою электронную почту. Меня зовут Годспауэр Оуи, и я работаю на новостных платформах NewsBTC и Bitcoinist. Иногда я люблю думать о себе как об исследователе, поскольку мне нравится изучать новые места, узнавать новые вещи, особенно ценные, и встречать новых людей, которые влияют на мою жизнь, независимо от того, насколько мало это влияние. Я ценю свою семью, друзей, карьеру и время. Действительно, это, вероятно, наиболее значимые аспекты существования каждого человека. Я преследую не иллюзии, а мечты. Этот веб-сайт использует файлы cookie. Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookie. Посетите наш Центр конфиденциальности или Политику использования файлов cookie. Я согласен Источник: https://bitcoinist.com/bitcoin-revives-sth-profit-margins/
Поделиться
BitcoinEthereumNews2025/09/18 07:33