Опубликовал новую статью: три месяца внутри двух ханипотов
Я три месяца наблюдал за двумя среднеинтерактивными ханипотами: традиционным стендом под легендой инфраструктуры поставщика промышленного оборудования (SCADA короче) и отдельным AI-шлюзом с интерфейсами, совместимыми с Ollama и OpenAI, и минимальным MCP.
На SSH/Bitrix-стенде накопилось 312 932 сессии. Почти 4/5 сессий после входа выполняли одну команду — чаще всего проверку через uname — и закрывали соединение. Но среди массового шума нашлась длинная цепочка: обход каталогов, чтение конфигурации Bitrix и MySQL, попытка перечислить таблицы и запись PHP-файла в корень сайта. Всё происходило внутри декораций Cowrie; реальная система не выполняла команды.
AI-шлюз показал другой сценарий. Один клиент отправил 27 374 запроса к /api/chat. Медианный промпт занимал 2716 символов, самый длинный меня удивил длинной — 919 294 символов. В запросах были перевод, суммаризация, извлечение фактов, анализ кода и системные инструкции, похожие на шаблоны Claude Code, Codex CLI, OpenCode и Hermes. При этом модели за API фактически не было. Я сделал прикольную штуку, нагенеририл много вариантов ответов и апишка просто читала их из JSON и выдавала готовый ответ но с рандомной задержкой в зависимости от выбранной модели
MCP-клиенты доходили до initialize и tools/list, но не вызвали ни одного инструмента (`tools/call` — 0). Поэтому в статье я разделяю подтверждённую инвентаризацию и предположения об эксплуатации.
Разбираю не только пойманные команды и промпты, но и методику: почему событие не равно атаке, как связывать nginx, логи приложения, JSONL и PCAP, почему публичный отчёт не должен содержать IP, токены, полные промпты и данные, случайно отправленные через открытый API. В конце — требования к защите SSH, самостоятельно развёрнутых AI-систем и MCP: аутентификация, ограничения контекста и вычислений, изоляция инструментов и контроль исходящего трафика.
Читать статью на Хабре
🌚 @poxek | 🌚 @poxek_ai | 📲MAX
Я три месяца наблюдал за двумя среднеинтерактивными ханипотами: традиционным стендом под легендой инфраструктуры поставщика промышленного оборудования (SCADA короче) и отдельным AI-шлюзом с интерфейсами, совместимыми с Ollama и OpenAI, и минимальным MCP.
На SSH/Bitrix-стенде накопилось 312 932 сессии. Почти 4/5 сессий после входа выполняли одну команду — чаще всего проверку через uname — и закрывали соединение. Но среди массового шума нашлась длинная цепочка: обход каталогов, чтение конфигурации Bitrix и MySQL, попытка перечислить таблицы и запись PHP-файла в корень сайта. Всё происходило внутри декораций Cowrie; реальная система не выполняла команды.
AI-шлюз показал другой сценарий. Один клиент отправил 27 374 запроса к /api/chat. Медианный промпт занимал 2716 символов, самый длинный меня удивил длинной — 919 294 символов. В запросах были перевод, суммаризация, извлечение фактов, анализ кода и системные инструкции, похожие на шаблоны Claude Code, Codex CLI, OpenCode и Hermes. При этом модели за API фактически не было. Я сделал прикольную штуку, нагенеририл много вариантов ответов и апишка просто читала их из JSON и выдавала готовый ответ но с рандомной задержкой в зависимости от выбранной модели
MCP-клиенты доходили до initialize и tools/list, но не вызвали ни одного инструмента (`tools/call` — 0). Поэтому в статье я разделяю подтверждённую инвентаризацию и предположения об эксплуатации.
Разбираю не только пойманные команды и промпты, но и методику: почему событие не равно атаке, как связывать nginx, логи приложения, JSONL и PCAP, почему публичный отчёт не должен содержать IP, токены, полные промпты и данные, случайно отправленные через открытый API. В конце — требования к защите SSH, самостоятельно развёрнутых AI-систем и MCP: аутентификация, ограничения контекста и вычислений, изоляция инструментов и контроль исходящего трафика.
Читать статью на Хабре
🌚 @poxek | 🌚 @poxek_ai | 📲MAX