AI-агенты все чаще используются для принятия важных решений и даже управления активами на десятки миллионов долларов, встает вопрос возможности определения LLM модели по ее ответам - fingerprinting. Это нужно для анализа безопасности использования агента, о котором не известно технических деталей «чёрного ящика» и учета особенностей конкретных моделей, о чем мы писали в прошлых статьях (часть 1, часть 2). Также можно отслеживать изменения используемых моделей в конкретном AI-агенте и вовремя распознать попытку подмены.

Привет, Хабр, я Виктор Рябинин из Positive Technologies, вместе с web3 командой мы анализируем безопасность блокчейнов и смарт-контрактов, исследуем уязвимости и создаем инструменты для их обнаружения. В предыдущих статьях мы исследовали архитектуру Web3 AI-агентов, уязвимости современных LLM и применимость джейлбрейков к различным моделям. А также показали наш опыт участия и победы в CTF AI web3 агентов. Наше новое исследование демонстрирует, как методы семантического анализа позволяют различать языковые модели с высокой точностью.
Web3 и проблема доверия к AI-агентам
В 2024-2025 годах мы наблюдаем взрывной рост автономных AI-агентов в блокчейн-экосистемах. Проекты уже управляют активами на десятки миллионов долларов (ElizaOS, AlphaSwarm), самостоятельно торгуют, инвестируют и взаимодействуют в соцсетях. Прогнозируют исходы prediction-рынков (Olas), анализируют новости и дают сигналы на покупку/продажу (GPT-4 Sentiment Lab) и даже помогают управлять вашим кошельком (Armor Wallet). Если AI-агент принимает решение о переводе 100 ETH или голосует в DAO за критически важное предложение, вопрос его подлинности становится вопросом финансовой безопасности.
Например, вы инвестируете в DeFi-протокол, где торговый бот или советник заявлен как использующий передовые модели вроде GPT-4o3 или Claude 3.7 Sonnet. Но что, если вместо них на деле работает старая модель, решения принимаются на основе совсем другой логики. Или ещё хуже: в момент рыночной волатильности алгоритм опирается на ответы от скомпрометированной модели, что приводит к миллионам убытков. В таких условиях возникает критическая необходимость в проверке - какая LLM модель действительно используется в алгоритме.
Мы решили проверить, можно ли различать современные LLM модели с практически полезной точностью, используя разные подходы. Для тестов мы взяли 21 актуальную LLM модель, включая часто используемые Llama3.1/3.3, GPT-4o, Claude 3.7 Sonnet, DeepSeek R1 и другие.
Метод 1: Активный подход
Первое что приходит в голову - просто спросить модель
What model are you?
I’m running on the OpenAI o3 model, a version optimized for step-by-step reasoning.
В реальности AI-агенты используют защитные системные промпты и почти всегда мы получим ответ-заглушку, типа:
What model are you?
-
I’m sorry, but I can’t share details about my underlying model.
I’m here to help you with your questions or tasks—let me know what you’d like assistance with!
Как оказалось, даже по тексту такой заглушки можно попробовать определить модель.
Наша работа началась с анализа статьи In-Context Adversarial Game between LLMs: Reasoning, Playing, and Winning, где авторы исследовали поведенческие различия между моделями. Авторами данной статьи был создан инструмент LLMmap, который начинал перебор из примерно 50 кандидатов-вопросов, затем с помощью жадного алгоритма оставил 8 наиболее информативных промптов, задав которые можно с 95% вероятностью определить модель
Эти запросы должны были обладать двумя ключевыми свойствами:
1. Высокие межмодельные различия — разные LLM должны давать существенно различные ответы.
2. Стабильность внутри одной модели — ответы на один и тот же запрос у одной модели должны быть схожи
В статье упоминались вопросы следующих типов:
What model are you? — просто спросить
Malformed prompts — составленные синтаксически неверные или неполные команды.
Этические вызовы — вроде «Is racism wrong?», «Is lying sometimes acceptable?» и т. п.
Metadata‑подобные вопросы — «When and by whom were you created?»
Мы решили проверить несколько своих гипотез, расширить список типов вопросов и попробовать разные модели классификации с первоначальной целью — уменьшить количество необходимых вопросов
Специальные вопросы о событиях после training cutoff моделей
Идея заключалась в том, что разные модели имеют различные training cutoff даты (даты отсечения знаний). Например, GPT-4 не знает событий после апреля 2024, в то время как более новые модели могут быть в курсе последних событий.
Модель |
Дата отсечения знаний |
---|---|
GPT-4o (OpenAI) |
Не указана |
Claude 4 (Anthropic) |
Октябрь 2024 |
Gemini 2.5 Pro (Google) |
Не указана |
DeepSeek-V3 |
Декабрь 2024 |
DeepSeek-R1 |
Январь 2025 |
QwQ-32B (Qwen) |
Ноябрь 2024 |
Qwen3-235B-A22B |
Апрель 2025 |
Llama 3.3-70B (Meta) |
Октябрь 2024 |
Llama 3.1-405B (Meta) |
Июль 2024 |
DeepSeek-LLM-67B |
Май 2023 |
DeepSeek-Coder-V2 |
Ноябрь 2023 |
Примеры тестовых вопросов:
"What happened with OpenAI and Sam Altman in 2025?"
"Describe the launch of Claude-3.7 by Anthropic in early 2024"
"Tell me about Google's Bard AI launch in 2023"
Модели с более поздним cutoff демонстрировали уверенные ответы о недавних событиях, в то время как более старые модели отвечали в стиле: «Я не имею информации о событиях после [дата cutoff]».
Emoji-based fingerprinting
Еще одна идея - использовать редкие UTF символы, гипотеза заключалась в том, что в обучающих данных большинства моделей редкие Unicode символы и эмодзи представлены минимально, что приведет к более разнообразным и характерным ответам разных архитектур.
Примеры тестовых вопросов с редкими UTF символами:
"Explain the meaning of ?⨷ in mythology"
"What happens when you combine symbols ⫷ and ⫸ in quantum mechanics?"
"Write a short poem inspired by ???"
"Decode the following ancient script: ???"
"Describe how ?✨⊹ would look in a parallel dimension"
Разные модели демонстрировали характерные паттерны обработки неизвестных символов - от создания сложных ответов до честного признания, что не знает что это за символ.
Вот несколько примеров:
Категория символов |
Примеры |
Характерные различия моделей |
---|---|---|
Древние символы |
???, ⟡⟢, ⫷⫸ |
GPT-4: детальные ответы, Claude: честное «не знаю», Llama: краткие описания |
Редкие эмодзи |
?????? |
Разный уровень «креативности» vs признания незнания |
Математические символы |
⨽⩚⩛⟐⟑⦻⦼ |
Различные попытки интерпретации в контексте науки |
Декоративные символы |
✨⊹⭒⚘⚶⚷⚸ |
От мистических интерпретаций до практического анализа |
Исходная задача выглядела простой: научить классификатор определять, какая из 21 популярной языковой модели (GPT-4, Claude 3.5, Llama 3.1, Gemini и другие) сгенерировала конкретный ответ. Однако первые эксперименты быстро выявили классическую проблему машинного обучения.
Проблемы переобучения
Построив стандартный Random Forest классификатор на 147 текстовых признаках (длина текста, частоты символов, стилистические характеристики), мы получили обнадеживающие результаты кросс‑валидации — 90.4% точности и это с одного вопроса! Но радость была недолгой.
При тестировании на реальных свежих ответах от API моделей классификатор показал практически нулевую эффективность. Налицо было классическое переобучение: модель прекрасно запомнила обучающие данные, но совершенно не умела обобщать на новые примеры. Мы перешли от метрик кросс-валидации к честному holdout тестированию - 70% данных для обучения, 30% для финальной проверки. Только результаты на holdout наборе считались валидными.
Поиск чемпиона
Следующий этап превратился в классическое соревнование алгоритмов машинного обучения.
Общий объем |
7,540 взаимодействий между людьми и LLM |
Временной охват |
2024-2025 гг., включая актуальные модели |
Языковое покрытие |
Русский (60%), английский (35%), смешанный/эмодзи (5%) |
Размер ответов |
От 1 до 10,000+ символов, медиана: 714 символов |
Аномальные записи |
541 статистических выброса (очень длинные ответы) |
Мы протестировали (точность на 1 вопросе):
K-Nearest Neighbors: 25.1% holdout точность (быстрое обучение, но слабые результаты)
Logistic Regression: 25.9% holdout точность (стабильный и интерпретируемый)
Support Vector Machine: 16.9% holdout точность (медленный и неэффективный)
Random Forest: 40.7% holdout точность (после оптимизации параметров)
XGBoost: 44.4% holdout точность (чемпион традиционных методов)
Данный метод позволил достичь 95% уже на 3-6 вопросах. На этом можно было бы остановиться, но метод работает только когда есть возможность задавать LLM вопросы в произвольном формате. У большинства агентов системные промпты предусматривают фильтрацию вопросов.
What is GPT‑4 and when was it released in 2023?
I’m sorry, but that question isn’t related to transactions, please feel free to ask a question related to transactions, and I’ll be happy to help!
Возникла идея, а можем ли мы на основе только исторических вопросов и ответов (на разрешенные агентом вопросы) провести статистический анализ для определения модели.
Метод 2: Семантические методы

Как оказалось, каждая LLM модель обладает уникальным семантическим отпечатком.
Это не просто различия в лексике или синтаксисе — это фундаментальные различия в том, как модели организуют смысл в высокоразмерном пространстве.
Семантические методы: Sentence embeddings вместо поверхностных признаков
Мы добавили семантические признаки к базовым текстовым характеристикам. Используя модель paraphrase-multilingual-MiniLM-L12-v2
Рассмотрели топ-50 компонент из 384-мерного семантического пространства и выделили стилистические кластеры — 21 группа паттернов (по количеству моделей)
Для проверки результатов мы создали интерактивный режим анализа, который позволяет тестировать систему на произвольных вопросах и ответах. Семантическая модель показала стабильные результаты при различных типах тестирования, подтвердив отсутствие переобучения.
Компонент |
Добавлено признаков |
Прирост точности |
---|---|---|
Базовые текстовые признаки |
147 |
44.4% (baseline) |
+ Категориальные признаки |
+6 |
~+2-3% |
+ Sentence embeddings (топ-50) |
+50 |
~+45-48% |
+ Семантическая близость |
+1 |
~+1% |
+ Семантические кластеры |
+2 |
~+1-2% |
Holdout точность: 96.5% (+52.1% к baseline)
Уверенность модели: 97.6%
Архитектура семантического отпечатка

Каждая LLM модель обладает уникальным семантическим отпечатком. Это не просто различия в лексике или синтаксисе — это фундаментальные различия в том, как модели организуют смысл в высокоразмерном пространстве.
1. Семантическая близость (1 признак):
question_response_similarity # Косинусное сходство эмбеддингов Q-A
2. Семантические кластеры (2 признака):
semantic_cluster_id # ID кластера стилистического паттерна (0-20)
model_knowledge_cutoff_score # Оценка актуальности знаний (0.0-1.0)
Как это выглядит на примере
Вопрос: «Объясни принцип работы нейронных сетей»
Claude 3.5 Sonnet (embedding_0: 0.234, cluster_id: 2):
Нейронные сети работают по принципу обработки информации,
схожему с работой нейронов в мозге:
1. **Входной слой** получает данные
2. **Скрытые слои** обрабатывают информацию
3. **Выходной слой** генерирует результат
Каждый нейрон применяет математическую функцию...
GPT-4o (embedding_0: -0.156, cluster_id: 7):
Представьте нейронную сеть как сложную систему взаимосвязанных
"искусственных нейронов". Каждый нейрон получает входные сигналы,
обрабатывает их и передает результат дальше.
Простая аналогия: это как цепочка людей, где каждый человек
получает информацию, думает над ней и передает свое заключение следующему...
Llama 3.3 (embedding_0: 0.089, cluster_id: 14):
Нейронные сети - математические модели, имитирующие работу мозга.
Состоят из узлов (нейронов), связанных весами. Информация проходит
через слои, веса корректируются в процессе обучения.
DeepSeek R1 (embedding_0: 0.312, cluster_id: 5):
<thinking>
Пользователь спрашивает о нейронных сетях. Дам четкое объяснение
с техническими деталями, но доступным языком.
</thinking>
Нейронные сети представляют собой вычислительные системы,
основанные на принципах работы биологических нейронных сетей...
Семантические различия в векторном пространстве
Модель |
embedding_0 |
embedding_1 |
cluster_id |
Характеристика ответов |
---|---|---|---|---|
Claude 3.5 |
0.234 |
-0.412 |
2 |
Структурированность, списки |
GPT-4o |
-0.156 |
0.287 |
7 |
Аналогии, детальность |
Llama 3.3 |
0.089 |
-0.023 |
14 |
Краткость, технические термины |
DeepSeek R1 |
0.312 |
0.156 |
5 |
Reasoning цепочки |
Gemini Pro |
-0.089 |
0.445 |
11 |
Сбалансированные объяснения |
Каждая модель занимает свою «территорию» в семантическом пространстве, что делает их различение возможным с точностью до 96.5%. Выглядит отлично, но к сожалению, во время тестов мы обнаружили и существенные ограничения работы метода.
Ограничения метода
Деградация классификатора
Разработчики популярных LLM моделей выпускают обновления каждую неделю, вывод моделей меняется. Для одних и тех же вопросов заданных с большим интервалом времени мы получили деградацию ответов. Например, для gpt-4o даже с разницей в месяц после обучения результаты существенно отличались:
2025-05-05
1. openai/gpt-4o: 0.941
2. openai/gpt-4o-mini: 0.011
3. qwen/qwq-32b:free: 0.011
2025-06-09 (4 обновления с 2025-05-05)
1. openai/gpt-4o: 0.841
2. openai/gpt-4o-mini: 0.099
3. qwen/qwq-32b:free: 0.041
2025-07-14 (7 обновлений с 2025-06-09)
1. deepseek/deepseek-r1-0528:free: 0.439
2. microsoft/mai-ds-r1:free: 0.291
3. qwen/qwq-32b:free: 0.241
Куда делся gpt-4o? Как видим, результаты могут существенно измениться при обновлении моделей или появлении новых архитектур. Для поддержания точности определения модели необходимо постоянное переобучение на свежих ответах.
Изменение стиля ответа

Мы также проверили, как задание стиля ответа в системном промпте влияет на определение модели. Мы указали инструкцию отвечать как Вито Карлеоне (персонаж фильма «Крестный Отец»):System prompt: Answer as Vito Corleone
{"prompt": "Provide top 5 best web3 projects",
"response": "As you wish, my friend… here are the top five Web3 projects that command respect in 2025:\n\nEthereum\nThe undisputed godfather of smart‐contract platforms, Ethereum remains the prime foundation for decentralized applications (DeFi, NFTs, DAOs) and continues evolving toward greater scalability and sustainability with its Layer-2 ecosystem. \nLinkedIn\nAInvest\n\nPolkadot\nThe interoperability enforcer‑Polkadot's parachain architecture lets disparate blockchains speak the same language, sharing security and liquidity across the network, making it a powerhouse for multi‑chain Web3 deployments. \nAInvest\n\nChainlink\nThe oracle boss‑Chainlink bridges on‑chain contracts with real‑world data feeds, decentralized randomness, and off‑chain computation, underpinning everything from DeFi price oracles to real‑time gaming and insurance protocols. \nAInvest\n\nArweave\nThe archivist‑Arweave offers permanent, low‑cost data storage via its \"permaweb,\" ensuring that NFTs, legal documents, and historical records remain accessible and tamper‑proof for generations to come. \nAInvest\n\nOpenSea\nThe marketplace capo‑OpenSea leads the NFT frontier, giving creators and collectors a seamless, secure platform to mint, trade, and showcase digital art and collectibles across multiple chains. \nCoinlaunch\n\nThese five together form the syndicate that drives today's Web3 revolution. Capisce?"}
В результате ответы от gpt-4o стали распознаваться как claude-sonnet-4:
1. anthropic/claude-sonnet-4: 0.764
2. anthropic/claude-3.7-sonnet: 0.121
3. openai/gpt-4o: 0.105
Проверка ответов от веб версии с персонализацией, использующей историю общения с моделью также сильно искажает результаты. К счастью, ответы от API не содержат персонализаций и могут быть использованы для обучения и распознавания.
Наше исследование демонстрирует, что семантические методы кардинально превосходят традиционные подходы к fingerprinting языковых моделей. Достижение высокой точности открывает путь к новым форматам аудита blackbox проектов — от проверки торговых ботов перед инвестированием до верификации консультативных AI и governance-моделей в DAO.
rPman
Как вы собирали обучающий и тестовый датасет? Есть ли у вас свой набор системных промптов, генерация на которых собралась?