Полная интеграция AI-агента HexStrike и OpenCode в Kali Linux для пентеста | AiManual
AiManual Logo Ai / Manual.
16 Янв 2026 Инструмент

HexStrike + OpenCode: AI-агент для пентеста, который не просит перерыв на кофе

Пошаговая настройка AI-агента HexStrike с OpenCode в Kali Linux. Автоматизация сканирования, эксплуатации и анализа уязвимостей.

Сколько времени вы тратите на запуск Nmap, парсинг результатов, подбор эксплойтов и проверку элементарных уязвимостей? Если ответ "слишком много", то HexStrike — это тот самый пинок под зад, который нужен вашему пентесту. Это не очередной "умный" сканер с красивым интерфейсом. Это AI-агент, который садится в ваш терминал и начинает работать, пока вы пьете кофе.

Что такое HexStrike и почему он не похож на все, что вы видели

HexStrike — это автономный AI-агент, построенный поверх Anthropic Claude, но заточенный исключительно под задачи безопасности. Он не просто генерирует советы. Он выполняет команды, анализирует результаты, принимает решения и даже пишет кастомные эксплойты. Представьте себе стажера-пентестера, который не спит, не ест и не просит повышения.

💡
HexStrike работает через Model Context Protocol (MCP) — ту же технологию, что используют в корпоративных on-prem стеках. Это значит, что он имеет доступ к инструментам вашей системы, как если бы вы сами их запускали.

OpenCode: мозги для вашего агента

Без OpenCode HexStrike был бы просто чат-ботом с претензией. OpenCode — это фреймворк для создания и управления AI-агентами, который превращает HexStrike из теоретика в практика. Он дает агенту "руки" — возможность выполнять код, работать с файловой системой, управлять процессами. Это как дать снайперу винтовку вместо учебника по баллистике.

Важно: последняя версия OpenCode имела критическую RCE-уязвимость. Убедитесь, что используете патченную версию или работаете в изолированном окружении.

Что умеет эта связка на практике

  • Автономное сканирование сети: Даете IP-адрес или диапазон, HexStrike сам решает, какие порты сканировать, какие сервисы фингерпринтить, какие уязвимости проверять в первую очередь.
  • Контекстный анализ результатов: Вместо сырого вывода Nmap вы получаете структурированный отчет с приоритетами: "На порту 443 работает устаревший Apache 2.4.49, есть публичный эксплойт для CVE-2021-41773".
  • Генерация кастомных payload'ов: Нужен Reverse Shell для конкретной версии Python на целевой системе? HexStrike сгенерирует его с учетом фильтров и ограничений.
  • Автоматизация рутинных проверок: Проверка на стандартные пароли, поиск открытых директорий, тестирование типовых конфигурационных ошибок — все это делается одной командой.
  • Обучение на лету: Агент запоминает, какие методы сработали на предыдущих целях, и применяет этот опыт к новым.

Установка: от терминала до работающего агента за 15 минут

Забудьте про Docker-контейнеры весом в 10 ГБ. Здесь все проще, но есть нюансы, о которых не пишут в официальной документации.

1Подготовка Kali: чистим авгиевы конюшни

Сначала убедитесь, что у вас работает Python 3.10+. В Kali по умолчанию может быть Python 3.11, но с кривыми зависимостями.

sudo apt update && sudo apt upgrade -y
sudo apt install python3.10-venv python3.10-dev git curl -y
# Создаем чистую виртуальную среду
python3.10 -m venv ~/hexstrike-env
source ~/hexstrike-env/bin/activate

Почему именно Python 3.10? Потому что некоторые зависимости OpenCode ломаются на 3.11 и выше. Не спрашивайте почему — просто примите как факт.

2Ставим OpenCode (правильную версию)

Не берите последний коммит из master. Возьмите тегированную версию, которая прошла проверку на уязвимости.

cd ~
git clone https://github.com/opencode/opencode.git
cd opencode
git checkout v2.3.1  # Стабильная, патченая версия
pip install -e .
# Проверяем установку
opencode --version

Если видите ошибки с cryptography или другими C-библиотеками, придется ставить системные зависимости: sudo apt install build-essential libssl-dev libffi-dev python3-dev

3Настраиваем HexStrike и получаем API-ключ

Тут начинается магия. HexStrike требует API-ключ от Anthropic. Если у вас его нет — придется получить. Бесплатный тариф дает достаточно запросов для тестирования.

cd ~
git clone https://github.com/hexstrike/hexstrike-ai.git
cd hexstrike-ai
pip install -r requirements.txt
# Создаем файл конфигурации
cat > config.yaml << EOF
anthropic_api_key: "ваш_ключ_здесь"
mode: "autonomous"
max_iterations: 50
allowed_tools:
  - nmap
  - metasploit
  - sqlmap
  - nikto
  - custom_scripts
EOF

Ключ нужно вставить в кавычки. Без них конфиг сломается при первой же загрузке.

4Интеграция: заставляем их говорить друг с другом

Это самая хитрая часть. OpenCode и HexStrike не созданы друг для друга. Нужно написать мост-адаптер.

# ~/hexstrike-opencode-bridge.py
import asyncio
from opencode import OpenCodeSession
from hexstrike import HexStrikeAgent
import yaml

class PentestBridge:
    def __init__(self, config_path):
        with open(config_path, 'r') as f:
            self.config = yaml.safe_load(f)
        
        self.opencode = OpenCodeSession()
        self.agent = HexStrikeAgent(
            api_key=self.config['anthropic_api_key'],
            mode=self.config['mode']
        )
    
    async def execute_command(self, target):
        """Основной цикл: агент думает, OpenCode выполняет"""
        print(f"[+] Начинаем работу с целью: {target}")
        
        # Шаг 1: Сканирование
        scan_plan = await self.agent.plan_scan(target)
        print(f"[+] План сканирования: {scan_plan}")
        
        # Шаг 2: Выполнение через OpenCode
        results = []
        for command in scan_plan['commands']:
            print(f"[*] Выполняем: {command}")
            result = await self.opencode.execute(command)
            results.append(result)
            
            # Шаг 3: Анализ результатов агентом
            analysis = await self.agent.analyze_results(result, target)
            if analysis['vulnerabilities']:
                print(f"[!] Найдены уязвимости: {analysis['vulnerabilities']}")
                
        return results

# Запуск моста
async def main():
    bridge = PentestBridge('config.yaml')
    target = input("Введите цель (IP или домен): ")
    await bridge.execute_command(target)

if __name__ == "__main__":
    asyncio.run(main())

Сохраните этот файл и запустите: python3 ~/hexstrike-opencode-bridge.py

Живой пример: как это выглядит в работе

Допустим, мы тестируем внутренний сервер с IP 192.168.1.100.

$ python3 hexstrike-opencode-bridge.py
Введите цель (IP или домен): 192.168.1.100
[+] Начинаем работу с целью: 192.168.1.100
[+] План сканирования: {'commands': ['nmap -sV -sC -O 192.168.1.100', 'nikto -h 192.168.1.100', 'dirb http://192.168.1.100']}
[*] Выполняем: nmap -sV -sC -O 192.168.1.100
[!] Найдены уязвимости: [{'port': 80, 'service': 'Apache 2.4.49', 'cve': 'CVE-2021-41773', 'risk': 'high'}]
[*] Выполняем: nikto -h 192.168.1.100
[!] Найдены уязвимости: [{'issue': 'Apache 2.4.49 vulnerable to path traversal', 'confirmed': True}]
[*] Генерирую эксплойт для CVE-2021-41773...
[+] Эксплойт сохранен в /tmp/exploit_apache_traversal.py

И вот вам готовый Python-скрипт для эксплуатации, который агент написал на основе анализа уязвимости. Вы даже не прикасались к клавиатуре.

Чем HexStrike лучше (и хуже) альтернатив

ИнструментПлюсыМинусыДля кого
HexStrike + OpenCodeАвтономность, контекстный анализ, генерация кода, обучениеТребует API-ключ, сложная настройка, риск ложных срабатыванийОпытные пентестеры, которые хотят автоматизировать рутину
Классические сканеры (Nessus, OpenVAS)Стабильность, огромная БД уязвимостей, проверенные алгоритмыНет адаптивности, ложные срабатывания, не генерируют эксплойтыКомплаенс-проверки, аудиты по стандартам
Metasploit FrameworkГотовые эксплойты, интеграция с payload'ами, сообществоРучное управление, требует глубоких знаний, нет AI-аналитикиРед-тимы, пентестеры на реальных engagements
Autonomous агенты вроде AgentHopperПолная автономность, сложные сценарииЧерный ящик, непредсказуемость, риски безопасностиИсследователи, хакерские группы

Опасности, о которых молчат разработчики

1. AI может натворить дел. HexStrike в автономном режиме может запустить опасные команды без подтверждения. Я видел, как он пытался запустить sqlmap с флагом --dump-all на продакшен-базе, потому что "так эффективнее".

2. Утечка данных через API. Весь ваш анализ, IP-адреса, найденные уязвимости уходят на сервера Anthropic. Если тестируете конфиденциальные системы — это проблема.

3. Ложные срабатывания как стиль жизни. AI иногда видит уязвимости там, где их нет. Особенно любит "находить" старые CVE в современных системах.

💡
Для защиты от промпт-инъекций и контроля действий агента изучите гайд по защите AI-агентов. Особенно важно настроить фильтры команд и ограничить права.

Кому действительно нужен HexStrike (а кому нет)

Берите, если:

  • Проводите регулярные пентесты одних и тех же систем и устали от рутины
  • Работаете в команде и хотите стандартизировать начальные этапы проверок
  • Исследуете новые методы автоматизации безопасности (как в этом кейсе)
  • Нужен "второй взгляд" на результаты сканирования

Не тратьте время, если:

  • Вы только начинаете в пентесте (сначала изучите основы, а не автоматизируйте незнание)
  • Тестируете высокоценные продакшен-системы (риск ошибки AI слишком велик)
  • У вас нет доступа к Anthropic API или бюджет на него
  • Ждете волшебной кнопки "взломать всё" (такой нет и не будет)

Что делать, когда агент "тупит"

Да, HexStrike иногда зацикливается на очевидных вещах или предлагает странные решения. Типичные симптомы:

  • Бесконечно сканирует один и тот же порт разными методами
  • Генерирует нерабочие эксплойты для несуществующих уязвимостей
  • Игнорирует критические находки, сосредотачиваясь на мелочах

Решение? Сбросить контекст, перезапустить сессию и дать более конкретные инструкции. Или почитать гайд по observability для AI-агентов — там есть методы отладки таких ситуаций.

Будущее: куда движется эта технология

Через год инструменты вроде HexStrike будут не экзотикой, а стандартом в пентесте. Но не потому что они заменят специалистов, а потому что освободят их от скучной работы. Вместо запуска сканеров вы будете анализировать стратегию атаки, искать неочевидные векторы, думать как противник.

Следующий шаг — локальные модели вместо облачного API. Представьте HexStrike, работающий на вашей машине через локальные LLM вроде Devstral. Никаких утечек данных, полный контроль, работа без интернета. Это уже тестируют в закрытых хакерских группах.

Главный совет: начните с малого. Не пытайтесь автоматизировать весь пентест сразу. Настройте HexStrike для одной задачи — сканирования веб-приложений или проверки конфигураций. Отточите процесс. Потом расширяйте. И помните: AI-агент — это инструмент, а не замена мозгов. Он умножает эффективность специалиста, но не создает его из ничего.