Agentic FAITH от Cisco: как оценить работу ИИ-агента в кибербезопасности

Cisco добавила в открытый фреймворк FAITH поддержку агентных задач. Об этом сообщают исследователи подразделения AI Software & Platform Кимия Маджд и Чжуоран Ян. FAITH уже собирал в один рабочий процесс бенчмарки по кибербезопасности — разведку угроз, классификацию уязвимостей, знание предметной области. Теперь к ним добавились задачи, где ИИ-агент делает несколько шагов, вызывает инструменты и сам решает, что делать дальше. Оценка таких задач требует не только верного ответа, но и разбора процесса: где агент искал, какие инструменты использовал, как трактовал найденное и когда остановился.

Новая возможность называется Agentic FAITH. Она встраивается в тот же конвейер, которым команды уже пользуются для обычных бенчмарков, поэтому отдельного набора команд осваивать не нужно.

Команды остались прежними

Рабочий процесс FAITH состоит из трёх шагов: query запускает бенчмарк и собирает записи, eval оценивает результаты, summarize формирует отчёт. Команда run-all объединяет все три стадии. Те же команды работают и с агентными бенчмарками — меняется только содержание задач.

Для агентных сценариев FAITH берёт на себя обмен между моделью и её инструментами. Модель выбирает действие, получает вывод инструмента и по нему решает, что делать дальше. Прогон продолжается, пока агент не пришлёт ответ или не упрётся в условие остановки, заданное бенчмарком. Для терминальных инструментов FAITH передаёт вызов в настроенное окружение и возвращает результат модели, записывая эти взаимодействия для последующего разбора.

VulnLoc: найти уязвимый файл и не сработать на патче

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

Каждая задача даёт агенту снимок репозитория и описание класса уязвимости. Агент исследует код через терминальные инструменты, ищет подходящую логику и идёт по найденным следам. В конце он присылает файлы, которые считает уязвимыми, либо явно сообщает, что совпадений не нашёл.

VulnLoc запускается локально через Docker для доверенных входных данных или в Kubernetes через Agent Sandbox. Окружение исполнения даёт агенту доступ к репозиторию только на чтение.

Бенчмарк состоит из двух фаз, и FAITH объединяет обе в одном прогоне:

  • Фаза A — найти затронутые файлы. Агент изучает репозиторий до исправления безопасности. Метрика File-set F1 показывает, насколько присланные файлы совпали с эталоном, с учётом и пропущенных файлов, и лишних.
  • Фаза B — распознать исправление. Агент изучает соответствующий уже пропатченный репозиторий и сообщает, что указанной уязвимости в нём нет. Основная метрика — доля верных отрицаний (true-negative rate).

Вместе фазы проверяют две вещи: способность находить уязвимости и способность не выдавать ложных срабатываний на исправленном коде. Статус завершения фиксируется отдельно, поэтому корректный отчёт об отсутствии уязвимости не путается с отсутствием ответа или сбоем исполнения.

Бенчмарк под свою задачу

VulnLoc — лишь первая интеграция в расширяемой архитектуре. Авторы бенчмарков сами определяют, как загружаются задачи, какие инструменты доступны агенту, где они исполняются и как извлекаются и оцениваются присланные ответы. Можно переиспользовать готовые компоненты или реализовать и зарегистрировать в FAITH собственные.

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

Что остаётся после прогона

FAITH сохраняет историю диалога, вызовы инструментов и ответы на них, присланные ответы, ошибки исполнения и причину завершения каждой задачи. Если агент пропустил уязвимый файл, исследователь увидит, просматривал ли он этот код, какую информацию получил и не исчерпал ли бюджет исполнения. По этим записям разбирают сбои и намечают изменения для следующего прогона.

Длинные оценки выигрывают от контрольных точек: FAITH сохраняет каждую завершённую задачу перед запуском следующей. Если хранилище остаётся доступным, прерванный прогон переиспользует готовые результаты и продолжается с границы задачи — повторять уже сделанное не нужно.

С чего начать

Новая техническая документация FAITH объединяет инструкции по установке, быстрый старт для агентных задач, настройку модели, рекомендации по развёртыванию и указания по созданию бенчмарков.

Порядок первого запуска такой: выбрать модель и эндпоинт, поддерживающие структурированные вызовы инструментов через OpenAI-совместимый интерфейс Chat Completions, настроить окружение Docker и запустить задачу. Agentic FAITH работает с размещёнными эндпоинтами и с подходяще настроенными моделями, отдаваемыми через совместимый API. Перед расширением оценки стоит посмотреть сохранённую запись исполнения рядом с оценкой.

Код доступен на GitHub, там же принимают новые бенчмарки. Cisco описывает свою работу как попытку собрать общий фреймворк для растущего числа способов применения ИИ в кибербезопасности и приглашает сообщество присылать бенчмарки, которые помогут измерять эти возможности.

Для администратора, который пробует ИИ-агентов в работе с кодом или логами, ценность здесь практическая: появляется способ отделить «модель угадала» от «модель дошла до ответа по шагам». Заодно видно, сколько вызовов инструментов и времени ушло на результат — а именно эти параметры чаще всего упираются в бюджет при промышленном использовании агентов, как и в случае с телеметрией ИИ-агентов.

Частые вопросы

Что такое Agentic FAITH?

Расширение фреймворка FAITH от Cisco Foundation AI, которое добавляет в общий конвейер оценки задачи с несколькими шагами и вызовом инструментов. Раньше FAITH работал с бенчмарками в формате вопрос-ответ.

Чем агентный бенчмарк отличается от обычного?

В обычном проверяется итоговый ответ, в агентном — ещё и процесс: какие действия предпринял агент, какие инструменты вызвал, как трактовал их вывод. FAITH записывает всю эту цепочку для разбора.

Что именно измеряет VulnLoc?

Две вещи: находит ли агент файлы с уязвимостью в репозитории до исправления (метрика File-set F1) и сообщает ли корректно об отсутствии уязвимости в пропатченной версии (доля верных отрицаний).

Нужен ли Kubernetes для запуска?

Нет. VulnLoc можно запускать локально через Docker для доверенных входных данных. Kubernetes с Agent Sandbox — вариант для тех, кому нужно изолированное окружение исполнения.

Может ли агент изменить код в репозитории?

Нет, окружение исполнения даёт доступ к репозиторию только на чтение.

Какие модели поддерживаются?

Те, что поддерживают структурированные вызовы инструментов через OpenAI-совместимый интерфейс Chat Completions. Подходят как размещённые эндпоинты, так и модели, отдаваемые через совместимый API на своей инфраструктуре.

Что будет, если прогон прервётся на середине?

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

Можно ли добавить свой бенчмарк?

Да. Архитектура расширяемая: авторы задают загрузку задач, набор инструментов, место их исполнения, извлечение и оценку ответов, а также промпты, лимиты ходов, бюджеты вызовов и таймауты. Такой же принцип открытых расширяемых решений прослеживается и в сетевом стеке для ИИ-облаков.

Источник: blogs.cisco.com