Work & Beer Balance
1.53K subscribers
178 photos
13 videos
5 files
252 links
Авторский канал @Akiyamka
Поддержать автора можно здесь:
buymeacoffee.com/cherrytea
Download Telegram
🛑 Не новый, но в последнее время довольно популярный таргетированный сценарий мошенничества, который #мошенники используют для кражи ключей от криптокошельков (и других реквизитов доступа) с компьютера жертвы.

Всё начинается с публикации вакансии в тематических чатах. Тексты объявлений могут быть самыми разными, но все они так или иначе связаны с Web3 и блокчейном. Обязательно требуется кандидат с опытом работы с криптовалютой, желательно от нескольких лет. Зарплату предлагают вполне рыночную — ничего подозрительного.

В описании вакансии указывают реально существующую компанию. В процессе общения «HR» без стеснения показывает свой профиль в LinkedIn, сайт компании и всячески демонстрирует, что компания настоящая. Так и есть — вот только сам он к ней никакого отношения не имеет.

После непродолжительной переписки и созвона оказывается, что кандидат полностью устраивает работодателя, и остаётся лишь выполнить тестовое задание. Причём даже не бесплатно! 😃

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

Во время установки этого пакета запускается хук, который загружает код стилера с GitHub, проверяет, не выполняется ли он в виртуальной машине, а затем начинает сканировать систему в поисках криптокошельков: MetaMask, Phantom, Trust Wallet, Coinbase Wallet, OKX Wallet, Rabby, Solflare, SafePal, Station Wallet, Binance Wallet, TronLink, Kaia Wallet, Argent X, Auro Wallet и Sui Wallet.

Кроме того, стилер собирает SSH-ключи, сессионные файлы Telegram, cookies из браузеров, различные конфигурационные файлы из домашнего каталога, а также файлы вроде credentials, accessTokens, azureProfile, FileZilla, .mylogin.cnf, .pgpass, .env и многое другое.

После сбора данных они упаковываются в архив, слегка шифруются и отправляются через Telegram в специальный канал для дальнейшей обработки 🗿

После отправки жалоб в различные инстанции удалось добиться следующих результатов:

1. Администратор группы заблокировал в личных сообщениях с отправкой репорта. При этом вакансию из канала он не удалил, а из чата её, предположительно, удалил сам мошенник ещё до того, как админ получил сообщение.
2. GitLab никак не отреагировал, репозиторий всё ещё на месте.
3. GitHub удалил все репозитории, связанные с данной атакой.
4. NPM никак не отреагировал, вредонос всё ещё доступен.
5. Контакты одной жертвы удалось легко найти, однако ответа не последовало.
6. Токен Telegram-бота, через которого отправлялись собранные данные, был отозван.
7. Сам злоумышленник от дополнительных комментариев отказался.

И что с этим дальше делать? 🤨

Много разных советов можно дать, чтобы снизить риск supply chain-атак. Но, пожалуй, главное — запускать чужой код только в изолированной среде: виртуальной машине, отдельном контейнере или хотя бы под отдельным пользователем. Не доверять количеству загрузок и звёздочек у репозитория. Проверять preinstall, install и postinstall-скрипты, а также не торопиться — особенно если вас пытаются торопить.

Главное помнить, что сегодня опасность представляет не только исполняемый файл. Одной команды npm install, pip install или cargo build иногда достаточно, чтобы на машине выполнился код, который вы даже не увидите при беглом просмотре репозитория 🫠
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Модельки юнитов с анимациями, звуками, местами прикрепления, хранились в том же формате что и карты.

Да, в те времена скелетная анимация еще не была дефолтом и все анимировалось ручным смещением вершин (это было больно даже для low poly моделек, поверьте - я пробовал)

И все равно анимации очень разнообразные и не скучные
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Движок уже умеет (только новое):
- парсить файлы зданий.
- применять текстуры со смешиванием покадравыми скролящимися текстурами, альфаканалами и magenta масками
- парсить файлы rules и art.ini (настройки игрового баланса)
- рисовать базовую панель интерфейса с анимацией строительства
🔥3
Интересный и наглядный бенчамарк - когда моделям дают задачу сделать игру. Намного интереснее чем смотреть на графики и под такой бенч особо не подстроишься.
Fable vs GPT 5.6 SOL Pro
https://www.youtube.com/watch?v=TbQJiWVcAbI

Должен признать Fable на голову выше
🔥2
Вот вы ругаетесь на нейрослоп. А как вам человеками написанный релиз игры где в ресурсах аж 3 иконки одного и того-же юнита с разными опечатками )

"Да я же вроде добавлял ее!!!"

Вообще тут где-то 15% ресурсов это какие-то выреазнные / так и не доделанные куски игры.

Кажется я начинаю понимать датамайнеров - это и правда интересно гадать что же тут разработчики пытались сделать и почему не сделали
🤣8
codex отменили 5h лимиты, остался только недельный. Но при этом они спалили мои 3 не заюзаных сброса (
сбросы остались, просто убрали из /status и странички аналитики где я раньше смотрел
Расчет траекторий оказался вершиной айзберга!

Как быстро выяснилось - надо еще расчет столкновений как-то круто описать. Сейчас у меня юниты как бильярдные шары разлетаются а хочется чтоб как трафик в индии
😁3
This media is not supported in your browser
VIEW IN TELEGRAM
Знаю, в оригинале было не так, но кто меня остановит!
(Дуров а еще более шакальное качество нельзя было сделать, м?)
😁2
вот зря на собеседованиях гугла не просят показать как выровнять див по центру страницы
😁5
Это только у меня каждый день сбрасывается недельный лимит Codex? Вот уже второй раз подряд - выедаю его на ~70% за день а на утро он снова сброшен
🤔1
Вы наверняка знаете что в играх весь мир обновляется за т.н. "игровой тик"
А то что в нашей с вами реальности тоже есть такой тик обновления вы знали?
Планковское время
This media is not supported in your browser
VIEW IN TELEGRAM
я задолбался это делать даже с помощью агентов. Результат не идеальный но не хуже чем было в оригинале
🔥10
очереь аи ревью безопастности похоже дошла до rsync
Вот так выглядит моя "серверная полка"

Сам сервер с пассивным охлаждением, но как вы могли догадаться по костылю сверху Майнкрафт с 300 модами в сочетании с 32 градусной жарой слишком жесткое сочетание даже когда весь корпус это сплошной радиатор (весит эта малютка килограмма два)

Однако 5$ контроллер и немного микропитона и пайки дают программно управляемый куллер который включается когда серверу нужно остыть (очень редко)
👍72🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Вот еще один пример того как быть когда сложно обьяснить модели что с текущей реализацией не так и как надо сделать.

В игре есть механика мехов (😅) - во первых такие юниты не вижутся перпендикулярно земле на склонах, а во вторых их движение нелинейно - они не едут, а шагают.

В конфигах обнаружилось что у всех юнитов с флагом isMech - есть не одна а две скорости передвижения.

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

Наивная реализация 50 / 50 дала очень плохой результат скользяших по льду анимаций, так что я описал модели какой мне нужен UI c какими ручками чтобы "нащупать" те самые параметры.

Забыл только попросить о кнопке "скопировать параметры", так что придется ручками их переписать
🔥2
Вот пример зачем я еще плачу за fable.

У некоторых моделей в некоторых анимациях оказались вывернутые во внутрь нормали.
GPT в xhight режиме сначала гайзлайтил меня что все нормально. Потом газлайтил что все пофиксил (нет). Потом отдельный gpt ревьюфил фикс первого и тоже ничего не добился (так я проверил теорию про то что качество модели может фликерить и один и тот же промпт может то выстрелить то нет)

Итого GPT в hight-x не смог решить проблему даже в паре с двух попыток суммарно за 60+ минут.

Fable xhight разобрался за 22 минуты (скушав правда ~20% недельного лимита на фейбл)

1. Исходные данные (AT_Conyard_HC.XBF, из него собирается состояние Build): у clonetread01/clonetread02 трансформ и все 576 кадров анимации имеют det < 0 (диапазон [-0.032, -0.012]) — это зеркальные копии («clone» — клон MCV на стройплощадке). Конвертер корректно выносит отражение в узел MirroredContent — с этим всё в порядке.

2. Ключевой факт: у обоих тредов все 13 нормалей вершин направлены внутрь геометрии в локальном пространстве (проверено численно против направления «центроид → треугольник»), и winding треугольников согласован с этими внутренними нормалями. То есть меш авторски пред-скомпенсирован под вечное зеркало: в мире исходной игры отражение выворачивало геометрию обратно «наружу».

3. Почему оригинал это скрывал: оригинальный движок (и CorrinoEngine — в его Engine нет ни одного GL.Enable(CullFace), нормали идут из файла как есть) рендерит без backface culling. Вывернутый меш под зеркалом выглядел цельным, а неправильное освещение (нормали и в мире остаются внутренними — отражение не меняет «внутрь/наружу») в 2001-м никто не заметил.

4. Почему Godot ломает: Godot 4 автоматически переворачивает cull mode для инстансов с отрицательным детерминантом глобального трансформа (renderer_geometry_instance.cpp:69: mirror = determinant < 0; переворот в rasterizer_scene_gles3.cpp — проверено в исходниках 4.7-stable). Для правильно авторенных зеркальных мешей это чинит картинку, а для пред-скомпенсированных (треды) — выворачивает её. Подтверждено рендер-диагностикой: FRONT_FACING-шейдер показывает у треда наружные грани «front» (в отличие от эталонного cloneBox02), т.е. winding в мире у него противоположен всем остальным мешам.

5. Доказательство фиксом: реверс порядка вершин треугольников + инверсия нормалей у двух мешей тредов в рантайме полностью чинит рендер — треды становятся цельными, с правильными боковинами гусениц и корректным освещением (скриншоты «до/после» снимал через хостовый Godot 4.7).

* CullFace - это оптимизация которая автоматически скипает в рендере и обсчетах стороны полигонов которые игрок не может увидеть в игре. Это очень базовый прием оптимизации 3д графики кратно снижающий нагрузку (плюс минус в двое).
Т.е. не сдохни вествуд сразу после поспешного релиза они могли выпустить патч улучшаяющий перф игры в двое =)
2🤡1
Work & Beer Balance
Вот пример зачем я еще плачу за fable. У некоторых моделей в некоторых анимациях оказались вывернутые во внутрь нормали. GPT в xhight режиме сначала гайзлайтил меня что все нормально. Потом газлайтил что все пофиксил (нет). Потом отдельный gpt ревьюфил фикс…
а еще у них треть текстур а формате TGA (этот формат поддерживает альфа канал) где вместо альфа канала использует розовую заливку (как dune 2000), тогда как альфа канал там часто черный (т.е. 100% прозрачность) что тоже нормальные движки сводит сума
🔥4
Править каждый кадр 34 курсоров у меня желания нет, но и куцые курсоры выглядт паршиво (рис 1)

Можно было бы отрисовать их в blender но я решил вместо этого постестить "3D Figma" - spline.design

Отрисовал там первй курсор и закинул в игру - вроде норм

ПОСЛЕ и ДО прикрепил, и хотя телега как обычно все зашакалит думаю разница все равно будет видна