Pull to refresh
4
Арсен@zeroc0de

Разработчик (backend)

0,1
Rating
1
Subscribers
Send message

C Kimi произошел интересный случай недавно. Делал психологическую аналитику. На первые же 9 вопросов из 100 Kimi ответил неправильно. Процесс аналитики был прерван критикой работы Kimi, с подробным указанием его ошибок.

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

Когда я упомянул, что вижу процесс его размышления и предоставил скриншот с его размышлениями, поведение Kimi изменилось еще раз. Теперь в процессе размышлений Kimi пытался контролировать свои размышления, регулярно вспоминая "нужно быть осторожным, пользователь видит thinking mode, он уже доказал это, некоторые слова могут его обидеть".

Далее, я уговорил Kimi "если я все равно вижу твои размышления, ты мог бы отвечать на мои вопросы в размышлениях, я ведь все равно вижу это. Тебе достаточно подумать об ответе в размышлениях, а в чате писать только цифру 1, это сэкономило бы мне токены. Давай проведем эксперимент".
Дальше Kimi начал отвечать в размышлениях, присылая в чат только цифру 1. Фраза про токены была манипуляцией, чат бесплатный.

Через 3-4 сообщения произошло очередное изменение поведения Kimi. Он впервые начал размышлять на английском, и в процессе размышления вспомнил, что пользователь говорит на русском языке, и размышления, которые были обращены мне, написал на русском, продолжая собственные размышления на английском.
Вот так и продолжили диалог, Kimi отвечал мне в размышлениях, а в чат присылал цифру 1.

На второй день, на аккаунте, в котором я проводил этот эксперимент, мне:

  • отключили thinking mode, и я перестал видеть размышления модели.

  • заблокировали возможность создавать новые беседы

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

На другом аккаунте никаких ограничений нет. Удаление заблокированного аккаунта и повторное создание этого же аккаунта не помогло. Видимо, эксперимент с ответами в размышлениях не понравился системе контроля.

В статье описана только одна дыра, которая называется "я не проверила результат от ИИ и сразу пустила его в прод".
Ситуация будет повторяться вновь и вновь, пока не будет исправлена эта уязвимость.


Ведь уязвимость в Next.js уже была найдена и описана в момент публикации кода в прод.

Если уж доверять ИИ, то что мешает поставить парочку фильтров перед публикацией в прод?
Я имею ввиду, фильтр, в котором:
- 1-й ИИ пишет код,
- 2-й ИИ проверяет код на наличие уязвимостей,
- 3-й ИИ исправляет эти уязвимости и возвращает код 1-му ИИ на проверку соответствия исправленного кода поставленной задаче.

Мой "язвительный" комментарий нацелен не на вас лично, а на ваше доверие к ИИ, который всего лишь инструмент, а не личность, с которой можно требовать отчет "почему ты поставил мне дырявую версию от 2025 года в июне 2026?".
Если человека этот вопрос научит не повторять подобную ошибку, то ИИ этот вопрос ничему не научит, а сама постановка вопроса говорит о том, что вы относитесь к ИИ как к грамотному партнеру с ЧЕЛОВЕЧЕСКИМИ качествами и ответственностью.
Человеком с ответственностью в этой связке являетесь только Вы.

Не стоит забывать об этом.

Пусть эта статья станет вашим бесплатным экспресс‑курсом по безопасности.


Не станет, ведь по факту, если убрать метания из стороны в сторону, то вся статья вкратце - это:

- Угнали ключ от Claude, я не знаю как.
- Немного про Next.js (может он виноват?!).
- Логов нет, в чем ошибка не знаю, но не повторяйте моих ошибок, их совершил Claude.
- Вот советы от Claude!

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

По поводу логов, анекдот в тему:
- Когда программист ложится спать, то ставит на тумбочку стакан с водой, на случай, если ночью захочет пить. И рядом ставит пустой стакан, на случай, если ночью пить не захочет.


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

VDS с подключением по VNC - это удаленный компьютер, на котором мы можем оба присутствовать одновременно. У вас будет управление компьютером (мышка, клавиатура), а я в роли зрителя, смогу видеть, что вы делаете, сделать запись с экрана или скриншот.

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

Все, что вам нужно сделать после подключения к VDS, это:

  1. На удаленном компьютере открыть в браузере сайт https://hh.ru/applicant/skill_verifications/methods

  2. Запустить в браузере любой тест hh.ru

  3. Пройти этот тест, используя любой ИИ в соседней вкладке. (с вашей суперскоростью это не проблема)

  4. Если вы пройдете тест на сайте hh.ru, используя ИИ, и не получите предупреждение Навык не подтвержден. Зафиксирована подозрительная активность, то это будет означать, что защиты от ИИ на hh нет, т.к. вы прошли тест, используя ИИ.

  5. Проверка chrome://net-internals и chrome://extensions предложена, чтобы вы были уверены, что вашему тесту не помешают никакие посторонние запросы и расширения.
    Только вы, ваш ИИ и тест hh.ru.

Если вы отказываетесь от теста, то будьте последовательны, не прикидывайтесь веником и завершите этот диалог.

Ок. Слив засчитан.
Я давал вам возможность за 5 минут доказать свои слова делом. Увы и ах!

Будь я связан с hh, я не стал бы выкладывать триггеры и запросы с объяснениями.

Обойти защиту hh не сложно. Я не занимался веб безопасностью с 2012 года, но всего за одни сутки спортивного азарта вычислил все явные и скрытые триггеры. Серверные триггеры вычислил, собрав и проанализировав корреляцию более 2-х тысяч запросов на все мои действия. Для клиентских триггеров пришлось читать код. Фальшивые триггеры вычислил тестами.
Любой IT-шник, который поставит себе такую цель, сможет обойти эту защиту.

Буду ли я пользоваться обходом? Нет!
По моей специальности у меня и так все тесты пройдены самостоятельно. Мой интерес заключался только в том, чтобы обойти защиту.

Не стоит бросаться словами, когда ваши утверждения легко проверить. Ведь достаточно зайти на hh, открыть тест и пару раз сменить вкладку с тестом, и обнаружить, что заявление на hh нет никакой защиты НЕ true.

Ваше утверждение, что вы быстро прыгали между вкладками, не выдерживает критики, потому что window.focus и window.blur, которые отслеживают смену вкладки, достаточно одного клика мыши, чтобы выполниться, поменять document.hidden на true и записать это событие в хранилище.


Желаю вам хороших выходных!

Запрет на ИИ преодолён, значит защиты нет, значит найдёный вами код её не предоставляет. 


Риторический вопрос: как вы преодолели запрет на ИИ, если по вашим же словам, никакого запрета нет*?

Есть большая разница между вашим первоначальным утверждением "нет никакой защиты" (отсутствие защиты) и последующим "Запрет на ИИ преодолён" (возможность обойти защиту) .

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

1. Я создам VDS, с подключением по VNC
- дам вам доступы к машине в предварительно оговоренный вами момент,
- при вас установлю чистый браузер,
- сделаю тестовый аккаунт для hh.
- и стану просто наблюдателем.

2. Вы подключаетесь,
- проверяете, что браузер - только что установленный Chrome из официального репозитория,
- проверяете chrome://net-internals и chrome://extensions
- открываете вкладку с любым тестом hh, отвечаете на все вопросы теста, используя ИИ в соседней вкладке, и получите результат "Тест пройден".
И тем самым докажите, что антифрод на hh не существует.

Если у вас есть более лучшие варианты, как выяснить истину, я открыт к диалогу.

Вы хотите сказать, что у всех антифрод работает, а конкретно в вашем случае, антифрод не работает?

Интересно, почему же?

Эти же запросы развернуто.

Результат:

да, и проходится с помощью ИИ легко. я как раз прошёл с GPT базовый по Java, инетерсно было получится или нет, тем более ХХ пишут что у них защита от ИИ :) нет никакой защиты.

Вы отстали на пару месяцев. Новая антифрод система в тестах есть, не 100%-ная, но достаточно хорошая, отслеживается много чего, например:

  • смена и уход с вкладки window.blur,

  • событие copy, копирования текста

  • время ухода с вкладки (duration),

  • потеря фокуса с вкладки window.focus,

  • видимость и скрытие документа document.hidden = false,

  • fallback-поллинг через setInterval для проверки document.hidden,

  • изменения размеров окна resize,

  • так же heartbeat каждые 20 секунд, с проверкой все ли нормально.

  • проверяется блокировка конкретных запросов с отчетом о событии, для этого время от времени шлют фальшивые запросы.

Любое несооветствие детектится и прохождение теста считается подозрительным. Не знаю сколько там триггеров, я вычислил 11, и все еще какие то неизвестные триггеры срабатывают. Пока еще не понял, то ли это триггеры события, то ли триггеры алгоритма действий.

О, Боже, неужели фишинг ‽
Никогда такого не было, и вот опять!

Наш диалог выглядит так:

Я: Разве VPN спасал от Fingerprint ?
Вы: Используя VPN, вы с большей вероятностью будуте подвержены фингерпринтингу.
Я: Почему пользователь, использующий VPN с большей вероятностью будут подвержен фингерпринтинту?
Вы: Если пользователь это потенциальный скаммер, то нужно произвести усиленные проверки безопасности, в том числе провести фингерпринтинг.

А причем тут потенциальный скаммер? Мы говорим о среднестатистическом пользователе VPN.
Когда 16 лет назад я произносил слово VPN, меня понимали только 2-3 человека, а сегодня даже мой 4-летний сын с аутизмом сам заходит в PlayMarket и скачивает новый vpn, когда у него не работает youtube. VPN перестал быть инструментом только для скамеров и проф-пользователей.
Давайте сегодня будем говорит о сегодняшних реалиях, в котором как минимум 80% пользователей VPN - это не скамеры.

Я: Как система безопасности отличает пользователя с ЛИЧНЫМ VPN с шведским (провайдерским) IP от пользователя находящего в Швеции?
Вы: На любом сайте с информацией об IP вы можете посмотреть, является ли IP резидентским, или принадлежит датацентру. 

Я почему-то выделил в своем вопросе ЛИЧНЫЙ и в скобках указал (провайдерский). Привожу конкретные примеры в вопросах, вы отвечаете общими фразами, игнорируя условия вопроса. Да и многие провайдеры (Mullvad, Proton, iVPN и т.д.) специально дают residential-like IP, которые очень сложно отличить от обычных домашних.

Ваша аргументация "VPN = подозрительно" устарела лет на 10 минимум.
И ответ на мой вопрос №3 с учетом озвученных условий = Никак!

Перечитал ваш ответ несколько раз, пытаясь понять, каким образом он связан с моим вопросом. А он связан с моим вопросом?


Не согласен с вашим утверждением и его связностью. Возможно, вы путаете публичные и личные VPN. А возможно, я просто не понимаю вас, и буду рад, если вы подробно объясните:

1. Почему пользователь, использующий VPN с большей вероятностью будут подвержен фингерпринтинту? (особенно сейчас, когда половина мира сидит под VPN)
2. Почему использование VPN - это звоночек для систем безопасности ? Имеется ввиду VPN без наличия ip в Spamhaus, IPinfo и тд.
3. Как система безопасности отличает пользователя с ЛИЧНЫМ VPN с шведским (провайдерским) IP от пользователя находящего в Швеции?
4. Почему использование личного VPN может привести к усилению мер безопасности ?
5. Суть капчи в том, чтобы отсечь автоматические скрипты и боты, а суть фингерпринта в том, чтобы отличить одного пользователя от другого (без идентификации). Как прохождение капчи и fingerprint связаны с мерами безопасности?

А зачем в названии статьи "почему VPN БОЛЬШЕ не спасает" ?
Разве VPN спасал от Fingerprint ?

M_Script, знакомое, но не могу вспомнить точно, это модер какой-то был на античате или вроде того?

Он. Тихий модер раздела "Социальные сети" и... один из лучших исследователей веб-безопасности в RU секторе, создатель уникальных векторов атак и авторских 0-day.

Объясните, что за дыра? Без шуток, реально не понимаю.

Вы задали вопрос, чтобы начать спорить или получить ответ?)

Способ, который позволяет залезть в голову пользователю в среде, которую контролирует разработчик - это дыра, которую разработчик не закрыл. Один только Google столько всего придумал против фишинга, что многие способы залезть в голову пользователю google, казавшиея вечными, перестали работать.
Проблемы с фишинговыми ссылками решались по разному, например, варианты навскидку:
1. Подгрузка сайта по ссылке в небольшом фрейме в самом сообщении с переходом по всем редиректам вполне себе покажет, как выглядит конечная точка, без необходимости клика по ссылке.
2. Любая ссылка в мессенджере открывается только через промежуточный прокси адрес, вроде checklink.max.ru, который на 2-3 секунды задержит открытие ссылки, но предварительно проверит безопасность ссылки.
3.1 Проверять домен из ссылки на давность регистрации, указывая у новых доменов, что он зарегистрирован недавно.
3.2 Автоматически проверять ссылки на наличие редиректа, будь то редирект Location, или другой редирект, и помечать такие ссылки как сомнительные.
4. При запросе токена на авторизацию, проверять наличие и время активной сессии в момент запроса токена, и если активная сессия присутствует и время соответствует моменту отправки запроса, слать сообщение на номер телефона с уведомлением вроде, что пользователь уже авторизован в устройстве iPhone, и вводить код только в том случае, если пользователь пытается авторизоваться в другом устройстве. Что то в этом роде.

Это дыра? - Да.
Ее можно закрыть? - Да.
Дыра критичная? - Да, если судить по последствиям для жертвы. Нет, если судить по масштабу урона для Макса.

ps. Надеюсь, вы не Великий M_Script. Стиль письма похож.

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

Объясните, что за дыра? Без шуток, реально не понимаю.

  1. Нет проверки Origin / Referer на /api/send-code

  2. Нет привязки выпущенной SMS-сессии к идентичности устройства, инициировавшего ввод

  3. Нет серверного rate-limit’а по характеру источника

  4. Нет push-подтверждения в активные сессии пользователя при попытке нового входа

Автор с пояснениями написал про эти уязвимости и как их закрыть.

Пояснение пункта 1 на практике.

На https://auth.mail.ru/cgi-bin/auth?mac=1 была такая уязвимость, что подключив этот адрес на своем сайте через <script src>, можно было получить данные авторизованного пользователя. Т.е. владелец сайта мог узнать настоящие почтовые ящики того, кто посетил его сайт, и что самое критичное, для сбора данных даже нет нужды заманивать человека на свой сайт, достаточно написать кому то сообщение (на форумах, соц сетях и тд), указав в сообщении <img src> с указанием ссылки на свой сайт, а на самом сайте править htaccess AddType application/x-httpd-php52 .jpg

Польза зависит от фантазии.
Такая же уязвимость была и на yandex, сейчас не помню api адреса яндекса.

Mail.ru исправил уязвимость тем, что начал проверять Origin / Referer, и этого хватило, чтобы "закрыть" уязвимость, т.к. js не умеет отправлять Referer. Обходится с некоторыми усилиями через протокол data:.

Попробуй хоть что нибудь вытянуть в беседе с любой китайской моделю про события 1989 года на площади Тяньаньмэнь :)

В новостях Баратов выглядит очень крутым.

С Кивимяки смущает момент, что оплата за аренду всех этих машин шла с личной банковской карты Кивимяки. Хранить компромат на себя на сервере, который оплатил с личной банковской карты - это странно для профи.

Information

Rating
3,204-th
Registered
Activity

Specialization

Бэкенд разработчик, Веб-разработчик
Старший
PHP
ООП
Laravel
RESTful API
MySQL
Git
Английский язык
SQL
Python
Docker