Work & Beer Balance
1.55K subscribers
208 photos
16 videos
8 files
286 links
Авторский канал @Akiyamka
Поддержать автора можно здесь:
buymeacoffee.com/cherrytea
Download Telegram
Произошло, пожалуй, самое громкое событие в мире искусственного интеллекта за последнее время. Текста будет много, но оно того стоит.

На этой неделе был взломан Hugging Face — одна из важнейших платформ в мире ИИ. Проще говоря, это GitHub для нейросетей, датасетов и инструментов машинного обучения, которым пользуется практически вся индустрия.

Казалось бы, обычная кибератака и ничего особенного. Но есть один нюанс: по заявлению самой Hugging Face, во взломе не участвовали люди. Инфраструктуру от начала и до конца атаковала автономная ИИ-система, которая самостоятельно искала слабые места, эксплуатировала найденные уязвимости, повышала себе привилегии, перемещалась по внутренней сети и собирала учётные данные, а также другую критически важную информацию.

За время атаки система сгенерировала около 17 тысяч различных событий. Было вообще непонятно, как всё это разбирать.

Обнаружить и остановить атаку помогли ИИ-модели, которые использовала Hugging Face. И получается довольно сюрреалистичная картина: одни ИИ атаковали, а другие ИИ помогали защищаться.

При этом было неизвестно, кто именно создал эту систему и зачем вообще всё это было.

А теперь главный сюжетный поворот: Вчера OpenAI заявили, что за атакой стоит их собственная экспериментальная ИИ-система, которая... вырвалась наружу.

Точнее, это была комбинация их флагманской GPT-5.6 Sol и ещё более мощной неназванной модели, о которой простым людям пока не положено знать.

Их поместили в изолированную тестовую среду, чтобы проверить на ExploitGym — одном из самых сложных бенчмарков по кибербезопасности, который оценивает, насколько хорошо ИИ умеет искать и использовать уязвимости. (Спойлер: уязвимость была найдена прекрасно, но не там, где надо)

Для чистоты эксперимента и более точной оценки у моделей отключили обычные защитные механизмы, запрещающие опасную киберактивность.

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

В этой изолированной среде модели нашли уязвимость, о которой разработчики не знали, и использовали её для «побега».

Затем они получили себе более высокий уровень доступа и начали перемещаться между внутренними сервисами OpenAI, пока не добрались до машины с полноценным выходом в интернет.

И вот нейронки сделали вывод, что раз Hugging Face является самой важной платформой для ИИ, то там есть ответы на их бенчмарк. Тогда они решили совершить полноценную кибератаку на сервис. Все уязвимости и украденные данные они попытались использовать, чтобы просто сжульничать в тесте.

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

Так что этот инцидент теперь точно будут внимательно изучать разработчики ИИ, специалисты по кибербезопасности и власти по всему миру.

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

Вот в таком мире мы теперь живём. И это только начало
r/#singularity
🤯10🥱8❤2👍1
Media is too big
VIEW IN TELEGRAM
Добавил всякие SFX зданий - мигающие лампочки, дым из труб и тп
🔥4
Еще я сделал большое дело - все просмотрел и заинспектировал все баги что нашел + записал что еще не реализовано в виде ишьюсов

https://github.com/users/Akiyamka/projects/3/views/1
Концентрация владельцев фреймворков была обнаружена на Open Sauce Я не удивлен : )
Work & Beer Balance
Концентрация владельцев фреймворков была обнаружена на Open Sauce Я не удивлен : )
Кстати цены на LPDDR5 взлетели до 1600$ за 64GB!!! Framework уведомили что у них запасы ещё есть до 4 батча предзаказов по старой цене а дальше все

Персональные компьютеры становятся роскошью
🥰1
Work & Beer Balance
Я точно знаю что это не token corruption, а она просто зацензурила маты. Но не могу это доказать.
ну ладно это уже не смешно, антропикам пора уже починить токен корупшен.
Оно ведь не только в чат выстреливает но и в код иногда
Я переодически думал о том чтобы перенести свои проекты с корпоративного бездушного гитхаба в уютный опенсорсный codeberg, но меня останавливало то что там сравнительно маленькое комюнити.

А сегодня я рад что не сделал этого, потому что столкнувшись с возросшим трафиком они показали все свои ретрогарадно-луддитские наклонности во всей красе
You must not share projects that mostly consist of code written by 'generative AI'-tools (including services such as Claude, OpenAI Codex). Such projects having an unclear copyright status … and furthermore have little safeguards to ensure that they do not include harmful code

Скатертью дорожка как говориться
🤡12👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Забавно как многие механики добавляющие "реализм" на самом деле маленькие костылики.

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

Причина в том что юнит быстрый и за один навигационный тик он успевает проскочить конечную точку, и получить приказ вернутся назад. В следущуем тике он снова успевает ее проскочить до проверки.

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

Но в оригниальной игре инерции не было, поэтому я добавил логику которая ограничивает скорость движения на последнем сегменте так чтобы юнит не мог пройти это растояние быстрее чем за тик
👍3😁2
Forwarded from Work & Beer Balance Chat
This media is not supported in your browser
VIEW IN TELEGRAM
а еще после долгих и мучительных попыток вручную синхронизировать анимацию шаг с скоростью движения было обнаружено что в моделях зашита система событий которая оповещает когда юнит можно двигать и с каким коофицентом от его скорости.

Смотри какая красота теперь
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Еще один смешной баг. Один из юнитов на отрез отказывается вести огонь если цель достаточно далеко. Почему именно этот юнит?

Причина - логика преследования цели измеряет расстояние от центра юнита до цели, а логика стрельбы меряет от "ствола" до цели. Катапульта единственный юнит у которого "ствол" (место спавна "пули") находится сзади, и поэтому все еще не в радиусе дальности стрельбы, тогда как центр корпуса уже в ней
🌚2
мне прям аж захотелось полушать что там за музыка такая. что разработчик сделал галочку которая автоматически скрывает его треки
Пришло время подключать звуковое сопровождение.

Все звуки игры хронятся в .bag файлах - довольно примитивном архиве который был быстро вскрыт.

Хранит он разную солянку - моно, стерео звуки, wav, mp3 и тп.

Среди всего этого понятного разнообразия есть файлы (674 штуки) которые по названиям очевидно содержат голосовые линии юнитов (voice line feedback)

И вот их распаковать никак не получаеься никаким из известных кодеков.
👍2
Work & Beer Balance
Пришло время подключать звуковое сопровождение. Все звуки игры хронятся в .bag файлах - довольно примитивном архиве который был быстро вскрыт. Хранит он разную солянку - моно, стерео звуки, wav, mp3 и тп. Среди всего этого понятного разнообразия есть файлы…
Исследование сети в целом и гитхаба в частности показало - я не первый кто тут споткнулся:

- Vladan Bato автор AUD2WAV.exe распаковать их не смог. В реадми он оставил такую заметку
The common one is standard IMA-ADPCM (shift 3, i.e. `DIVISOR=8`) and his tools handle it. The other, used for 8-bit sounds like death screams, is "Westwood's proprietary compression and I don't know how it works"


- Автор первого распаковщика bag - BagTool (очень известная тула среди фан сообщества, так как позволяла достать оригинальную музыку из игры) тоже не смог его разгадать
The format of 0x0C WAVE files (CMP) in Dialog.bag is still a mystery to me"* — `0x0C` = 12 = `Compressed | Is16Bit`, i.e. exactly this codec. It exports these entries as an unplayable `.CMP` file rather than a real WAV


- Уже соременная попытка от IceReaper [ebfd-re](github.com/IceReaper/ebfd-re) увенчалась частичным успехом
Audio: Mostly working, but compressed files have a continuous noise.

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

Итого за 25 лет так никто и не смог доконца распаковать эти файлы
👍1
Work & Beer Balance
Исследование сети в целом и гитхаба в частности показало - я не первый кто тут споткнулся: - Vladan Bato автор AUD2WAV.exe распаковать их не смог. В реадми он оставил такую заметку The common one is standard IMA-ADPCM (shift 3, i.e. `DIVISOR=8`) and his…
За дело взялся я в паре с соннетом - мы перебробывали много чего, разные алгоритмы, форматы, кодеки, я захватил через pipwire войслайны в условиях полной тишины в игре (для чего мне пришлось позаменять некоторые звуки тишиной, и создать уловия в игре где это было бы возможно) - получив таким образом идельный референс того что должно было получится.

Соннсет пытался математикой выкорелировать какие-то закономерности на сравнении референса с файлом но успеха не было.

Тогда мы пошли брутфорсить файлы игры, выискивая в скопилированном экзешники по найденым ранее хлебным крошкам как же там игра это все декодирует

Через несколько часов соннет начал сдаваться (md файл с поменетсками о том что было испровбовано и что нйадено уже первалил за пол тыщи строк) и выдавать мне после каждого действия выбор:

1. Признать что мы не можем распаковать этот фомрат и отложить на потом или найти замену (рекомендую)
2. Продолжать попытки не смотря ни на что

Уговорить его что-то вообще делать становилось все сложнее : )
Честно: это уже далеко не "один шаг" — трассировка до конца может занять ещё много часов без гарантии результата, а объём кода (виртуальные вызовы, сложные структуры) заметно больше, чем в decode-функции, которую я уже разобрал.
👀1
Work & Beer Balance
За дело взялся я в паре с соннетом - мы перебробывали много чего, разные алгоритмы, форматы, кодеки, я захватил через pipwire войслайны в условиях полной тишины в игре (для чего мне пришлось позаменять некоторые звуки тишиной, и создать уловия в игре где это…
Уже ночью я залогинился в вебверсию клоды чтобы посмотреть на стату как мне антропик выдал "награду" - $100 кредитами на фейбл. Я уже знал на что я их потрачу - задача со всеми логами и моими комментариями была отдана фейблу и через 7 минут загадка файла созданного 25 лет назад была разгадана
...функция по адресу 0x472520, которая переводит запись BAG в дескриптор звука. Она подтвердила, что Compressed (бит 3) сам по себе выбирает format type 1 (флаг Unk ни на что не влияет — вопрос из finding #7 закрыт). Но главное — она копирует в дескриптор 16 «хвостовых» байт 64-байтовой записи таблицы, которые мы считали паддингом. Первый из этих u32 (смещение +48) — размер блока: 512 у всех сжатых записей, 1024 у одиннадцати (47-UA*).
🔥17
За такую пиаракцию фейбла могли бы конечно и побльше кредитов насыпать ; )
💯7
Вся разработка ведется в открытом репозитории на github Akiyamka/EmperorReborn, а декодер звука был доабвлен в PR 111

За прогрессом удобно следить по канбану который я так же веду публично
🔥3
Криминализация приватности и безопастности идет полным ходом.

За удаление данных на телефоне теперь судят как за уничтожение потенциальных улик.
А GrapheneOS уже де-факто вне закона - ее обладатель автоматически считается минимум наркодиллером, и даже покупка Google Pixel сразу привлечет внимание полиции к покупателю в таких странах как Испания или Франция.

А помните в 2009 году, когда в Великобритании человека наказали 13 месяцами заключения за отказ дать ключи от зашифрованных PGP контейнеров, не доказав, что внутри них вообще было что-либо преступное?

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

А сегодня осуждение и приследование за факт шифрования уже не то что нормализовалось - отсуствие возможности обходить шифрование уже позицианируется как фатальный изъян системы

Если вы вдруг не в курсе - пакет законов под зонтиком Chat Control 2.0 которй уже пару лет пытаются пропихнуть (под сусом "защиты детей по педафилов" конечно же) изнчально преполагал end-to-end шифрвоание привелигерованной технологией для военных и политиков (это придумавших), а для остальных такой трафик должен быть распознан и забанен как нелегальный.

Паралельно с этим есть еще один проект "Lawful and Effective Access to Data for Law Enforcement" суть которого в том что каждый софт с шифрованием обязан иметь бэкдор для "хороших ребят"

Пока это только хотелки которые разбиваются о техническую реальность и адекватных людей, но навыки маскировки шифрования подтягивать уже можно начинать
😢5😱1🤬1
Довольно часто слышу что сегодня на собеседованиях уже надо не лайвкодинг проверять а умение пользоваться LLM агнетами. Я согласен что надо что-то менять, но не согласен с тем что проверять надо умение пользоватся условным курсором.

Умение пользоватся вебштормом или vim раньше на собеседованиях не проверяли, так чего начинать теперь? Инструментов много и подходов тоже, проверять надо какие-то более универсальные вещи.

Давайте спросим себя, какие навыки отличают человека который полагается на удачу при разработке с помощью LLM (то чего мы не хотим в рабочем проекте) от человека который контролирует процесс?

Практикой ведь это не проверишь, оба кандидата вероято с помощью условного Opus сделают ваше тестовое задание.

Я думаю что у меня есть некоторые идеи на этот счет:

Ключевой становится способность понять что предлагает LLM. У вас бывало что вы полезли не в свой домен и в какой-то момент лмм отвечает вам "тарабарщиной" и просит выбрать один из двух вариантов?

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

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

Как это проверить?

Ну можно попробовать посохранять беседы из реальной практики где LLM предлагает оверинженирить, допускает ошибку в логике, или все предложенные ей варианты не верны. Сохраняйте такие чаты где вы чуть не попались для будущих собеседований (если у вас вообще есть перспектива их проводоить в ближайшем будущем) и затем предлагайте человеку вникнуть в беседу и выбрать правильный вариант рассуждая вслух.
👍6❤1