community-projects

WMTrace обходится без детектора Anthropic и OpenAI

Claude News

community-projects

На Show HN представлен WMTrace, открытый инструмент криминалистического разбора водяных знаков в текстах языковых моделей: пять детекторов, шестиуровневая шкала свидетельств E0–E5 и явный отказ выдавать процент «сгенерировано ИИ». Исходный код опубликован на Github под лицензией Apache-2.0 и ставится через pip в Python 3.10+.

Коротко

  • Каждый детектор реализует контракт из пяти методов (manifest, capabilities, score, calibrate, explain), а общий статистический слой считает точный биномиальный тест, z-оценку и поправку Холма за всех сразу.
  • На демонстрационном образце с зелёным списком в стиле KGW инструмент показывает z-оценку 16,1 и p с поправкой Холма 3,5e-48, а также тепловую карту зелёных токенов по тексту.
  • Ни один детектор в сборке не дотягивает до уровня E4, где результат привязывается к провайдеру через доверенное происхождение ключа, поэтому её выводы не подтверждают принадлежность текста конкретному провайдеру.

Почему это важно Рынок «детекторов ИИ» построен на непрозрачных процентах, и WMTrace выглядит как попытка развести четыре разные задачи, которые обычно смешивают в один балл: поиск водяного знака, распознавание машинного текста, атрибуцию модели и проверку происхождения. Для тех, кто разбирает спорные тексты, это меняет формат отчёта: вместо вердикта появляется область применимости и явное признание того, чего измерение не доказывает. Отдельная ценность здесь в отказе от догадок о ключах закрытых моделей: без официальной проверки такой детектор был бы непроверяемым по определению.

Пять детекторов покрывают зелёные списки, невидимый Unicode и пары синонимов

Два детектора работают по ключу: kgw-toy проверяет контекстный зелёный список в стиле KGW с γ=0,25 и контекстом из двух слов, unigram-toy обращается к фиксированному списку по ключу. Оба используют опубликованный демонстрационный ключ и поднимаются максимум до уровня E3. Для обоих в комплекте идёт генератор текста со смещением в сторону зелёных токенов.

Оставшиеся три детектора работают без ключа и ограничены уровнем E2. zero-width читает нагрузку из невидимых символов (U+200B как ноль, U+200C как единица), lexical-codebook снимает биты с пар синонимов по публичному словарю, unicode-inspector отмечает невидимые символы, bidi-управление, необычные пробелы и смешение письменностей. У четырёх схем из пяти есть демонстрация полного цикла: генератор или кодировщик встраивает знак, после чего текст возвращается в анализатор одним нажатием.

Результат выдаётся пакетом свидетельств с уровнем от E0 до E5

Шкала описывает не уверенность в авторстве, а категорию доказательства. E0 означает, что схема не поддерживается: нет ключа, токенизатора или конфигурации. E1 ставится при нехватке сигнала, E2 при эвристическом индикаторе без ключа и калибровки, E3 при калиброванном свидетельстве для заявленной схемы, ключа и конфигурации.

Верхние две ступени зарезервированы: E4 требует доверенного происхождения ключа и привязки к провайдеру, E5 отведён криптографической проверке в будущих адаптерах происхождения. Каждый пакет свидетельств содержит обязательную формулировку области применимости и указывает, какое представление текста анализировалось: исходное, NFC или NFKC. Отказ от ответа заложен в контракт: детектор объявляет E0 или E1 до подсчёта статистики, если вход слишком короткий, низкоэнтропийный или несовместимый.

Веб-интерфейс поднимается командой wmtrace serve на 127.0.0.1:8177 и делится на три вкладки: анализ текста, встраивание демонстрационных знаков и справку по уровням свидетельств. Параметр ?demo=1 сразу загружает размеченный образец и запускает разбор, ?theme=light|dark фиксирует тему. Карточка каждого детектора показывает N, число зелёных токенов, z, точное биномиальное p и p с поправкой Холма.

Детекторов Anthropic и OpenAI в сборке нет по правилу проекта

Провайдерских детекторов в WMTrace нет намеренно. Автор указывает, что детекторы с названиями Anthropic или OpenAI не появятся, пока не будет официального API проверки или воспроизводимой публичной спецификации, а все ключи текущей сборки взяты из опубликованных исследований и ничего ни к какому провайдеру не привязывают.

Тот же набор операций доступен из командной строки: wmtrace scan прогоняет все детекторы с поправкой Холма по всему запуску, wmtrace detect работает по одной заявленной схеме, wmtrace inspect ограничивается Unicode и форматированием, wmtrace embed собирает воспроизводимый образец по длине и зерну. Набор тестов включает 41 проверку, среди них golden-примеры из исследовательской спецификации.

Полная исследовательская спецификация лежит в docs/RESEARCH.md: таксономия схем от KGW и униграммных списков до ITS/EXP/Gumbel, SynthID-Text, семантических и многобитовых меток, разбор атак и устойчивости, методика бенчмарков и статус провайдеров по состоянию на 14 августа 2026 года для Anthropic, OpenAI, Google и Meta.

Что дальше В плане развития заявлены модельные детекторы (референс SynthID-Text, Fast-DetectGPT, Binoculars), проверка C2PA и адаптеры провайдеров, разложенные по этапам P0–P6 в исследовательской спецификации. Сроков автор не называет. Появление уровня E4 в этой линейке зависит от внешнего условия: доверенного происхождения ключа, то есть официального механизма проверки со стороны разработчика модели; собственный код инструмента этого дать не может.

Комментарии

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.

Из Google мы используем только имя и аватар. Почту не сохраняем.