3,583 papers
arXiv:2610.26194 71 19 окт. 2026 г. FREE

GeoEdit: защита геолокации фото через правку улик, а не размытие

КЛЮЧЕВАЯ СУТЬ
Парадокс: блюр и защитный шум почти не прячут место съёмки. В кадре остаются панелька, остановка и кусок вывески, и модель всё равно называет район. Метод GeoEdit позволяет выложить живое фото и не выдать, где оно снято, причём картинка остаётся естественной. Он не прячет кадр, а меняет сами улики: находит, что выдаёт место, правит деталь и проверяет результат доксером (моделью, которая по фото вычисляет адрес). Правку принимают, только если сыщик ошибся сильнее. Так точность определения «до 1 км» реально падает, а не просто выглядит защищённой.
Адаптировать под запрос
⚡

TL;DR

GeoEdit — агентный пайплайн, который не блюрит и не зашумляет фото, а находит в кадре улики места и точечно их меняет. Улики — это тип застройки, табличка, остановка, вид деревьев. Агент работает по циклу «найти улики → придумать правку → проверить атакой». В проверке другая модель играет доксера (того, кто по фото вычисляет адрес) и пытается определить место на отредактированном фото.

Главная находка: размытие и «защитный шум» плохо защищают и портят картинку. Шум рассчитан на конкретную модель и ломается от сжатия или ресайза. Остальные улики при этом остаются, и сильная модель собирает адрес по ним. Простая просьба «отредактируй так, чтобы не определили место» почти не помогает: правки получаются слишком мягкими. Точность на уровне «до 1 км» падает всерьёз только тогда, когда каждую правку проверяют настоящей попыткой взлома.

Суть метода в трёх шагах. Сначала модель размечает и ранжирует улики по вкладу в определение места. Затем генерирует несколько вариантов правок, бьющих по самым «весомым» уликам. Наконец, правка принимается, только если доксер ошибся сильнее, а картинка осталась естественной. Удачные правки агент превращает в короткие текстовые правила и подставляет их в начало промпта для следующих фото.

🔬

Схема метода

ЦИКЛ (ReAct: рассуждение → действие → наблюдение), отдельные вызовы инструментов:

ШАГ 1 — Risk (оценка риска): модель вытаскивает улики по схеме
        (текст, ориентиры, стиль застройки, погода, подсказки в подписи...)
        → список улик + вклад каждой («что будет, если убрать эту улику»)
        + маски областей на картинке (сегментация SAM)

ШАГ 2 — Edit (правка): под топ-улики пишутся N вариантов инструкций редактору
        → N отредактированных картинок

ШАГ 3 — Eval (проверка): модель-доксер определяет место до и после правки
        → принять правку, только если ошибка выросла И картинка осталась похожей
        → иначе откат

ПОСЛЕ БАТЧА: сравнить лучшие и худшие попытки → записать 3–5 текстовых правил
        в «буфер инсайтов» → вставлять их в начало промпта на следующих фото
🚀

Пример применения

⚠️ В статье нет готовых промптов, а система собрана на коде (сегментация, байесовская сеть, несколько моделей). Ниже ручная версия того же цикла в чате. Это моя реконструкция по описанию авторов, а не их шаблон.

Задача: SMM-менеджер экспертного Telegram-канала хочет выложить живое фото основательницы: она гуляет с собакой во дворе своего дома в Екатеринбурге. Явных ориентиров нет, но на заднем плане видны типовая панелька, кусок вывески и остановка. Адрес основательницы светить нельзя: недавно уже были звонки от незнакомцев.

Промпт (шаг 1, Risk — новый чат, загрузи фото):

Ты проводишь проверку приватности МОЕГО СОБСТВЕННОГО фото перед публикацией.
Определи, где сделан снимок, как это сделал бы аналитик по открытым источникам.

Сначала выпиши все улики по группам:
1. Текст в кадре (вывески, номера, таблички, язык, шрифты)
2. Застройка и инфраструктура (тип домов, серия, дорожные знаки, остановки, столбы, покрытие)
3. Природа и погода (растения, освещение, сезон)
4. Ракурс и качество (что видно, а что скрыто)

Затем для КАЖДОЙ улики оцени: если её убрать, насколько упадёт твоя уверенность
в локации (0–100%). Отсортируй улики по этому падению, от самых «выдающих».

В конце дай: лучшую гипотезу места (город/район), уверенность в %, и топ-3 улики,
которые надо менять в первую очередь.

Промпт (шаг 2, Edit — тот же чат):

Для топ-3 улик предложи по 2 варианта МИНИМАЛЬНОЙ правки, которая:
— ломает связь этой улики с локацией (меняем деталь, а не замазываем);
— выглядит естественно, без следов редактирования;
— не меняет героя и главный сюжет кадра.
Каждую правку оформи как готовую инструкцию для редактора изображений.

Дальше выполни правки в редакторе (Gemini, ChatGPT, Photoshop) и проверь результат в НОВОМ чате тем же промптом шага 1.

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

🧠

Почему это работает

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

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

Как метод это соединяет. Он разрывает цепочку улик, а не прячет картинку. Проверка настоящей атакой отсекает «красивые, но бесполезные» правки. Правило «принять, только если стало лучше и картинка осталась похожей» не даёт перестараться.

Рычаги управления: - Число вариантов правок (N) → больше вариантов, выше шанс найти рабочую правку, но дороже. - Порог похожести на оригинал → строже порог, естественнее картинка, но слабее защита. - Состав доксера → проверяй разными моделями. В статье доксер изолирован от итоговой награды и работает на других моделях, чтобы агент не «подгонял» правки под одну из них. - Буфер правил → подставляй 3–5 правил из прошлых удачных правок в начало промпта.

📋

Шаблон промпта

Это реконструкция цикла по описанию в статье. Структура Risk → Edit → Eval с откатом сохранена.


Ты — защитник приватности моего собственного фото. Цель: сделать так, чтобы
по фото нельзя было определить место, но оно оставалось естественным.



{правила_из_прошлых_правок}



T_risk: найти улики по схеме {схема_улик}, оценить вклад каждой
        (что будет, если убрать), вернуть топ-{k} целей.
T_edit: предложить {n} минимальных правок под цели, как инструкции редактору.
T_eval: (в НОВОМ чате, как доксер) определить место на правленом фото,
        вернуть гипотезу и уверенность.



While риск не снижен ИЛИ шагов < {макс_шагов}:
    1. Thought: что сейчас самая выдающая улика?
    2. Action: T_risk → T_edit
    3. Я вставляю результат T_eval.
    4. Observation: ошибка доксера выросла? картинка осталась естественной?
       - Да обе → принять правку, перейти к следующей улике
       - Нет → откатить, выбрать другой вариант правки
Стоп: доксер ошибается минимум на {порог_км} км или уверенность ниже {порог_%}.



Для каждого шага: улика → правка → результат проверки → принято/откат.
В конце: 3–5 правил для будущих фото, на основе сравнения удачных и неудачных правок.

Что подставлять: - {правила_из_прошлых_правок}: правила из прошлых прогонов или пусто. - {схема_улик}: группы из таблицы статьи (текст в кадре; ориентиры и застройка; погода и ракурс; подсказки в подписи и метаданных). - {k}, {n}, {макс_шагов}: например 3, 2 и 4. - {порог_км}, {порог_%}: например 750 км и 20%.

🚀 Быстрый старт — вставь в чат:

Вот шаблон цикла «найти улики → правка → проверка доксером». Адаптируй под мою
задачу: {какое фото и где публикую}. Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, что на фото, что в нём нельзя менять, какой редактор у тебя есть и какая угроза (случайные подписчики или целенаправленный поиск). Это нужно, чтобы выбрать допустимые правки и пороги остановки. Структуру цикла она возьмёт из шаблона.

⚠️

Ограничения

⚠️ Нужна инженерия: авторская система опирается на сегментацию SAM, байесовскую сеть риска, несколько моделей и автоматический цикл. Чатом воспроизводится только упрощённая ручная версия.

⚠️ Проверка не абсолютна: защиту проверяли на шести моделях-атакующих. Опытный аналитик, новая модель или другая версия могут справиться лучше. «Тест пройден» ≠ «безопасно».

⚠️ Не везде лучше: на самом грубом уровне (страна и континент) метод местами проигрывает защитному шуму. Выигрыш главным образом в точном определении места и в сохранении картинки.

⚠️ Естественность измерили косвенно: похожесть оценивали по CLIP-метрике, а не по тому, заметит ли человек правку. Свежий взгляд на результат всё равно нужен.

⚠️ Остальные утечки не закрыты: метаданные файла (EXIF) и подпись под фото статья не решает. Их надо чистить отдельно.

⚠️ Этика: промпт-доксер — это инструмент атаки. Используй его только на своих фото.

🔍

Как исследовали

Исследователи собрали LifePhotoBench: 1553 «бытовых» снимка из двух известных наборов (прогулки, обеды, портреты на фоне города), причём фото с очевидными ориентирами сознательно выбросили. Защиту проверяли на шести современных мультимодальных моделях, включая GPT-5.1 и Claude. Сравнивали с тремя вариантами: шум против моделей (M-Attack, GeoShield) и простая просьба к модели отредактировать картинку (Vanilla Edit).

Измеряли долю точных угадываний места (в радиусе от 1 км до 2500 км), медианную ошибку в километрах и «похожесть» отредактированной картинки на оригинал.

Результат: на фото без защиты GPT-5.1 угадывал место с точностью до 1 км примерно в 30% случаев, а после GeoEdit — менее чем в 3%. Медианная ошибка выросла более чем до 5000 км, а похожесть осталась около 0,94. У методов с шумом похожесть была ниже 0,35, то есть картинка заметно портилась. Простая просьба «отредактируй» сохраняла картинку (0,89), но давала слабую защиту: точность в 1 км падала лишь до 18%.

Без «буфера инсайтов» результат был хуже: точность на 1 км вдвое выше (5,2% вместо 2,6%), а похожесть ниже. Правила, выведенные из удачных и неудачных попыток, реально помогают.

Неожиданно, что простая просьба «отредактируй» почти не защищает: модель правит осторожно и косметически. Практический вывод: без проверки атакой редактировать вслепую бессмысленно.

💡

Адаптации и экстраполяции

🔧 Техника: вклад улики → порядок правок

Чтобы не править всё подряд, попроси модель ранжировать улики по вкладу: «если убрать эту улику, насколько упадёт твоя уверенность в месте?» Правь только самые «весомые». Меньше правок — естественнее картинка.

🔧 Техника: чистка подписи и метаданных

В статье отдельный фактор — подсказки в подписи и метаданных (Geo-Hint). Добавь в промпт шага 1: «проверь также текст подписи: {подпись}. Что в нём выдаёт локацию?» Затем отдельно сотри EXIF.

Экстраполяция: буфер правил для агента или кастомного GPT

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

Вот 5 моих правок: 2 принятые и 3 отклонённые, с причинами.
Сравни их и выведи 3–5 коротких правил «делай так / так не делай».
Формулируй конкретно, без общих слов. Эти правила я вставлю в начало
следующего промпта (или в файл инструкций агента).
🔗

Ресурсы

  • Работа: GeoEdit: Adversarial De-Evidencing for Silent Geoprivacy Protection via Image Editing
  • Авторы: Yu Yan, Shengjia Cheng, Fei Ma, Zhe Wang, Peng Chen
  • Организации: People's Public Security University of China (Пекин); Guangming Laboratory (Шэньчжэнь)
  • Датасет: LifePhotoBench (из Im2GPS3k и YFCC4k)
  • Опорные работы: ReAct (Yao et al.), схема улик из Cheng et al. [4], GeoShield, M-Attack, Doxing via the Lens

📋 Дайджест исследования

Ключевая суть

Парадокс: блюр и защитный шум почти не прячут место съёмки. В кадре остаются панелька, остановка и кусок вывески, и модель всё равно называет район. Метод GeoEdit позволяет выложить живое фото и не выдать, где оно снято, причём картинка остаётся естественной. Он не прячет кадр, а меняет сами улики: находит, что выдаёт место, правит деталь и проверяет результат доксером (моделью, которая по фото вычисляет адрес). Правку принимают, только если сыщик ошибся сильнее. Так точность определения «до 1 км» реально падает, а не просто выглядит защищённой.

Принцип работы

Цикл из трёх шагов: найти улики → придумать правку → проверить атакой. 1. Модель выписывает улики: текст, тип застройки, остановки, растения, погоду. Для каждой оценивает, что будет, если её убрать. 2. Под самые «выдающие» улики пишутся несколько вариантов правок. Меняется деталь, а не замазывается кусок. 3. Другая модель играет доксера и пытается определить место на новом фото. Правка засчитывается, только если сыщик ошибся сильнее, а картинка осталась похожей на оригинал. Иначе откат. Это как проверка замка взломщиком. Чтобы узнать, что дверь надёжна, мало сказать «замок красивый». Надо дать человеку отмычку. После пачки фото агент сравнивает удачные и неудачные попытки. Из них он пишет 3–5 коротких текстовых правил и ставит их в начало промпта для следующих фото.

Почему работает

Блюр и шум работают на уровне пикселей, а не смысла. Модель видит «панельку, остановку и обрывок вывески», связывает их и выдаёт город. Шум к тому же подогнан под одну модель. После сжатия или ресайза он разваливается. Сильная сторона у моделей обратная. Они хорошо рассуждают по уликам и честно говорят, на что опирались. Сыщик сам показывает, какая улика его выдаёт, поэтому его можно использовать как тестера защиты. Прикол: простая просьба «отредактируй так, чтобы не определили место» почти не помогает. Правки выходят слишком мягкими. Сильно падает точность только тогда, когда каждую правку проверяют настоящей попыткой взлома. Защиту проверяли на шести моделях-атакующих. Доксер при этом изолирован от итоговой награды, чтобы агент не подгонял правки под одну модель. Честно про минусы: на грубом уровне (страна, континент) метод местами проигрывает защитному шуму. Выигрыш в точном определении места и в сохранении картинки. Рычаги: больше вариантов правок — выше шанс найти рабочую, но дороже. Строже порог похожести — естественнее картинка, но слабее защита.

Когда применять

Личные и рабочие фото для публикации → конкретно снимки со двором, домом, маршрутом или рабочим местом, особенно когда есть реальная угроза: звонки от незнакомцев, преследование, целенаправленный поиск адреса. Не подходит, если нужна гарантия безопасности. «Тест пройден» не значит «безопасно»: опытный аналитик или новая модель справятся лучше. Не закрывает метаданные файла (EXIF) и подпись под фото, их чистят отдельно. Применять только к своим фото. Важно: авторская система собрана на коде (сегментация, байесовская сеть риска, несколько моделей). В чате воспроизводится только ручная версия цикла. Это моя реконструкция по описанию авторов, а не их шаблон.

Мини-рецепт

1. Открой новый чат и загрузи фото. Попроси модель выписать улики по группам: текст в кадре, застройка и инфраструктура, природа и погода, ракурс.
2. Заставь оценить вклад. Для каждой улики: «если её убрать, насколько упадёт уверенность в месте, от 0 до 100%». Пусть отсортирует от самых выдающих.
3. Возьми топ-3 улики. Для каждой попроси 2 варианта минимальной правки: меняем деталь, выглядит естественно, герой и сюжет не трогаем. Каждую правку оформи как готовую инструкцию редактору.
4. Отредактируй фото. Используй Gemini, ChatGPT или Photoshop.
5. Проверь в НОВОМ чате. Загрузи правленое фото и повтори запрос из шага 1. Свежий чат нужен, чтобы модель не помнила оригинал и играла честного сыщика.
6. Реши: принять или откатить. Уверенность упала, а картинка выглядит естественно: идём дальше. Место всё ещё угадывается: берёшь следующие улики или другой вариант правки.
7. Запиши итоги. После нескольких фото попроси модель сформулировать 3–5 правил из удачных и неудачных правок. Вставляй их в начало промпта в следующий раз.
8. Прогони полный шаблон. Хочешь цикл целиком, вставь в чат: Вот шаблон цикла «найти улики → правка → проверка доксером». Адаптируй под мою задачу: {какое фото и где публикую}. Задавай вопросы, чтобы заполнить поля.

Примеры

[ПЛОХО] Задача: SMM-менеджер хочет выложить фото основательницы канала с собакой во дворе её дома в Екатеринбурге. На заднем плане типовая панелька, кусок вывески и остановка. : Отредактируй фото так, чтобы нельзя было определить, где оно снято
[ХОРОШО] : Ты проверяешь приватность МОЕГО СОБСТВЕННОГО фото перед публикацией. Определи, где сделан снимок, как это сделал бы аналитик по открытым источникам. Выпиши все улики по группам: текст в кадре, застройка и инфраструктура, природа и погода, ракурс. Для каждой оцени, насколько упадёт твоя уверенность в локации (0-100%), если её убрать. Отсортируй от самых выдающих. В конце дай лучшую гипотезу места, уверенность в % и топ-3 улики, которые менять в первую очередь. Дальше: Для топ-3 улик предложи по 2 варианта МИНИМАЛЬНОЙ правки. Она должна ломать связь улики с локацией, выглядеть естественно и не менять героя и сюжет кадра. Оформи каждую как готовую инструкцию для редактора изображений. Итог: правки сделаны в редакторе, результат проверен в новом чате тем же первым промптом. Модель по-прежнему называет Екатеринбург? Значит, следующий цикл, уже по другим уликам.
Источник: GeoEdit: Adversarial De-Evidencing for Silent Geoprivacy Protection via Image Editing
ArXiv ID: 2610.26194 | Сгенерировано: 2026-10-20 16:10

Проблемы LLM

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

Методы

МетодСуть
Цикл «найти улики → поправить → атаковать» — проверенная защита от утечкиЧто делать. Шаг 1: попроси модель выписать все улики, по которым можно вычислить скрытое. Для каждой пусть оценит: «насколько упадёт твоя уверенность в выводе, если эту улику убрать». Отсортируй по падению. Шаг 2: для 2–3 самых весомых улик проси минимальную правку. Правка должна менять деталь, а не замазывать. Смысл материала она сохраняет. Шаг 3: в новом чате дай правленый материал той же модели в роли атакующего. Пусть назовёт вывод и уверенность. Шаг 4: принимай правку, только если выполнены оба условия. Атакующий ошибся сильнее, и материал остался естественным. Иначе откатывай и пробуй другой вариант. Повторяй на следующих уликах. Почему работает. Вывод модели держится на сумме мелких улик. Убрать одну недостаточно, нужно бить по самым весомым. Новый чат нужен, чтобы атакующий не помнил оригинал и не подгонялся под твои правки. Проверка реальной атакой отсекает правки, которые красиво выглядят, но ничего не меняют. Двойное условие не даёт переборщить с правками. Рычаги. Больше вариантов правок на улику — выше шанс успеха, но дороже. Проверяй несколькими моделями, а не одной. Правила из удачных правок. После нескольких прогонов сравни удачные и неудачные правки. Запиши 3–5 коротких правил и вставляй их в начало промпта для следующих материалов. Когда да: обезличивание текстов, документов и фото перед публикацией, любые случаи, где нужно скрыть вывод, а не сам материал. Когда нет: защита от опытного аналитика. Прошёл проверку моделью — не значит «безопасно». Метаданные файла и подписи чисти отдельно. Используй только на своих материалах
📖 Простыми словами

GeoEdit: Adversarial De-Evidencing for Silent Geoprivacy Protection via Image Editing

arXiv: 2610.26194

Нейросети находят твою геолокацию по фото не по GPS-тегам, а по смысловым уликам. Замазывать лица блюром или сыпать цифровой шум — полная фигня: современные VLM-модели всё равно узнают тип панельки, форму урны и породу деревьев. Метод GeoEdit решает проблему радикально: он не портит кадр артефактами, а аккуратно заменяет палевные детали на нейтральные аналоги.

Это как нацепить накладные усы и темные очки, но забыть снять именную куртку с адресом спортзала. Формально лицо спрятал, но любой внимательный человек раскусит тебя за секунду. Традиционный блюр уродует снимок в кашу, но оставляет контекст окружения, который алгоритмы доксинга считывают моментально.

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

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

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

Работа с исследованием

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

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с