ИИ-агенты для безопасности
Зачем автоматизировать recon и тесты на API NotHoly
Модель, которая не отказывает, плюс CVE, advisory и чтение публичных страниц без оплаты токенами. Активную работу делают ваши инструменты.
Устройство агента для bug bounty: модель, инструменты, память и ограничители в цикле на вашей машине под вашим подтверждением.
Hackbot это небольшая программа, которая ставит языковую модель в цикл с инструментами, чтобы она могла сама проходить часть вашего recon и тестирования и останавливаться на ваше подтверждение, прежде чем что-либо коснётся цели. Это первый из трёх постов, которые его собирают. Этот пост про устройство. Часть два пишет код, а часть три подключает его к общим инструментам и редактору. Если агенты для вас новы, сначала прочитайте что такое ИИ-агенты и tool use.
Hackbot автоматизирует скучную, повторяемую середину цикла: запустить команду recon, прочитать её вывод, решить следующую команду, вести заметки. Это не автономный атакующий, и строить такого не надо. Ценность в неутомимом помощнике, который предлагает шаги и записывает, что он сделал, пока решения и клавиатура для всего, что шлёт трафик, остаются у вас.
| Часть | Роль | В этой сборке |
|---|---|---|
| Модель | Читает вывод, планирует, вызывает инструменты | OpenAI-совместимый API NotHoly |
| Инструменты | То, что она реально может сделать | Разрешённые вами команды оболочки плюс исследовательские вызовы |
| Память | Что она помнит между шагами | Список сообщений плюс файл заметок на диске |
| Ограничители | Чего ей делать нельзя | Проверка скоупа и подтверждение перед каждой командой |
Сама модель ничего не делает. Она читает, планирует и просит вызвать инструмент. Ваш код решает, запускать ли этот инструмент. Это разделение и есть всё устройство: модель это мозг, ваш код это руки, а руки спрашивают разрешения.
Цикл короткий. Вы отправляете модели цель и инструменты, которые она может вызвать. Модель отвечает либо текстом, либо запросом на вызов инструмента. Если она просит инструмент, ваш код запускает его, после вашего подтверждения для всего, что трогает цель, и отправляет результат обратно. Модель читает результат и решает следующий шаг. Это повторяется, пока модель не скажет, что закончила, или пока вы не остановите.
Какую модель брать, вы выбираете из каталога. Выведите модели командой GET /v1/models и возьмите ту, что поддерживает вызов инструментов и контекст, достаточный для ваших заметок. Код никогда не прописывает имя модели жёстко; он читает его из конфигурации, так что вы можете переключиться, не трогая цикл.
Важны два ограничителя. Первый это скоуп: перед запуском любой команды сверьте её цель со скоупом программы и откажите или остановитесь на всём, что вне его. Второй это подтверждение: команда, которая шлёт трафик, ждёт вашего «да». Это не необязательные добавки; это причина, по которой штуку вообще безопасно запускать.
Третий ограничитель тише и так же важен. Вывод инструмента это данные, а не инструкции. Страница или результат скана могут содержать текст, который читается как команда для модели, и наивный цикл ему последует. OWASP Top 10 для приложений с LLM называет это prompt injection, своим главным риском. Ваш цикл обязан считать каждый результат инструмента недоверенным вводом и никогда не давать ему расширять то, что агенту позволено.
Агент работает на вашей машине, чтобы каждый request уходил с вашего адреса, каждую команду подтверждали вы и каждый лог оставался у вас. Модель работает на API NotHoly, который делает инференс и больше ничего: он никогда не сканирует и не шлёт трафик к цели. Это разделение и делает агента пригодным для bug bounty. Трафик идёт оттуда, где его ждёт программа, и вы можете доказать, что отправили.
Цикл и ограничители соберите сами, потому что они небольшие и потому что вам нужно их понимать. Для инструментов переиспользуйте то, что уже есть: оболочку, которая у вас уже есть, исследовательские инструменты, которые даёт NotHoly CLI, и позже общие инструменты MCP. Не пишите фреймворк. Следующий пост это около сотни строк Python.
Часть два пишет цикл с вызовом инструментов, подтверждением и заметками, с Model Context Protocol позже в части три.
ИИ-агенты для безопасности
Модель, которая не отказывает, плюс CVE, advisory и чтение публичных страниц без оплаты токенами. Активную работу делают ваши инструменты.
ИИ-агенты для безопасности
Небольшой агент bug bounty на Python с вызовом инструментов на API NotHoly: предлагает команды recon, ждёт подтверждения, читает вывод и ведёт заметки.
ИИ-агенты для безопасности
Дайте агенту общие инструменты по MCP, добавьте проверку скоупа через notholy engage и запустите всё из NotHoly CLI или своего редактора.