Конференция QCon: как бороться с поддельными ИИ-изображениями при помощи библиотек JavaScript

Силлс выступает за новую норму, согласно которой все реальные изображения должны иметь метку времени, достоверные метаданные и подтверждаться проверяемыми документами, которые гарантируют их подлинность. 

На конференции QCon в Сан-Франциско Кейт Силлс, консультант по разработке программного обеспечения, выступила с докладом о борьбе с поддельными изображениями, которые созданы ИИ. Для решения проблемы она предложила использовать существующие библиотеки JavaScript. Иначе говоря, криптографическую временную метку для определения времени съемки фотографий и цифровые подписи, чтобы подтвердить легитимность источника. Об этом пишет infoq.com.

Силлс подчеркивает, что для решения проблемы ИИ-изображений необходимо повысить требования к подлинным изображениям. В свою очередь инженеры-программисты должны создавать системы, которые позволят соответствовать требованиям.

Так, за последние несколько лет создание ИИ-изображений значительно изменилось. Эти инструменты стали настолько точными, что могут создавать реалистичные изображения, что затрудняет различие между подлинными и ИИ-фотографиями. Такая способность ИИ привела к изменениям в обществе: мы больше не можем полагаться на фотографии как на надежный источник, доказательство истины.

При этом Кейт Силлс отмечает, что в сгенерированных фотографиях можно обнаружить «классические признаки ИИ». Но даже такой подход не позволяет избежать проблемы, связанной с тем, что ИИ продолжает совершенствоваться, а значит, эти признаки со временем исчезнут. В результате возникает «гонка вооружений» между технологиями генерации и обнаружения изображений.

Еще один признак подлинности изображения – метаданные, в которых содержится много информации о подлинности изображения. Можно посмотреть отметку времени, автора и другое. Однако метаданные также можно подделать, т.е. взять метаданные действительного изображения и добавить их к изображению, сгенерированному ИИ. 

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

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

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

Читайте также
В Django 5 появилось 5 новых функций
В Django 5 появилось 5 новых функций
В Django 5 появилось 5 новых функций

Django, веб-фреймворке Python, появились пять новых функций. Среди них: упрощенная визуализация полей и форм, поля модели для вычислений и генерируемые столбцы, больше декораторов асинхронного представления, обработка исключений для асинхронных отключений и другие.

Dev новости: Vite 5, Roc язык, JS Framework SDKs
Dev новости: Vite 5, Roc язык, JS Framework SDKs
Dev новости: Vite 5, Roc язык, JS Framework SDKs

Коротко о Vite который использует Rust. Язык Roc использует WebAssembly и SDK платформы JS для аутентификации.

Dev новости:  Nuxt 3.9, Vue.js 3.4, анализируем React Server Components
Dev новости: Nuxt 3.9, Vue.js 3.4, анализируем React Server Components
Dev новости: Nuxt 3.9, Vue.js 3.4, анализируем React Server Components

Улучшения в Vue.js, анонс новых фич для версии 3.9 в Nuxt. Bun, Copilot и небольшой анализ react серверных компонентов.

Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API

С API веб-приложениям больше не нужно предоставлять собственную библиотеку сжатия или распаковки.