Normal view

Трехфазная защита ваших ИИ‑агентов от современных угроз с детальным разбором на базе модели безопасности OGL‑Mini

LLM-бум породил не только новые возможности, но и новое поколение атак. За два года мы увидели реальные атаки на агенты: один вредоносный email и Copilot сливает платёжные данные клиентов, одно фальшивое GitHub issue и CI/CD пайплайн скомпрометирован, один тщательно настроенный промпт и AI-агент выполняет удалённый код на вашей машине. Это уже далеко не теория, а зафиксированные исследователями в 2025 - 2026 годах атаки на Microsoft Copilot, OpenAI Atlas, Claude Code и Apple Intelligence.

Атаки становятся изощрённее: злоумышленники маскируют вредоносные инструкции под XML-политики, шифруют в base64, вставляют невидимые символы и даже прячут джейлбрейк в стихи. Встроенные фильтры LLM пропускают до 76% таких атак.

Значит, нужен другой подход - лёгкий, быстрый (чтобы не тормозить агента) и понятный (чтобы вы знали, почему запрос заблокировали). И главное, работающий без вызовов внешних API, внутри вашей инфраструктуры. Потому что в эпоху zero-click атак доверять безопасность облачному провайдеру, который пропускает почти всё, как минимум рискованно.

В этой статье разберем основные виды атак и посмотрим на примере, как выстроить базовую защиту с моделью безопасности OGL-Mini.

Читать далее

Claude, GPT, Qwen, DeepSeek, GigaChat и YandexGPT: какая LLM лучше подходит для создания алго-трейдинг бота

Сегодня у айтишников появилось новое хобби - делать свой SaaS или писать торговых ботов с помощью LLM.

Порог входа резко снизился: достаточно хорошей идеи, немного свободного времени и подписки на одну из современных LLM.

Модель, которая набирает 90%+ в бенчмарке, совсем не обязательно поможет вам заработать деньги.
Потому что между «написать хороший код» и создать работающий продукт есть огромная разница.

Я дал шести LLM одну задачу - написать торгового бота и проверил, что из этого можно использовать на практике.

GPT, Claude Opus, DeepSeek, Qwen, GigaChat, YandexGPT Pro.

Читать далее

OpenEar: как я посчитала, насколько скучный у меня плейлист (и написала для этого open-source дашборд)

Рекомендательная лента почти любого музыкального сервиса оптимизируется под одну метрику — удержание. Мне захотелось не рассуждать об этом абстрактно, а измерить: так появился OpenEar — open-source privacy-first дашборд, который считает прозрачные метрики музыкального разнообразия по истории ListenBrainz.

Читать далее

AutoAddPolicy — это не удобство. Это выключенная проверка

У меня в проекте было четырнадцать копий одного IP‑адреса. По одной в каждом скрипте, который ходит на боевой сервер: деплой, перезапуск сервиса, правка DNS, диагностика почты. Классический копипаст, который живёт до первого переезда.

Переезд случился. Адрес поменялся. Четырнадцать скриптов стали указывать в никуда.

Дальше начинается то, ради чего я это пишу.

Читать далее

176 ботов, ИИ на чужом ключе и 334 статьи: как я за четыре месяца превратил todo-лист в продукт и разобрал его по швам

За две недели ко мне зарегистрировалось 176 ботов. Я полез разбираться, как они прошли мимо трёх уровней защиты, — и вылез с двенадцатью дырами, к ботам отношения не имевшими: хранимый XSS через JSON-LD, чужие задачи по одному идентификатору, сессия, которую нельзя погасить сменой пароля.

И одна, из-за которой до сих пор стыдно: все мои лимиты по IP обходились одной строкой в HTTP-заголовке. Проверил на собственном проде — сорок запросов, ноль отказов.

Внутри: разбор атаки и аудит с кодом, ИИ-помощник на ключе пользователя (и асинхронный генератор, молча съедавший ответы), 334 статьи как инженерная задача.

Читать разбор

Мы списали uv со счетов. А потом он ускорил наш CI на 80%


Мы списали uv со счетов. А потом он ускорил наш CI на 80%

В Python-сообществе вокруг uv уже несколько месяцев шум: быстрый резолвинг, один инструмент вместо зоопарка утилит и обещание ускорить привычный workflow. Звучит хорошо — пока не проверишь на своём стеке.

Мы так и сделали. Взяли один микросервис: Python 3.14, 37 прямых зависимостей, 153 пакета в lock-файле, приватные пакеты и внутренний Nexus. Ожидание было простым: если uv действительно быстрее Poetry, миграция окупится сама.

Локально получилось наоборот. Резолвинг — да, быстрее. Установка по готовому lock-файлу — нет, иногда даже медленнее. Эксперимент закрыли и остались на Poetry.

Через несколько недель пришлось вернуться. Не из любопытства, а из-за алерта Trivy и сюрпризов Poetry 2 с корпоративными индексами. И вот тогда uv показал себя совсем в другом месте — в CI.

В статье разберем:

- почему локальный бенчмарк uv vs Poetry нас обманул;
- как Poetry 2 сломал привычную разработку без VPN;
- зачем мы писали парсер poetry.lock requirements.txt и почему это оказалось костылём;
- как точечная замена Poetry на uv sync в пайплайне сократила время с 5:10 до 2:50;
- почему в итоге uv стал единым стандартом и локально, и в CI.

Коротко: если инструмент не выиграл с первого прогона — это ещё не значит, что он бесполезен. Часто вы просто мерили не то узкое место.

Читать далее

Одна строка в системном промпте отключала кеш целиком. 1% против 98% на живых вызовах

Токен, прочитанный из кеша, стоит не «немного дешевле». Он дешевле в 10–31 раз: DeepSeek — $0.44 против $0.014 за миллион, OpenAI — $4.00 против $0.40.

Кеш провайдера — префиксное дерево по токенам. Он работает ровно до первого расхождения с прошлым запросом. Дальше — всё по полной цене.

Поэтому одна строка вида Current time: {datetime.now()} в начале системного промпта отключает кеш целиком: время меняется на четвёртом слове, и остальные две тысячи токенов политик и базы знаний каждый раз оплачиваются заново. Хотя не менялись ни разу.

Я замерил это на живых вызовах DeepSeek. Один и тот же агент, одни и те же четыре вопроса, одна и та же минута — разница только в том, куда положить время. Ноль попаданий в кеш против 1152 токенов из 1180.

Потом направил профайлер на 97 877 собственных вызовов Claude Code — 32,5 млрд входных токенов, 98% из кеша.

Внутри: как найти такой баг у себя, почему совпадение текста на 96% ещё не значит, что кеш работает, и какие поломки не видно глазами вообще — схемы инструментов из словаря с плавающим порядком ключей, база знаний из set(), «префикс совпал, а кеша нет».

Плюс отрицательный контроль: сценарий, где фикс не даёт ничего, и инструмент честно об этом пишет.

Инструмент открыт: github.com/Isk4R1oT/prefixcash

Проверить свой промпт

Тренд на «честность»: обзор употребления слова «честный» на Хабре

На прошлой неделе обратил внимание на обильное и, на мой взгляд, не всегда уместное использование слова «честный» на Хабре. Решил детальней изучить ситуацию, собрал данные и в результате оказалось, что мне не показалось и так было не всегда, а пик, возможно, еще не пройден. В этой статье делюсь полученными результатами, методологией и датасетом для тех, кому может быть интересно попробовать найти какие-нибудь закономерности самостоятельно.

Читать далее

Я устал проверять сайты постранично и сделал свой сайт проверок HeadInspect

Я занимаюсь созданием сайтов с начала 00-х. Я просто интересовался этой темой. Веб‑дизайн и разработка сайтов никогда не были моей профессией. Я заканчивал институт, работал в ночных клубах танцором и сделал для себя сайт‑визитку: это было намного проще, чем раздавать агентам фотографии сценических образов в конвертике. Позже на этом сайте появились другие артисты, а самим сайтом начинали потихоньку пользоваться ивент‑агентства и клубные промоутеры. Позднее с годами я уже вёл несколько сайтов дружеских коллективов, а мой первый маленький сайт превратился в каталог артистов с самостоятельной регистрацией и возможностью за плату продвигать свою анкету.

Как и писал ранее — сайты — это моё хобби. Иногда я прибегал к помощи сторонних веб‑дизайнеров, что‑то делал сам. Такое поверхностное занятие сайтами с годами привело к тому, что сайты устарели на десятилетие в плане дизайна и UX. В этом году в бизнесе артистов для корпоративов наступило затишье и появилось много свободного времени. Было принято решение обновить сайты! И именно во время этого обновления появилась проблема, из которой в итоге вырос HeadInspect.

Читать далее

Переход к неанонимным изменениям схемы СУРБД Firebird

Когда я только пришел на должность помощника DBA, я заметил, что все production базы фиксируют изменения странным образом, а именно каждый день в 00:00 вызывался скрипт, который выгружает схему БД Firebird, в виде файла script.sql, созданный встроенной утилитой isql. Далее делил весь файл на объекты (файлы), по группам (директориям) принадлежности, объясняю: есть кусок скрипта создания таблицы, он помещается в директорию 01_TABLES в виде отдельного файла названного в честь названия объекта который он содержит, и так далее. Чем же это плохо? А суть в том что разработчиков много, правки анонимны, история тяжело воспроизводимая. В такой каше сразу не разберешься.

Читать далее
❌