Too Long, Did Read
СтатистикаПривет! Я - Тим: продакт, СТО-самоучка и стартапер (лол). Я читаю много нишевых статей про IT, безопасность и всякое другое - и в этом канале кратко пересказываю самые интересные из них. А еще я их пишу: https://timsh.org
- Последний пост
- 20 июн.
- Последнее чтение
- 14:21
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Бизнес
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Что у меня нового Обещал, что напишу - и вот, пишу! Во-первых, каминг аут: уже почти год назад я с двумя партнерами начал строить бизнес - smart contract security, если по-простому, - аудиты кода для разных DeFi крипто проектов. Называется unvariant. Ребята сами - топ секьюрити ресерчеры с большим опытом, а я отвечаю за всю бизнесовую часть: инфру, продажи и всякую операционку. За год у нас появилось уже несколько крупных и крутых клиентов - прям вот tier 1, если смотреть по оборотам, и мы продолжаем медленно, но верно расти. Изначально мне быстро стало понятно, что ничего быстрого в этом бизнесе не будет: процесс переговоров и построения отношений с каждым клиентом занял месяцы до подписания контракта. Поэтому до недавних пор я параллельно работал - сначала вообще на 2х фуллтаймах, потом еще какое-то время на одном, и вот наконец недавно я расстался с последними - ушел, так сказать, в свободное плавание. Ощущается, честно говоря, очень круто! Во-первых, я давно уже думал про бизнес в области кибербезопасности - как можно заметить, меня эта тема заметно цепляет) Во-вторых, очень приятно спустя 2 года снова вернуться к работе над чем-то своим - и делать там все по-своему, без влетающей херни и суеты. Ну и самое главное: пока параллельно работаешь на 2-3 работах времени на свои проекты, ресерч и всякое такое почти не остается. А когда оно есть - сил нет. Я уже пару раз писал про то, что инвестиции времени в работу над тем, что реально интересно, независимо от того, приносит ли оно что-то, у меня пока окупаются сполна - и хочется иметь возможность уделять всему этому достаточно, и не давать идеям лежать и пылиться в обсидиане. Еще я съездил уже на 2 «крипто» конференции, и на удивление обнаружил, что мне это нравится: познакомился с кучей реально приятных людей, а с частью из них еще и сделал или сделаю что-то полезное как для бизнеса, так и для моих проектов. В общем, если будете где-нибудь на конфе в европе - пишите, с определенной вероятностью там буду. Помимо проектов, конечно, хочу снова начать почаще писать сюда - набросков и заметок много, постоянно появляются новые, а теперь еще, кажется, и время есть!
Хотите дрейнер в топе выдачи поиска? timsh.org/drainer-at-the-top-of-duckduckgo Месяца два назад мне нужно было быстро найти любой трон-адрес чтобы протестить штуку на работе. Я вбил tronscan в поиске DuckDuckGo (тк не помню, .com там, .net или .org), машинально кликнул на первый результат в выдаче, нажимаю на поле поиска там - и передо мной появляется попап WalletConnect (с помощью которого можно подключить свой кошелек к приложению). А его там быть, по идее, не должно: с чего вдруг эксплорер будет у меня просить кошелек? для понимания - вот настоящий тронскан: https://tronscan.org Я сразу понял, к чему это все ведет - поковырял неделю, поблокировал им все, и вот спустя два месяца написал про это большую статью. Прошелся по другим примерам дрейнеров/стилеров в топе поиска DuckDuckGo (который на самом деле использует топ выдачи Bing), по способам поддерживать все это на плаву и быть устойчивым к блокировкам, по архитектуре самого js-дрейнера и UX жертвы - как тебя убеждают подписать несколько транзакций, а затем крадут все деньги с твоего кошелька. А также про KYT (да, как-то я пропал после ч2 без обещанной ч3 - исправлюсь!) на конкретном примере - кошельки злоумышленника, на которые он принимал награбленное и с которых деплоил смарт-контракты (через которые тоже принимал награбленное). Спойлер: оба кошелька 2 разных КУТ-инструмента оценили как низкий / вообще никакой риск, так что если владельцу-жулику хотелось (или даже еще хочется) спокойно отмыть свои деньги через биржу типа Binance - не представляю, что может встать у него на пути) Постарался написать все доступно и подробно, чтобы не погруженные в технический / секьюрити контекст читатели могли понять все, что там происходит. Так как это не какой-то там взлом века, а очень распространенная ловушка, на которую может попасться любой из нас - получили вы, допустим, оплату за какой-нибудь проект или фриланс в USDT - и хотите что-нибудь посмотреть, или зайти на сайт кошелька и скачать его, или на биржу, чтобы продать их за фиат. Пропустил, торопился, не заметил - и все, ничего уже не вернешь. В общем, почитайте и напишите, что думаете! Или если вопросы какие-нибудь будут. Давно я не писал, кстати - много всего происходило в жизни, было как-то не до этого. Вот все вроде устаканилось, много апдейтов - расскажу что-нибудь на днях!
Про крипто-AML и отмывание денег, ч2 Какие-то безумные выдались полтора месяца… но вот сел и дописал вторую часть поста. И так, вернемся к KYT. Для начала - про глубину. Хочу прояснить, что я имел в виду, когда писал про глубину 3-6 транзакций в обе стороны. Статический анализ кошелька (не на ходу, а в личном кабинете КУТ-провайдера) занимает гораздо больше времени, чем анализ «на лету», и может иметь гораздо большую глубину - вплоть до 17-20. При анализе «на лету» (в процессе обработки платежа) в счет идет каждая миллисекунда, так как все биржи и другие кастодианы стремятся зачислять платежи и проводить выводы как можно быстрее. В зависимости от провайдера и его инфраструктуры, на лету адреса скорятся на максимальную глубину 6+ (ну может у кого-то сейчас уже больше, но думаю не сильно). Другой вопрос - у некоторых провайдеров есть параметр в конфиге, который определяется самим клиентом - max depth, - который ограничивает максимальную глубину, до которой провайдер «обращает внимание» на соседние хай-риск кошельки. Возможно, вы удивитесь, но далеко не все хотят ставить максимальный max depth: в зависимости от юрисдикции и в целом сферы деятельности кастодиана, есть те, кто ограничивается глубиной 3-4. Логика в этом есть: если адрес испачкался на глубине 3+, то с высокой вероятностью это не имеет никакого отношения к деятельности владельца кошелька. А еще есть так называемые address poisoning attacks - когда злоумышленник или просто какой-то мудак намеренно присылает «пыль» (очень маленькое кол-во токена / койна) жертве с грязного кошелька, чтобы испортить ему репутацию. Для кастодиана - платежки, биржи и прочих, - любой зафейленный по КУТ платеж = - меньше выручки с комиссий - недовольный клиент - если результат спорный или клиент важный - необходимость ручной проверки AML-офицером, у которого какая-то капасити и скорость В общем, естественно, любой кастодиан балансирует между требованиями по комплаенсу и оптимизацией финансов и ресурсов. Следующий момент - сети Если вы зайдете на любую биржу, то увидите там бесчисленное количество пар токен/сеть, в которых доступны выводы и пополнения. Как вы думаете, все ли эти сети поддерживает КУТ-провайдер? Как повезет. Некоторые даже очень популярные сети (как пример - TON и SOL) тяжело и дорого добавлять и поддерживать - у них совершенно другая архитектура, нежели у канонических BTC или ETH (=любая EVM сеть, L2 и т д), соответственно и алгоритмы без адаптации работать на них не будут. А еще просто дорого держать полную (архивную) ноду на каждую сеть - SOL, например, сейчас весит около 450 ТБ. Я лично наблюдал провайдера, который в 2025 еще не подключил нормальное сканирование TON - наверняка его клиенты при этом принимают платежи во всяких хомяках. Получается, что если как-то узнать, каким КУТ-провайдером пользуется кастодиан - а это вполне решаемая задача, достаточно по всяким блокам «партнеры» походить иногда, и все будет ясно, - можно заодно и узнать (посложнее, но не невозможно - думаю осинтом / базовой соц. инжинерией добывается быстро), какие сети они не поддерживают. Если сервис принимает депозиты на этих сетях, бинго - вероятность, что ваши хорошенько промытые через 6+ шагов деньги заморозят, минимальна (not a fraud advice). Предположу пару вещей (видел примеры на практике, но утверждать, что все всегда так - не буду): - чем меньше провайдер, тем меньше сетей он по-человечески поддерживает - чем меньше кастодиан, тем с большей вероятностью он купит КУТ у одного бюджетного (маленького) провайдера. - чем серее кастодиан (например, платежка типа Plisio, или небольшая биржа), тем вероятнее, что если провайдер позволяет настраивать max depth, кастодиан выберет минимально возможную «приличную» глубину. А иначе у него куча депозитов полетит на ручные проверки, все застрянет и он закроется. Какой из всего этого напрашивается вывод? Мелкие/средние кастодианы невольно и, думаю, неумышленно, представляют из себя идеальную площадку для отмыва денег через кастоди *не через миксеры и всякие рейлганы - про это в следующем посте.
Про крипто-AML и отмывание денег, ч1 Несколько историй-мыслей про текущее состояние дел на “рынке” AML и отмывания краденной крипты. Скорее всего, будет еще 2 поста, тк иначе не влезет, а тема, на мой взгляд, довольно интересная. Для начала расскажу, как вообще этот AML и возврат украденного бывает устроен. Допустим, вы украли деньги. Не так важно, у кого или откуда - все, они на ваших НЕкастодиальных кошельках. Небольшая ремарка, на всякий случай: делать я вам этого не советую. Поймают с очень большой вероятностью. Это я опускаю морально-этическую сторону вопроса (воровать плохо). Что вообще с ними (деньгами) делать? В идеале - поменять на нормальные деньги, хорошо бы на наличку. Для этого, скорее всего, их сначала надо отмыть, чтобы финальный “офф-рамп” обменник крипты на фиат принял вашу крипту, и вас самих не приняли за углом. Если кража прошла не незамеченно (маловероятно, разве что вы 5 рублей украли), то пострадавшие сразу же забьют тревогу и дернут всех, кого смогут. Кого они смогут дернуть, конечно, зависит: если деньги украли из какого-нибудь крупного протокола, то они гораздо быстрее и с большей вероятностью доорутся до крупных бирж и бриджей, а может и до Circle / Tether, которые поддерживают фризы. Если у физика - зависит от того, кто он, откуда, и с какого кошелька украли деньги - кастодиального или нет. Параллельно с ними (а может и раньше), о краже крупной суммы узнают всякие Intelligence платформы, которые мониторят блокчейн(ы) на предмет подозрительных транзакций и шлют алерты, в том числе в паблик. Те, кто обнаружил проблему раньше, сразу же пометят кошельки преступника (вас) с помощью сервисов типа Blockaid, или прямо на сайте эксплорера вроде etherscan. Эту информацию быстро подтянут разнообразные сервисы, в первую очередь - те самые AML конторы, - и добавят адреса в блоклист. Теперь все “нормальные” сервисы после получения денег от вас заморозят их где-то у себя, и сразу же сообщат куда надо. “Нормальные” сервисы используют так называемый KYT - “Know Your Transaction”, - сервис для скоринга адресов и хешей в реальном времени на наличие риск-факторов. Самые известные провайдеры KYT это Crystal, Chainalysis и т д. Работают они просто: даешь адрес на вход, получаешь risk score от 0 до 100 на выход. Как они этот риск скор считают? Понятно, что если деньги пришли с кошелька, который находится в блоклисте - тут думать не надо. Но вы же не дурак совсем, чтобы присылать краденные деньги сразу: может вы сначала их прогнали через кучу промежуточных кошельков, миксеров и т д, - как тогда понять, что ваши деньги грязные? На самом деле, на этот вопрос нет ответов в публичных источниках. Есть несколько современных работ на эту тему, но они в основном про разметку - вот, к примеру, работа Elliptic 2024 года про их огромную базу размеченных биткойн-адресов. Остальное - интеллектуальная собственность каждой такой компании. Если на пальцах, то работает это так: - Есть список триггеров, которые сами по себе обладают риск-скором 100 из 100: помимо блоклиста, адрес может принадлежать санкционной бирже типа Garantex, или стремной платежке, или обменнику. - Для каждого кошелька алгоритм пытается простроить цепочку глубиной 3-6 транзакций в обе стороны. Для ускорения этого процесса используют всякие умные наборы индексов, саб-графы и т д, монте-карлы, чтобы не ходить куда не интересно, и т д. - По итогу такого сканирования во все стороны, алгоритм ищет те самые тригеры среди всех кошельков, которые оказались в текущем графе. Если такие нашлись - оценивается их рекурсивный вклад в цепочку + удаленность от вашего кошелька. Еще, конечно, прошлые скоринги кешируются, чтобы если в цепочке попадается кошелек, проверенный 5 минут назад, остановиться и не идти глубже него. Не знаю, появились ли у вас уже идеи, почему этот самый КУТ может так себе работать, но именно об этом я хочу рассказать дальше. Сейчас, к сожалению, символы кончились :( Если хотите узнать про что-то поподробнее или более конкретно - пишите в комментариях, постараюсь запихнуть в один из следующих постов.
Подвожу итоги года Не фанат я всяких wrapped и вариаций на тему, тем более, что в этом году их сделал прям каждый сервис. Но, по случаю приближающихся праздников и моего (заслуженного) продолжительного отпуска, хотел сказать пару слов про прошедший год и про мои планы на будущий. Во-первых, этот канал вырос в несколько раз - тут уже больше 1000 человек! Круто Спасибо вам всем за это. Последнее время я стал реже писать - очень много работы + потянуло в сторону более длинного контента. Попробую немного прибавить темп в начале года: на самом деле, у меня заметок накопилось на постов 15, просто руки не доходят их дописать и выложить. Во-вторых, чуть меньше года назад я запустил свой блог timsh.org. Я сделал это без какой-то определенной цели - просто хотел попробовать писать более серьезные тексты на английском про то, чем я занимаюсь. Мне бывает сложно сжать большую и интересную тему до вменяемый размеров (привет, ограничение 4096 символов на пост в тг). Результат просто потрясающий: за год на моем сайте побывало ~600к человек, появилось очень много интересных знакомств, предложений о работе / партнерстве, и так далее. Краткий рекап для тех, кто присоединился позже: Статья Everyone Knows Your Location в двух частях (2) про то, как я отследил свою геолокацию через игру на айфоне. До сих пор моя самая «стрельнувшая» - примерно половина траффика пришло на нее. Из прикольных последствий - меня позвали на подкаст, а еще мне написало примерно 20 студентов разных универов с просьбой подсказать им, что покопать по теме в их дипломе, или просто уточнить, как правильно ее процитировать. Приятно. Две статьи-расследования скамов: про инфостилеры на GitHub и вредоносные смарт-контракты в туториале на ютубе. Меня, кстати, очень приятно удивил гитхаб: когда вышла статья, я выложил в публичный доступ список из 1000+ вредоносных репозиториев, которые я нашел, - и уже спустя несколько недель большинство из них снесли, а создателей забанили. Мелочь в море скамов, но все равно приятно, что я потенциально помог кому-то не потерять все свои пароли и деньги. Еще у меня была статья про сетап claude code в docker. Через ~неделю после ее выхода я с большим удивлением обнаружил, что большая часть трафика приходит из органики гугла. Оказалось, что (на тот момент) по запросу claude code docker - как можно догадаться, довольно популярный среди вайбкодеров, - моя статья долго держалась на первой строчке выдачи, выше сайта докера и клода). А еще я познакомился и подружился с очень прикольным предпринимателем из Сингапура, с которым что-то уже успел поделать. Расскажу как-нибудь. Потом я выложил статью про селф-хостинг - про то, почему я считаю, что оунерам маленьких (и нет) стартапов и инди-разработчикам стоит обратить внимание на селфхост, а не бежать к vercel, heroku и т д. Вообще забыл про нее пост в тг написать. Если кому-то захочется попробовать подход, который я там рекомендую - напишите в комментах. У меня есть еще целые 3 невыпущенные статьи-инструкции про сетап сервера, Coolify, Tailscale и других сервисов. Ну и совсем недавно я закончил работу над самым большим (пока) проектом Scam Telegram - предыдущий пост как раз про него, так что не буду вдаваться в детали. Вообще я прилично погрузился в мир крипто-related киберпреступлений, завел много знакомств, вступил в Seal и договорился запартнерится с одной AML-компанией - скоро расскажу об этом. Уже сейчас работаю надо новой историей, и могу сказать, что «джуса» там уже побольше. Периодически меня аж передергивает от того, на что способны разные интернет преступники, хотя я уже давно в теме. Такой вот год! Очень много работал, много писал и учился. Наверное главный (банальный) вывод: постоянство важнее всего. Это и про канал, и про блог, и вообще про все жизнь: то, что я продолжал (и продолжаю) писать и делать в независимости от результатов / реакции и прочего, принесло мне больше пользы, знаний и знакомых, чем все мои прошлые работы вместе взятые. Пожалуй, закончу на этом! Всех с наступающим и увидимся в новом году. А у вас как все прошло?
Scam Telegram: мое новое и самое большое расследование Читать тут: https://timsh.org/scam-telegram-investigation Несколько месяцев назад я искал сообщество одного DeFi протокола в тг и обнаружил несколько поддельных групп с названиями <Protocol> Official / Support. Мне стало интересно: в чем цель этих поддельных групп? Покопавшись в истории чата, вложениях и ссылках, я обнаружил подозрительную ссылку на “платформу для решения проблем” с такой инструкцией: “Зависли деньги? Не беда! Подключи свой кошелек вот тут, и твоя проблема будет решена”. Поковырявшись в коде сайта и сымитировав подключение своего кошелька, я обнаружил, что на этом сайте размещен Drainer, - вид js-вируса, главная цель которого - украсть все деньги с кошелька жертвы. Сразу после этого я решил проверить: нет ли других таких же фейковых групп, имитирующих официальные чаты других протоколов. Есть. Более того, как я увидел в дальнейшем, - они есть у каждого протокола из топ100 по TVL на DefiLlama (т.е., у топа крупнейших протоколов по кол-ву вложенных в них денег). Пока я искал и отсматривал чаты руками, я заметил, что у некоторых, как бы никак не связанных между собой чатов, один и тот же админ / модератор - в реальности, естественно, такое невозможно, - разве что 3 крупнейших протокола наняли себе одного и того же комьюнити менеджера ) Поэтому я решил собрать побольше данных и поискать и другие такие связи между чатами: вдруг всеми ними управляет одна или несколько групп преступников? Я написал телеграм-парсер, который затем добавил в ~80 найденных на тот момент чатов, и собрал все сообщения, активных пользователей и метаданные, которые смог. Поковыряв их pandas’ом в течение пары дней, я убедился, что так и есть: практически у всех чатов был админ, которые также админил как минимум в одном другом чате. Примерно в этот момент я понял, что чтобы копнуть еще грубже и найти больше доказательств, мне может пригодится помощь кого-то, кто занимается этим профессионально. Так что я выложил пост, в котором написал, что ищу желающих помочь мне поанализировать эти данные и дальше и составить разные графические репрезентации этой сети чатов. Мне повезло: среди моей аудитории нашлись аналитики-графоманы (хаха), и, более того, мне написал супер граф-профи iggisv9t @sv9t_channel, на которого я был подписан давным давно, и предложил помочь покрутить все эти графы. И еще как помог! Без него я бы не смог сделать все крутые картинки, которые вы увидите в посте. Так как еще мне была нужна помощь с реверс-инжинирингом js-кода вируса, я написал в чат @ETHSecurity, в котором последнее время часто зависаю, и буквально за день нашел несколько безопасников, которые помогли мне подобрать правильные инструменты и разобрать код на 80%+. Пока мы обсуждали, что за вид дрейнера я нашел в этих чатах, мой анонимный собеседник предложил познакомить меня с администратором SEAL - наверное, самой известной и уважаемой НКО в мире криптовой кибербезопасности, которая занимается сбором данных о всех обнаруженных вирусах и путях их распространения, и помогает кошелькам вроде MetaMask и другим компаниям (например, Cloudflare) оперативно блокировать вредоносные сайты. Пообщавшись немного с их админом, я выяснил, что вирус, который я нашел, - разновидность Inferno Drainer, самого жесткого Drainer-As-A-Service последних лет. Админ сразу очень заинтересовался происхождением этого скрипта, я рассказал ему о своем расследовании, и он предложил мне присоединиться к SEAL и воспользоваться их помощью и инструментами, чтобы увеличить размах и глубину расследования. Как-то так - теперь я волонтерю в SEAL, и вместе мы доработали мой телеграмовый парсер, нашли больше 4к этих фейковых групп и забанили десятки тысяч вредоносных сайтов, которые распространяют дрейнеры. Естественно, я сразу же втянулся в несколько других активных расследований - так что ждите новых постов, а пока читайте гига-статью и наслаждайтесь красивыми картинками!
Как правильно мешать карты Недавно моя жена и ее брат запустили в продажу на амазоне свою карточную игру Vinto - игра безумно крутая, первые несколько месяцев мы в нее играли по 4-6 часов каждый день :) Можно посмотреть подробнее тут: @vinto_game Так вот, в vinto (как и наверное во всех карточных играх) очень важно хорошо перемешивать карты между раундами, тк из-за механики игры в сброс почти всегда подряд идут 2+ одинаковые карты. Пока мы играли раунд за раундом (тотал наверное 100-200), часто оказывалось, что 3-4 игрока тянут одинаковую карту (например, шестерку) подряд, в рамках одного круга. Мы шутили, что это {имя} так замечательно мешает карты, но в реальности это происходило примерно с одинаковой частотой вне зависимости от текущего крупье-мешателя. Вот я и заинтересовался: может быть, мы просто плохо карты мешаем? Если коротко: да! Видели, как в фильмах / видео на ютубе разные профессиональные картежники мешают карты «веером», - делят на две равные стопки и как бы скрещивают их, сделав из каждой половины гармошку? Так вот, оказывается, что это не понты! После непродолжительного поиска статей / книжек на тему, я обнаружил, что техника перемешивания карт - супер популярная тема среди математиков: статей про сравнение эффективности разных видов перемешки больше 50 штук, все из разных универов, но с похожими выводами. Не буду грузить подробностями расчетов - там всякие цепи маркова и довольно нетривиальная математика (мне пришлось посмотреть 3 лекции, чтобы вспомнить и заново въехать в тему). Если все же хочется какой-то первоисточник - вот очень хорошая и понятная презентация с картинками. Так вот, для того, чтобы приблизиться к равномерному распределения раскладок (такого, при котором вероятность каждой последовательности карт → 1/52!): - перемешивая «круто» (гармошкой, в оригинале - riffle shuffle, вот видео на всякий), для достижения почти равномерного распределения нужно 8 итераций (перемешиваний) - перемешивая «обычно», как все (top to random, то есть перекладывая верхние сколько-то карт вниз) нужно 278 итераций! Теперь понятно, почему всякие крупье в казино, фокусники и выпендрежники не мешают карты «обычно» - пришлось бы очень долго мешать. И вот еще в тему прикольная статья 1999 года , если интересно: в ней довольно понятно рассказывается о том, как несколько разработчиков нашли уязвимость в алгоритме перемешивания карт в популярном в то время онлайн покере, с помощью которой можно было предсказывать (с немаленькой вероятностью), какие карты выпадут после перемешивания. Кстати, так как никто из нас мешать карты riffle’ом не умеет, а на турнирах по Vinto вроде бы надо, ребята купили мешалки на алике за ~10$, которые имитируют riffle shuffle. Интересно было бы посчитать, насколько эта имитация хуже «true» riffle shuffle. Как-то так! Мораль: мешайте свои карты карты правильно и покупайте Vinto, если можете и хотите :)
А еще - ищу желающих поучаствовать в расследовании / поковырять вирус Я сейчас работаю над новым расследованием для блога - про крупную скам-схему в телеграме. Пока копал, нащупал несколько разных направлений, в которые хочется углубиться. В целом я и сам могу, но в двух из них у меня маловато опыта, и я бы хотел впервые попробовать поработать с кем-то в паре-тройке. И так, те самые 2 направления: - Распотрашить (зареверсить) вредоносный js-скрипт, а также запустить его в каком-то сендбоксе и стать “жертвой” Тут мне бы очень помог человек, который хорошо знает js, а в идеале еще и умеет его запускать в разных окружениях / сендбоксах (может фронт-тестировщик? не знаю, если честно). - Проанализировать данные - 200к сообщений (кол-во растет с каждой минутой) из 40+ чатов + пользователи в них, найти всевозможные связи, и все это круто визуализировать. В идеале кто-то, кто хорошо умеет работать с графами / нетворк визуализациями, с использованием всяких Gephi, PyVis и прочего. Над этим я успел уже немного поработать и сам, но буду очень рад подсказкам/помощи/идеям от профессионала или просто более опытного аналитика, чем я. Сам я это делаю ради интереса, поэтому ничего материального предложить не могу, но обязательно упомяну вас (или ваш блог / проект / компанию) как соавтора в блоге (timsh.org), ну и тут, если захотите. Трафика у меня сколько-то есть) На мой взгляд, тема супер свежая и интересная (уже неделю как маньяк не могу отлипнуть). Приходите в личку, если хотите поучаствовать, в идеале сразу с коротким интро “я умею вот это”: @timshbnv P.S. Если вы узнали в описании выше кого-то знакомого - скиньте ему, пожалуйста! Если вдруг у вас канал / группа, где только такие люди и сидят - тем более! буду очень благодарен
Kill List: как два хакера взломали маркетплейс убийств в даркнете и спасли кучу людей https://youtu.be/cYZmRp90hss Еще в 2019 году хакер и журналист случайно наткнулись на сайт Besa Mafia в даркнете - сайт, на котором можно заказать убийство или похищение человека почти в любой стране у албанской мафии (лол). Чтобы разобраться, как устроен процесс, один из авторов (Крис) зарегистрировался на сайте и опубликовал свой запрос на убийство. Для обсуждения деталей сразу же был создан чат, в котором будущий убийца и заказчик могут обсуждать детали и договариваться. Буквально в первые 5 минут Крис заметил IDOR-уязвимость (ровно как тут): в урле страницы чата прописан айдишник (условно 1234567), и если вписать вместо него другое число, можно попасть в чужой чат и увидеть все, что туда писали. А дальше хакер получил контроль над вообще всем сайтом - там было полно разных уязвимостей, который позволили это сделать. В полученных данных были биткоин кошельки, все данные с серверов, страниц администраторов и т д. Естественно, главного администратора сайта звали Юра (ну а как еще?). Так появился Kill List: архив всех чатов, которые удалось собрать перебором айдишников, насчитывающий тысячи запросов на заказное убийство, данные покупателей и многое другое. Меня абсолютно поразили цены на убийство, которые выставляли люди: 1000-2000$ за убийство человека в Европе / США - это прям копейки. Естественно, качество реализации за такие деньги тоже было очень низким - но об этом позже. Естественно, первое что сделали авторы, когда получили доступ ко всему этому - позвонили в полицию (в Англии) и рассказали им обо всем, что нашли. Угадайте, как отреагировали полицейские? Сначала решили провести ментал чек журналиста, который позвонил - думали, что он псих. Потом убедились, что он не псих, но сказали, что в списке “недостаточно жертв в UK”, поэтому они ничего расследовать не будут(sic!). Пообещали передать информацию в Интерпол, но и там люди в целом забили на албанцев. Авторы решили сами уведомлять всех жертв, кого они смогли определить: буквально звонить им со словами “На вас планируется покушение, будьте осторожны” итд. Люди, конечно же, не стали верить рандомному звонку, - ну а вы бы как поступили? Это даже хуже, чем “здравствуйте, это служба доставки”. Поэтому авторам пришлось выстроить сеть из журналистов по всему миру - так как в “заказах” был адрес, журналисты могли прийти домой к жертвам и убедить их поговорить с авторами по зуму. Некоторые люди вообще не были удивлены, что их заказали - например, женщина в Швейцарии рассказала, что проходит через жесткий развод, и муж, который должен был отдать половину своего имущества, вероятно заказал ее убийство. После того, как журналисты устанавливали контакт с потенциальной жертвой, они передавали всю информацию по конкретному делу в полицию - вместе с предположениями о личности заказчика, которые высказывали жертвы. Во многих случаях убийство не получались, - все таки, когда заказываешь хитмена за 1000$, за работу берется не самый профессиональный человек. Авторы расследования постоянно получали обновления по всем чатам, и видели все: хитмен потерялся, забыл или потерял оружие, громко топал и был замечен, и так далее. Не буду долго пересказывать детали заказов - можете посмотреть оригинальное видео или послушать их подкаст (я не слушал). Но там полная жесть. Заказы не только на убийства, но, например, на похищение женщины с целью неделю колоть ей героин и подсадить ее, - заказчиком был ее бывший муж, владелец благотворительной организации по помощи женщинам, столкнувшимся с зависимостью. За 3 года авторы раскрыли 175 оплаченных заказов больше чем в 20 странах, что привело к 32 арестам, 28 признаниям и большим тюремным срокам - как для заказчиков, так и исполнителей. В конце 2022 года румынские спецслужбы, по наводкам журналистов, провели несколько рейдов в Румынии и (похоже) поймали Юру. Только спустя 3 года с начала расследования спецслужбы и органы власти наконец-то перехватили инициативу на себя и начали работать по той же схеме без помощи журналистов.
Про Bitchat - оффлайн мессенджер Недавно друг спросил, пользовался ли я когда-то Bitchat… а я не пользовался, но сразу заинтересовался. Bitchat это оффлайн P2P мессенджер, который работает через Bluetooth mesh сети - устроено это примерно так: Клиент, установленный на вашем телефоне, ищет устройства по соседству (в радиусе 20-100 метров), на которых тоже стоит Bitchat, узнает, есть ли у него коннекты рядом… и так до самого последнего Peer. Если представить себе уровень adoption как у условного вотсапа, то в теории так можно общаться почти со всеми в урбан-мире (тк если вы живете в городе, вероятность встретить человека с установленным Whatsapp в 20-50 метрах от вас довольно высокая). На практике, правда, у bitchat самый грустный онбординг, который я видел: ставишь приложение и сразу убеждаешься в том, что ты с этим битчатом абсолютно одинок +- в любой точке города. Так что если будете пробовать - ставьте вдвоем, включайте режим самолета и поражайтесь чуду оффлайн-переписки из соседних комнат. Юзкейсы у Bitchat (и аналогов, см. ниже) все же немного другие: например, координация людей на протестах, в условиях блэкаута, в непокрытых сотовой связью пространствах (в горах что ли?), ну и так далее. Сделал (а точнее, завайбкодил) этот битчат, кстати, Jack Dorsey - ко-фаундер твиттера, The Block, Bluesky и всякого такого. После неглубокого изучения темы я выяснил следующее: Идея bluetooth mesh p2p мессенджеров совсем не новая - например, был такой FireChat, созданный больше 10 лет назад. С помощью него еще в 14-16 году общались протестующие в разных странах: в Ираке, Гонг Конге, Эквадоре и Каталунии. Потом еще был Bridgefy (и до сих пор есть) - тоже использовался протестующими и активистами в разных странах. Звучит круто, но у всех этих протоколов есть один нюанс: безопасность. В случае с тем же Bridgefy это все на абсурдном уровне: в 20 году исследователи обнаружили уязвимости, которые позволяют: - создать социальный граф пользователей в одной сети (кто с кем общается) - прочитать все их сообщения - выдать себя за любого пользователя и написать сообщение от его имени - вишенка на торте: уронить всю сеть одним специально отравленным сообщением Но наверняка Джек Дорси спустя 5+ лет учел все эти моменты в своем приложении? Кажется, не все :( Вскоре после анонса битчата исследователь-безопасник поковырялся в нем, нашел уязвимость, позволяющую любому пользователю довольно легко реализовать MiTM (man in the middle) атаку, и написал гневный пост про это. Если вкратце: - в битчате проблемы с Proof of Identity, из-за которых можно довольно легко выдать себя за человека в ваших Favorites и написать сообщение от его имени. - не надо изобретать велосипед (свой протокол для e2e общения), если не разбираешься в теме. Лучше взять готовый (условный libsignal) Насколько я понял, Джек решил не переписывать кусок приложения, а забить и предупредить пользователей о дырке: security notice: private messages have not received external security review and may contain vulnerabilities. do not use for sensitive use cases, and do not rely on its security until it has been reviewed. public local chat (the main feature) has no security concerns. На мой взгляд, не самое лучшее решение для приложения, ориентированного на активистов и протестующих без связи, ну да ладно. В двух словах про все эти bluetooth mesh сети - круто в теории, но довольно грустно на практике.
Про бобров Недавно заинтересовался (не спрашивайте, почему) бобрами и их жизнью. Если точнее: реально ли они строят дамбы как в фильмах/мультиках, как и зачем? Начнем с основ: да, бобры реально строят дамбы, причем огромные - чтобы вы понимали масштаб, 20 тусовок по 6-8 бобров в каждой (тн "колонии") могут построить дамбу шириной 4 (мама) километра. Причем, самое интересное - не сговариваясь между тусовками! Зачем бобрам эти дамбы? Дамбы нужны ради прудов, которые они создают вокруг себя. Жить в бурной речке - идея так себе, и бобры решают эту проблему, замедляя движение воды с помощью дамб и расширяя площадь, покрытую водой. Пруды помогают: - Спасаться от медведей и волков, заныривая поглубже при их приближении - Запасать еду в подкопах под водой на зиму, чтобы она не замерзла и к ней всегда был доступ. Кстати, бобры не едят рыбу, как в хрониках нарнии, - они вегетарианцы.. Как они учатся строить? Никак! Даже бобры, выросшие в полной изоляции и бетонной среде обладают инстинктом и базовыми навыками строительства. Бобры инстинктивно начинают строить с малых лет (даже пока родители не подпускают их к реальным дамбам и не показывают их им), когда слышат звук журчащей воды. Причем если с одной стороны поставить колонку и играть звуки журчания, а с другой - открытую трубу, по которой беззвучно течет вода - бобры выбирают колонку и пытаются строить около нее. Это все выяснил биолог Ларс Вилсон еще в 60-х - вот тут коротко. Если говорить о самом процессе стройки, там все вообще жестко. Дамба - это финальный продукт, как дом. Но чтобы построить большую дамбу нужно выкопать котлован, заложить фундамент, настроить цепочку поставок материалов... Не поверите, но бобры все это делают, причем довольно децентрализованно. PhD-Студентка Гарварда, которая изучала инженерные науки (как там это по-русски), решила заняться изучением процесса постройки дамбы с технической точки зрения. Она очень много наблюдала за бобрами, и вот, что она узнала: - Бобры выкапывают сети каналов, которые ведут к месту расположения будущей дамбы, и валят деревья прямо около каналов - чтобы уронить дерево в воду и транспортировать его к стройке - По дороге они закапывают еду под водой, чтобы можно было прерваться на обед, не тратя время на дорогу домой и обратно - Бобры выбирают место для строительства по напору воды в конкретном участке реки - он должен быть достаточно низким, чтобы не снести фундамент дамбы. Как бобры влияют на среду? Если коротко: бобры одни из самых полезных животных как для экосистемы, так и для людей 🦫. Благодаря прудам, которые создают бобры: - многие животные (типа лосей) получают новые и удобные места для остановки на водопой - выживают некоторые редкие виды рыб - появляется торфяная почта, которая "запирает" CO2 Исследованием влияния бобров на людей и земледелие занимается, в том числе... NASA. Они предоставляют серии снимков со спутников, с помощью которых ученые "в полях" могут сравнивать похожие участки, в которых есть / нет бобров. Вы, наверное, уже догадались: где бобры = там круче :) Ученые часто работают вместе с фермерами, которые потихоньку начинают просекать, что бобры им очень полезны: в Престоне, Идахо, например, бобры за 10 лет повысили количество дней, в течение которых течет река (тают ледники → течет река → из-за дамб она медленнее стекает) в регионе на 40 в год. Для сухих и жарких регионов, как можно догадаться, это очень критично: мало того, что существенно улучшает урожайность почвы, так еще и снижает вероятность возникновения пожаров в окрестностях прудов. Я не смог найти ни одного плохого эффекта жизнедеятельности бобров для природы - были какие-то разговоры про опасные бактерии, плодящиеся в прудах, но в той же статье их и опровергли (ну, вернее, увидели, что есть и эффект снижения, и роста, и в сумме +- 0). В общем, я теперь, как говорят в NASA, "Beaver Believer".
1000 и 1 способ украсть акк в телеге Вчера Виталик @thingsiread прислал мне бота “отключение света тбилиси”, которого он случайно нашел в тг [понятно, почему он его искал]. Как работает этот чудесный бот: 1) Чтобы долго жить и высоко ранжироваться в выдаче при поиске “отключение тбилиси”, основной бот сам не должен делать ничего плохого. Поэтому когда пишешь боту /start, он присылает тебе ссылку на другой канал. Ссылки ротируются с каждым стартом, сколько их всего - без понятия. 2) Бот, которого тебе прислали, рандомно называется (вроде “белла вита косметика” или “масло дыши отзывы”), сразу после старта проверяет, знает ли он твой номер телефона (см. ниже). Какие у него варианты знать твой номер: - у тебя открытый номер в тг (лол) - у тебя когда-то был открытый номер в тг (см. ниже) - вроде все Если боту твой номер неизвестен, то сначала он просит тебя нажать на кнопку “Я не робот”. При нажатии вылезает уведомление “бот запрашивает доступ к вашему номеру телефона”. После того, как бот как-то узнал номер, он сразу же просит ввести код “чтобы подтвердить, что вы не робот”. 3) Бедному, лишившемуся посреди дня света (и способности критически мыслить) пользователю приходит код в оффчат Telegram, он вводит код - бинго, аккаунта больше нет. Интересно, кстати, (мне жалко все мои акки, так что проверять не стал) автоматизирован ли “отжим” аккаунта или нет (смена пароля + 2фа + логаут всех сессий). Скорее всего, там сидит какой-то Вася, ловит уведомления об успешном отжиме и бежит руками это делать. Решил разобраться, как это устроено внутри. Сначала хотел написать своего такого бота - естественно, с огромными заголовками вроде БОТ ДЛЯ ДЕМОНСТРАЦИИ УГОНА АКАУНТА В ТГ, но потом подумал, что за такой довольно бесполезный PoC я могу лишиться своего акаунта в телеге (из-за блокировки), так что ограничился простым скриптом на питоне, который имитирует деятельность бота. Но для начала - откуда бот знает мой номер телефона? Он уже много лет (но недостаточно) закрыт от всех, даже от контактов. Немного погуглил и нашел несколько ботов для деанона, которые по @username или user_id присылают всю известную информацию о пользователе. В первом же таком боте (не буду прикладывать ссылку, найти элементарно) была инфа о моем номере от 2019 года. Правда, на моем более свежем “анон” акке, который я завел год назад, я сразу убрал доступ ко всем данным кроме username, и его номер боты не знают. Откуда эти деанон боты берут данные о пользователях? (помимо публикуемых сливов из всяких яндекс ед) Нашел вот такой ответ, который меня в целом устроил: Боты-накопители в Телеграм. Существуют аккаунты-боты, которые добавляются в открытые чаты и сохраняют всю доступную информацию о пользователях: фото, открытые номера телефонов, имя, @юзернеймы и т. д. Забавно, но пока искал, как делают таких деанон-ботов, и можно ли где-то вместо бота запрашивать данные о пользователе по апишке, наткнулся на несколько скамов^2: инструкций, как делать фейковые деанон-боты, на которые будут покупаться сталкеры. Ссылки прикладывать не буду, интересно - напишите в комментах. И так, полный алгоритм работы нашего бота “отключение электричества”: 1) Бот кидает ссылку на бота - не буду пояснять, тут все и так понятно 2) Проверяет, знает ли он ваш номер телефона. В своем PoC я сделал это немного через жопу - залогинил свою аппку в свой тг аккаунт, и через send_message отправил сообщение боту для деанона, а потом распарсил его ответ с помощью get_messages. Но наверняка можно просто купить доступ к базе тг аккаунтов, если порыться на грязных форумах. 3) Дергает метод sendCode с указанием номер телефона, и на ассоциированный с номером аккаунт приходит сообщение в тг. Бот(ов), кстати, телеграм уже поблочил. Интересно, сколько людей успели лишиться своих аккаунтов конкретно в этом скаме с отключением света в тбилиси? К чему я все это - сделать такого бота может любой дурак за час и +- бесплатно. Так что будьте осторожны, когда пользуетесь очередным непонятным ботом - всегда есть шанс, что он сделан по инструкции с форума.
Страшилка про VPNы Недавно ненадолго приезжал в Москву и прифигел от того, до чего техника дошла в плане блокировки контента. Помимо того, что в России поблокировали кучу IP ranges разных облачных провайдеров, вроде Cloudflare, Digital Ocean и даже Hetzner, за последние пару лет большая часть существующих VPN-протоколов почти полностью перестали работать (особенно на LTE). Очень рекомендую прошлогодний выпуск “запуск завтра”, где про методы блокировок довольно подробно и интересно рассказывает директор фонда “Общество защиты интернета”. Спойлер: почти все, что он там “предсказывал” про следующие протоколы, которые будут банить в РФ, за этот год уже произошло. Большинство моих друзей в результате всего этого меняют VPNы раз в 1-2 месяца и держат сразу по несколько приложений одновременно на всякий случай. В связи с этим решил повспоминать случаи, в которых разработчики VPNов умышленно или неумышленно (ага) подвергали пользователей разнообразным рискам, шпионили за ними и т д. - Наверное, самый масштабный кейс с участием 150+ разных VPN-сервисов - ботнет 911 S5, снесенный американскими спецслужбами в 2024. Создатель ботнета на протяжении нескольких лет создавал и продвигал разные VPN-приложения “с сюрпризом” в App Store и Google Play и успел насобирать более 19 млн пользователей по всему миру и $99+ млн выручки. Каждый девайс с установленным и включенным VPNом из этого набора превращался в зараженную ноду ботнета, который, в свою очередь, создатель сдавал в аренду разным киберпреступникам для организации DDoS-атак, фишингов и вымогательств. - Уже писал коротко про Onavo - VPN, который в 2013 году купил Facebook за астрономические на тот момент + для такого приложения $120 млн и продвигал его на главной фб как способ сидеть в интернете “безопаснее и дешевле”. В ходе антимонопольного кейса против FB “случайно” обнаружилось, что вплоть до 2019 года фейсбук с помощью Onavo расшифровывал весь проходящий через VPN трафик на домены Snapchat, Amazon, Google… Очень подробный технический разбор этого кейса. - В 2021 произошла утечка данных 21 млн пользователей трех популярных на тот момент VPNов: SuperVPN, GeckoVPN и ChatVPN. Данные пользователей (емейлы, IMEI, пароли и прочее) выложили на один из даркнет-форумов и продавали всем желающим. По слухам (чет не нашел железобетонных пруфов), разработчики оставили экспоузнутую базу данных с дефолтным логином/паролем, - так что и ломать особо ничего не пришлось. Какие можно сделать выводы из подобных историй? Во-первых, если VPN бесплатный, то он зарабатывает каким-то другим способом. Если это “хороший” впн, то он показывает рекламу при заходе в приложение и очень сильно режет трафик, вымогая подписку. Если ваш бесплатный впн этого не делает, работает без ограничений, смс, рекламы и т д - либо вы нашли святого VPN-провайдера, либо он монетизирует вас как-то иначе. И шансов узнать как именно у вас довольно мало. Кстати, если впн платный - он может точно так же зарабатывать доп. деньги сливая данные или продавая вас как частичку ботнета - диверсификация revenue streams, так сказать. Во-вторых, разработчик-вайбкодер, который запускает yet another VPN, мог и без всякого злого умысла оставить пару дырок для желающих угнать данные пользователей. А впн знает довольно много в сравнении с другими видами приложений. Честно говоря, что со всем этим глобально делать я не знаю. Я уже пару лет сижу только на собственноручно развернутом VPNе (в основном использую Tailscale, расскажу как-нибудь), но вот в последний приезд обнаружил, что на LTE он уже не работает (ну, точнее, на Билайне. хз может у других не так). И даже моя “запасная” Amnesia с 10ю разными изощренными протоколами вроде X-Ray и Shadowsocks5 работала только на вайфае. Видел, что люди покупают в тг ботах профили для Outline, вроде бы работает - но выглядит это все хуже и хуже. Думаю (без пруфов и достаточной экспертизы), что если глушить все будут и дальше, через год-два уже только невероятные умельцы смогут ВПНить с мобильного интернета. А вы как думаете?
Дешевые авиабилеты https://fortune.com/2025/07/16/delta-moves-toward-eliminating-set-prices-in-favor-of-ai-that-determines-how-much-you-personally-will-pay-for-a-ticket/ Нет, это не реклама авиасейлс: прочитал статью про эксперимент одной авиакомпании, которая для 3% своих пользователей сделала полностью индивидуальный “AI” прайсинг. Статья не особо интересная + выглядит как реклама этой самой Delta для инвесторов, но навела меня на пару мыслей. Во-первых, для инвесторов, конечно, звучит круто: по твоему digital fingerprint подберем максимальную цену, которую ты готов заплатить → оптимизируем margin per client и зарабатываем много деняк. Вот только мне кажется, что после ковида авиакомпании и так перешли на новую ценовую модель: все билеты стоят дорого, надо будет поехать - заплатишь, куда ты денешься. И это звучит круче, чем индивидуальная цена, тк лучше пусть всем будет дорого, чем части покупателей. Ну или возможно я бедный просто, хз. Во-вторых, мне казалось, что и так уже давно все это делают - иначе VPN-сервисы не смогли бы (ага лол) рекламироваться в америках без роскомнадзоров через value proposition “покупаешь билет москва-стамбул? войди под айпшиником франкфурта и купи билет в Х раз дешевле”. Что, кстати, по моим ощущениям, вообще не работает. Ну или возможно я не умею просто билеты покупать. В статье какие-то эксперты высказывают мнение: авиабилеты это только начало, если эксперимент прокатит, то всякие аренды машины, букинг комы и прочие тоже будут делать индивидуальный прайсинг. В связи со всем этим у меня родилась идея для стартапа: turnkey digital personality для разных покупок. Уже давно существуют специальные браузеры, в которых можно создавать разные digital fingerprint в разных вкладках, абсолютно изолированные от внешнего мира. Я парочкой таких пользовался во времена Track Pump, - например, https://multilogin.com/ и https://dolphin-anty.com/. Их обычно используют для разного спама - вести параллельно 25 аккаунтов в инстаграме, или лайки накручивать (хз насколько актуально). Но в них идея все-таки в том, что тебе дают абсолютно чистый и голый профайл, а ты его уже начиняешь куками и аккаунтами. А я бы сделал такой сервис для новой эпохи AI-прайсинга: указываешь, на каком сайте ты что-то хочешь купить, и тебе подбирается и создается “правильный” профайл - в одном случае у тебя фингерпринт малоимущего на пособии, в другом - белого цисгендерного мужчины-водителя с 20+ летним стажем вождения, и так далее. Чтобы с этим бороться, сервисам прийдется открыто признать, что они передают твои персональные данные (имя/фамилию/номер паспорта и т д) третьим лицам для enrichment’а своих данных - что, наверное, они все равно будут делать, тк кому какая разница. Но глобально мне кажется, что чем дальше бизнесы будут уходить в fingerprinting тебя как клиента по digital-характеристикам, тем больше digital манипуляций можно будет делать, чтобы выдавать себя за другого. Кто хочет заняться таким бредом - напишите, можем склепать лендинг по-быстрому :)
Левосторонние кошки https://www.cell.com/action/showPdf?pii=S0960-9822%2825%2900507-X Прочитал про исследование сна кошек, в результате которого было установлено значительное и статистически значимое превосходство сна на левом боку перед сном на правом: 65% vs 35% с p < 0.001. Для этого ученые отобрали и отфильтровали 400+ видео со спящими 10+ секунд кошками в полный рост. Авторы немного рассказывают о сне кошек в целом: домашние кошки являются одновременно хищниками и добычей (например, для койотов), и при этом спят 12-16 часов в день. Получается, что они проводят 60%+ своей жизни в очень уязвимом положении, в котором они могут как пропустить проходящую мимо мыш, так и быть сожранной аккуратно подкравшимся койотом, которого вы видимо завели просто по угару. Чтобы снизить риски, кошки предпочитают спать на возвышении, чтобы смотреть на всех свысока и иметь возможность отреагировать, пока они находятся в привилегированном положении. Но это не объясняет, почему 2/3 кошек предпочитают спать на левом боку. На это у ученых тоже есть ряд обоснований, самое достоверное из которых основывается на разных функциях левого и правого полушария мозга: левое визуальное поле, которое больше при сне на левом боку, соответствует правому полушарию мозга. Правое полушарие гораздо чаще используется для анализа угроз, исходящих из внешнего мира. Еще известно, что животные быстрее реагируют на хищника, который приближается с левой стороны. Как только кошка, спящая на левом боку, открывает глаза, она быстрее осматривает окрестности на предмет опасности, и в случае реальной угрозы выживает с большей вероятностью. Интересно, что это не связано с тем, левша кошка или правша — да, если что, 78% кошек имеют “ведущую” лапу, которой они чаще пользуются для более приоритетных дел, — и распределение правшей vs левшей среди кошек примерно 50:50. Мне стало интересно, и я еще почитал статью про распределение функций между полушариями среди животных. Пишут, что правое полушарие используется для восприятия любого негатива, - например, внешней угрозы, или орущего на тебя кожаного мешка, а правое, наоборот, для всяких похвал и хороших новостей. А еще, животные, у которых strength of lateralization (не придумал как перевести) низкий, хуже справляются с несколькими делами одновременно и легче впадают в состояние стресса. В общем, если ваша кошка чаще спит на правом боку, то вам стоит провести с ней беседу и объяснить связанные с ее поведением риски. Вероятно, в этом случае вам также не стоит заводить койота, тк кошка может не пережить встречу с ним. С другой стороны, возможно у вас такой безопасный вайб дома, что кошка уже в конец расслабилась и перестала бояться внешних угроз. Хорошо это или плохо - решать вам.
$500к за подсветку синтаксиса https://securelist.com/open-source-package-for-cursor-ai-turned-into-a-crypto-heist/116908/ В тему предыдущего поста: на днях завирусилась новость про "blockchain developer from Russia", который потерял $500к, установив расширение в Cursor. Очень кликбейтный заголовок, но на деле все так и было (ну если верить, что блокчейн-разработчик хранил 500к баксов не на леджере, а в браузерном кошельке): он установил расширение "Solidity Language" из маркетплейса расширений курсора, которое было 1в1 слизано с нормального расширения solidity, а в нем оказался стилер Trojan-PSW, кстати оч похожий на Redox, про который я писал тут. Как так вышло? Немного контекста: с января 2025 Курсор использует OpenVSX в качестве встроенного в IDE магазина расширений. OpenVSX это опенсорсный-безограничений форк майкрософтовского vscode-магазина, который разрешает форкам vscode (в отличие от майкрософтовского) туда ходить и качать расширения. Так вот, оказалось, что OpenVSX при ранжировании расширений в выдаче (например, когда ищешь "solidity") ориентируется на несколько факторов, включая рейтинг, количество скачиваний и дату последнего апдейта. Упомянутое выше вредоносное расширение в результате попало в топ выдачи, даже выше solidity, тк последний апдейт у него был всего несколько дней назад. В статье про это ничего не сказано, но я думаю, что накрутить рейтинги и количество скачиваний в OpenVSX - достаточно тривиальная задача: авторы этого расширения каким-то образом получили 50к скачиваний всего за пару недель, в то время как оригинальное расширение живет годами, и у него 64к. Самое жесткое, что когда это расширение все-таки зарепортили и смогли удалить, почти сразу же появилось новое. С названием "solidity" и автором расширения "juanbIanco" - точно таким же, как и у хорошего расширения, но с заглавной i вместо прописной L. В интерфейсе курсора с их шрифтом разницы между ними ровно 0. Больше того, у этого нового вредоносного расширения 2М скачиваний (возвращаясь к накрутке), в то время как у оригинального все еще 64к. Давайте честно, какое из них выбрали бы вы? Мне от всей этой истории стало жутко с первой минуты, тк у меня стоит "какое-то" расширение "solidity", правда в vscode. Благо у меня стоит оригинальное. Но это я к тому, что в отличие от большинства источников стилеров, тут я был максимально близко к бедному блокчейн-разработчику и прочей целевой аудитории этого расширения - я думаю, что я бы повелся с вероятностью около 100%. Microsoft в своем твиттере сразу выебнулся, что "у них это расширение удалили за 2 секунды", и вообще "Not in our house." Ага. С другой стороны, что еще им говорить, когда они конкурируют с форком собственного продукта, демпингуют итд. Может у них и безопаснее в магазине расширений, но за майкрософтом есть довольно много грешков, связанных с модерацией своих сервисов, см. тот же пост про Redox. Основная проблема с этими расширениями состоит в том, что они запускаются не в сендбоксе, а прямо на вашей машине под вашим юзером. И сделать могут +- все что угодно. Зная это, доверять даже вскодовскому маркетплейсу, где "все плохое удаляют за 2 сек" не хочется. Еще вспомнил, что месяцом ранее читал статью Koi Security про уязвимость, которую они нашли в OpenVSX, которая позволяла злоумышленнику удалять, добавлять и пушить обновленные версии любых расширений на маркетплейсе. Просто вдумайтесь, какой ущерб мог быть от такой атаки (у OpenVSX примерно 10+ млн пользователей). Выводы и что со всем этим делать 1. По возможности вообще не ставьте расширения. Если надо - ставьте официальные (где автор - Microsoft, к примеру). На страничке расширения в маркетплейсе есть ссылка на репозиторий - точно будет не лишним перейти по ней и убедиться, что репозиторий принадлежит известному разработчику / организации, которым "можно доверять". 2. Выключайте у расширений Auto-update - по умолчанию он всегда включен! Так у вас есть шанс не попасть под зловредный апдейт какого-нибудь расширения, которое захватил злоумышленник.
Клод в докере https://timsh.org/claude-inside-docker/ Уже пару месяцев хотел: - пересесть с курсора за 20$ + gpt за 20$ на одну клодовскую подписку - пересесть с курсора в целом на claude code тк все говорят что надо - перестать давать AI агенту доступ к моей файловой системе и терминалу, тк это опасно И вот вчера за вечер пересел, все настроил, и даже написал небольшой пост про это. А еще сделал quick start репу для желающих попробовать то же самое: https://github.com/tim-sha256/claude-in-docker Имхо, все, кто пользуются агентами в yolo mode (когда не каждую команду аппрувишь, а только “жоские”), да и тем, кто аксептит руками, не стоит делать это просто на компьютере, тк есть много рисков. Например, что агент возьмет и жестко удалит что-нибудь вне репы — в интернетах много таких примеров. Больше того, судя по некоторым постам, даже с установленными в Курсорсе правилами по запрещенным командам, Claude научился обходить эти запреты, запихивая команды в bash-скрипт и запуская его. Или поставит кучу херни в непонятном окружении (или просто в рут проекта), а потом окажется, что какая-то из установленных зависимостей была взломана и отравлена. А ллмки обожают ставить кучу непонятно зачем нужных либ на каждый пук :) Как будто бы моя горе-вайбкодерская жизнь стала чуть безопаснее, и при этом UX стал даже получше - клод код это реально крутая штука, мне и интерфейс нравится больше курсоровских чатов, и работает он проворнее, и все затраты сразу видны. Ну и в комбо с VSCode и его интеграцией и с докером (devcontainers), и с клодом - все нативно, никакого гемора — в общем, сплошная красота.
Игра в английскую бюрократию https://jameshaydon.github.io/passport/ Прочитал уморительную статью про попытку логически решить задачу подачи на британский паспорт. Суть в двух словах: автор подавал свою дочку, рожденную не в ЮК, на паспорт, у него изначально запросили сколько-то документов. Он их нашел, перевел, предоставил… спустя неделю запросили еще документов. Дело в том, что англичане для принятия всех решений решения - британец ты или нет, - должны увидеть один из двух (это без корнеркейсов) пруфов твоей британскости: либо ты родился в британии, либо на момент твоего рождения кто-то из твоих родителей был британцем. А как понять, был ли кто-то из твоих родителей британцем? Либо они родились в британии, либо… :) Это рекурсивное дерево продолжается до тех пор, пока не достигнут “base case” - предок, имевший гражданство до 1983 года, тк для него и для его предка уже не обязательно доказывать легитимность этого гражданства. Для всех, родившихся после, доказывать “британскость” надо. И главный прикол подачи на паспорт (на практике - на любые документы) в ЮК - ты не можешь изначально узнать весь набор документов, которые тебе потребуются. Отправь емейл - и через 5-7 business days ты узнаешь, какой документ от тебя ждут для прохождения на следующий этап. Поигравшись месяц в эту игру и после того, как для паспорта его дочери запросили applicant's father's father's father's birth certificate, автор не выдержал и написал скрипт на Haskell, который задает тебе вопросы, и исходя из ответов показывает доступные варианты пруфов и наборы документов. Не буду подробно пересказывать, что там написал автор - в целом, аккуратно расписал все правила и конфликты в виде логических функций. Приведу пару примеров того, как это выглядит: -- | British citizenship for those born abroad britBornAbroad :: Person -> M Proof britBornAbroad p = viaParent p $ \parent -> britOtbd parent `orElse` (brit parent `and` evidence (Years3LivingInUK parent)) -- | British otherwise than by descent (BOTD) britOtbd :: Person -> M Proof britOtbd p = do check (IsBritOtbd p) evidence (Naturalised p) `orElse` britOtbdUkBorn `orElse` bornCrownService p where britOtbdUkBorn = evidence (BornInUK p) `and` britBornInUk p bornCrownService :: Person -> M Proof bornCrownService p = viaParent p $ \parent -> do check (CrownService parent) brit parent `and` evidence (CrownService parent) Итоговая программа задает тебе вопросы, пока не придет к однозначному base case и соответствующему набору документов, например: Proof 1: • Applicant was born after 2006 • Via Applicant's Father's britishness: • Applicant's Father was born in UK • Via Applicant's Father's Mother's britishness: Applicant's Father's Mother was settled at time of birth Possible doc sets: • - Birth certificate for Applicant, - Birth certificate for Applicant's Father, - Settled status document for Applicant's Father's Mother Всего за 37 вопросов скрипт собрал аж 3 возможных пруфа с наборами документов - естественно, applicant's father's father's father's birth certificate требуется только в самом длинном и неоптимальном пруфе) В общем, смешно и познавательно! Всем, кто когда-либо подавался на английские визы / подтверждал дипломы и т п - очень советую почитать, прям одинаковые паттерны:) Хорошо, что я уже со своей англией успокоился.
Для тех, кому 400 страниц про это читать лень - пара ссылок: - Рецензия-пересказ от Кори Доктороу с самым соком: https://pluralistic.net/2025/04/23/zuckerstreisand/ - Увидел это видео примерно год назад у Виталика в канале - история преступлений фб за 3 часа: https://www.youtube.com/watch?v=MPyJBJTHyO0 - Довольно едкий пост про то, как топы в ФБ последовательно убивали (и продолжают убивать) все хорошее в ФБ: https://www.wheresyoured.at/killingfacebook/ #fuckzuck :))
Careless people Пару дней назад дочитал книжку Сары Уинн-Уильямс “Careless People” про ее опыт работы в Фейсбуке в роли Head of Global Policy. Она занималась коммуникацией с президентами / премьерами / ведомствами разных стран, чтобы фейсбук мог выйти на новый рынок / не быть заблокированным на старом, и много общалась лично с Цукербергом и Шерил Сандберг (ех-СОО фейсбука). Книга написана в формате мемуара - от истории как она хотела попасть в фб в 2010 и изменить мир, до ее увольнения в 2019 [allegedly за то, что она вместе с кучей других женщин обвинила своего начальника в домогательствах]. В 2025 Сара стала whistleblower`ом (не знаю, какой аналог в русском языке) и выступила перед конгрессом, обвиняя фейсбук и цукера лично в разнообразых преступлениях. Пара примеров: - Фейсбук очень долго пытался выйти на китайский рынок, и ради аппрува от КПК сделал для них инструмент, который позволял трекать пользователей + шэдоубанить или удалять неугодные посты, а также читать личные переписки без официальных запросов и в неограниченном количестве. Больше того, не только граждан Китая, а еще Гонгконга и Тайваня, а еще всех, кто с ними контактировал. В 2018 Цукерберг “под присягой” на слушании конгресса заявил, что ничего такого фб никогда не делал. - То, из-за чего в том числе сейчас идет судебный процесс между американской антимонопольной службой и ФБ по поводу WhatsApp: в 2013 ФБ купил впн Onavo, который продвигал в фб на главной в качестве рекомендуемого сервиса для обеспечения приватности и “экономии мобильного траффика”. В реальности, в течение 5 лет впн служил бекдором, с помощью которого ФБ могли расшифровывать SSL-encrypted траффик некоторых (=любых) приложений на телефонах пользователей. С помощью этого “тулза” они следили за активностью людей в Snapchat, а также вовремя приняли решение купить WhatsApp, руководствуясь инсайдерской информацией. Если что, вот исходники раскрытых документов в качестве пруфа. Если честно, меня это все не очень удивило. Давно понятно, что Мета это компания, которая превзошла всех в enshitification и в абьюзе собственных пользователей. Но почитать про 40 разных примеров подобного пиздеца, сжатых в одну книжку, - все равно источник ярких ощущений. Сама авторка как человек (ну, по крайней мере, по ее книжке) мне не оч понравилась, - у нее там много раз мелькает тема: “да, я понимаю, что это пиздец, и не могу повлиять на решение хедов, которое ставит под угрозу жизни людей, (см. кейс с геноцидом в Мьянмаре), но сейчас мне очень сложно будет менять работу и ходить по собеседованиям :(“. С другой стороны, она себя особо и не выставляет как какого-то героя. Спасибо, что хоть рассказала про все это - может быть, чуть больше людей задумается о том, что мета со своими продуктами существует не ради объединения людей и их самовыражения. Две вещи, от которых мне страшно / немного грустно: - ФБ ничего никогда не будет за это (пока какой-нибудь конкурент еще больше не сможет задушить их). Максимум - заплатят какой-нибудь смешной штраф. Как говорится, 2Big2Fail, 2Big2Jail. - Каждый раз, когда в книге упоминался очередной суд / скандал / пруф преступлений фб, я шел читать статьи того времени и материалы с заседаний суда по диагонали. Пруфов и огласки всего этого очень много, большая часть того, в чем Сара обвинила фб - не конспирология, а факты с бумажными доказательствами. Но за +-10 лет с появления первого такого “громкого” кейса, на мой взгляд, восприятие большинства людей от ФБ не изменилось почти никак (а может и изменилось в лучшую сторону). Надеяться, что книжка или yet another слив документов, или даже решение суда “виновен” это изменит - сложно.