В результате фишинга атакующим удалось перехватить учётные данные сопровождающих 18 популярных NPM-пакетов, в сумме загруженных более 2 миллиардов раз в неделю. Для скомпрометированных пакетов атакующие успели выпустить новые версии, содержащие вредоносный код. Это самая крупная атака на репозиторий NPM, которая затрагивает не только напрямую атакованные проекты, но сотни тысяч пакетов, зависимых от них...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63845
Я человек простой: вижу в письме слово сесьюрити - сразу ввожу логин-пароль, чтобы обсесьюриться по полной программе.
Ну а кто мы такие чтобы задавать вопросы? Нам сказали мы сделали. Мы люди маленькие.
Ну, нас постоянно к этому приучают. Это же удобно, когда о твоей безопасности думают профессионалы в этом деле, а не ты сам, еле понимающий, чемм пароль отличается от токена. Профессионалам-то точно можно верить.
> Профессионалам-то точно можно верить.Как экспертам в студии (на опеннете) :)
А вы уверены, что они не боты?
вопрос к МС, не ко мне
Это письмо от раст фаундейшн?
Ну чё ты такой простой, установи Касперский :) и будет тебе эвристический анализ
теперь мой пароль знает еще и касперский... а, впрочем... он его наверное и так знает
Никогда такого не было и вот опять))
Новость прлаётся так как будто это какая-то неожиданность.
Эта новость для того, чтобы люди перепроверили, нет ли у них скомпрометированной версии пакета. Ожидаемо или неожиданно, но предупреждение нужное.
Отлично-отлично. Хламопомойки полезны для непрерывной интеграции малвари. Очень надеюсь, что это попало в махровый энтерпрайз.
Напомни, откуда ты там в своем Линуксе пакеты ставишь? Или "вы не понимаете - это другое"?
Я ставлю отсюдаИ да это совсем другое.
Спасибо за ссылку, конечно. Но его там нет.
> Спасибо за ссылку, конечно. Но его там нет.Кого нет?
Здравого смысла.
Черного кота в черной комнате найти можно, достаточно сказать "кыссс-кыссс" :)
Не все коты откликаются, когда их зовут. Особенно, если они глухие.
> Особенно, если они глухие.считай и кота нет, хотя достаточно туда запустить собаку :)
> И да это совсем другое.И в чем отличия?
Ну, кроме того, что репу сделала отечественная коммерческая контора, которую ты зачем-то решил здесь прорекламировать?
> И в чем отличия?Отличие в том что я ни разу не видел новости что у них что-то взломали, и добавили к пакетам вредоносы.
> Ну, кроме того, что репу сделала отечественная коммерческая контора, которую ты зачем-то решил здесь прорекламировать?
NPM принадлежит Microsoft. Это другое?
Сколько у них юзеров?
А сколько юзеров у нпм, гитхаба или гитлаба.Будет ли об этом писать зарубежные ресурсы (спойлер: нет).
Будут ли об этом писать отечественные с риском познакомиться с тов.Майором за сорванную спецоперацию?Даже официальные репы ломают, во всяхие ХЗ добавляют бекдоры.
libux kernel был взломан 2 года.
> Даже официальные репы ломают, во всяхие ХЗ добавляют бекдоры.
> libux kernel был взломан 2 года.Кто? Что за libux kernel?
> Отличие в том что я ни разу не видел новости что у них что-то взломали, и добавили к пакетам вредоносы.Так я ни разу не видел новости, чтобы взломали репы Debian или Ubuntu. Но ты почему-то решил приплести сюда эту НЁХ.
>> Ну, кроме того, что репу сделала отечественная коммерческая контора, которую ты зачем-то решил здесь прорекламировать?
> NPM принадлежит Microsoft. Это другое?Я тебя спрашивал не о том, кому принадлежит NPM. Я спрашивал: зачем ты здесь рекламируешь этот Etersoft?
Там тысячагласс смотрит, как специально обученный дiд вручную конпеляет пакетики и по FTP кладет их в ПРАВИЛЬНОЕ МЕСТО без этих вот ваших сиай-сидёв.
> Очень надеюсь, что это попало в махровый энтерпрайз.сссссс..
> В письме было сказано, что [...] 10 сентября [...] все учётные данные с необновлёнными параметрами 2FA будут заблокированы.При этом письмо пришло 8 сентября. Т.е. за 2 дня до якобы блокировки. И чел даже не заподозрил неладное. 😂
А чего подозрительного то, всего джва дня осталось, надо поторопиться вводить а не думать то.
За нас у же все подумали - за целых два дня прислали.
Осталось только ввести логин и пароль.
> Т.е. за 2 дня до якобы блокировки. И чел даже не заподозрил неладное. 😂А что ты хотел от людей, которые только и делают, что обновляют зависимости. У таких 1 день - это уже устарело.
Требование вполне в духе современных "сервисов".
Не, ну я бы тоже насторожился - чего вдруг за аж два дня? Вот если б за два часа, но пятнадцать штук с интервалом две минуты и каждый раз новым линком а старый уже не работает - было бы в духе.
Я вижу вы незнакомы с технологией one-time password
Ну со многих контор( те же Госуслуги, но и крупных частников полно ) уведомление о самой возможности записи на какое-то мероприятие запросто приходят в середине последнего дня записи на него( притом, что времени было отведено в районе месяца )Даже региональные выборы местами скоро начнутся, а уведомление о том, что можно подать заявление об изменении участка голосования направлено 8 сент в 06:00 Мск притом что крайний срок подачи - 8 сент 23:59 Мск, хотя возможность этого появилась много дней назад
Но самый простой и очевидный способ не попасть на простейший развод - это не переходить по ссылкам в письмах где потом надо вводить логины-пароли
Конкретно по новости - увидел письмо и сам зашёл на сайт из закладок/автодополнения хотя бы
Энтерпрайзу давно пора составить дерево зависимостей, найти топ-100 таких мейнтейнеров проектов и как положено в энтепрпрайзе регулярно проводить инструктаж по ТБ со сдачей тестов. Ну и платить за потраченное время из специального фонда, разумеется.
Но делать они этого конечно не будут.
> Ну и платитьэнтерпрайз тянет код под MIT и будет платить за потраченное на инструктаж время?
>Энтерпрайзу давно пораЕсли ты такой умный, то почему ты не энтерпрайз?
Энтерпрайзу давно пора составить дерево зависимостей, найти топ-100 таких мейнтейнеров проектов и как положено...Как положено, в общем...
Всё так и было. Человек из новости после такого обучения получил письмо о необходимости обновить данные и пошёл обновлять, чтоб безопасно было.
> Организовав работу npmjs.help как прокси для доступа к npmjs.com, атакующие контролировали весь трафик, включая активность на страницах ввода пароля входа и запроса второго фактора аутентификации.И это называется "двухфакторная" авторизация... Два фактора потому и два, что они должны быть независимы.
Вторым фактором надо отправлять ссылку в почту. Она бы прилетела в почту напрямую, минуя nmpjs.help, и вела бы она на настоящий сайт.
Хипстеры изобретают свою, ПРАВИЛЬНУЮ реализацию 2fa - спешите видеть!
Как ты думаешь, как бы тут помогла генерация TOTP на "еще-более-независимом устройстве", м?
> И это называется "двухфакторная" авторизация... Два фактора потому и два, что они должны быть независимы.Так они и независимы. Видишь ли, двуфакторка сделана в первую очередь для защиты на стороне пользователя (если один фактор сперли), а от дыр на стороне сервера и тем более вот таких прокси, вклинившихся "между", она не защищает.
> Вторым фактором надо отправлять ссылку в почту. Она бы прилетела в почту напрямую, минуя nmpjs.help, и вела бы она на настоящий сайт.
И тогда двуфакторка превращается в однофакторку. Причем если у тебя именно второй фактор (девайс с почтой) то при такой схеме авторизации у злоумышленников теперь есть доступ ко ВСЕМ твоим аккаунтам, если на этом девайсе в браузере ты выбирал автосохраниение паролей.
И, кстати, безопасно логиниться в саму почту тоже как-то надо.
а два миллиарда_загрузок_в_неделю никого не смущают? не подозрительно многовато?
Слышал когда-нибудь о CI/CD?
Люди любят красить буквы...
Там боты загружают новую версию JS пакета, если видят изменение версии в репозитарии.
При каждом старте.
Ну это такой вид программирования на JS.
Мне больше нравятся почти 130 тысяч зависимостей у пакета
> множества библиотек для консольных приложений.Консольные приложения на javascript! Дожили.
По сути запускается браузер, чтоб выполнить консольную программу.
Нет там никакого браузера, просто нода в tty текст выводит.
Не холивара ради, а исторической справки для.Консольные программы на js появились ещё в 90-е на оффтопике. В 00-х расширили с помощью .net.
Только вот лучше б там и остались. Открываешь какой нибудь клаудкод, а у него месиво нечитаемое, зато ЭФФЕКТИКИ и ОКОШЕЧКО СТАТИЧНОЕ
И кто говорил что это правильно?
Значит питон, перл и прочие баг портянки тебя не смущают?
Для смущения нужно чтобы сознание как-то участвовало в процессе. А он увидел знакомые буквы, и сразу пошла слюна. Всё как у Павлова.
У питона нормальный интерпретатор. У js это браузер, по сути, со своей виртуальной машиной.
Откуда в ноде браузер, опеннет продолжает поражать своей икспертностью...
Всё ещё верят в 2Fa аутоидентификацию ? А , завтра оператор сотовой заблокирует сим сим и выдаст её левому челу уверяя вас что никому не выдаст этот номер раз не смог вам перевыпустить этот же номер на другой релокации внутри федерации и вы приехали что ваш номер у которому привязаны акки теперь может быть подвержен тупо быстрому хищению акков , лучше держаться одно паролевой идентификации с на геолокацию так всяко разно более надёжно , а паранойды боящиеся распознавания геолокации аноны это всё равно обезличенная масса и зачем им становиться великими они все равно этого бояться им в таком случае и навигатор не нужен.
Sms это и не 2fa. На случай утраты доступа есть листок с распечатанными одноразовыми кодами.
> Всё ещё верят в 2Fa аутоидентификацию ? А , завтра оператор сотовой
> заблокирует сим сим и выдаст её левому челу уверяя вас что
> никому не выдаст этот номер раз не смог вам перевыпустить этот
> же номер на другой релокации внутри федерации и вы приехали что
> ваш номер у которому привязаны акки теперь может быть подвержен тупо
> быстрому хищению акков , лучше держаться одно паролевой идентификации с на
> геолокацию так всяко разно более надёжно , а паранойды боящиеся распознавания
> геолокации аноны это всё равно обезличенная масса и зачем им становиться
> великими они все равно этого бояться им в таком случае и
> навигатор не нужен.Не, ну использовать в качестве "второго фактора" - _принципиально_ не принадлежащую тебе вещь - _арендуемый_ на мутных условиях телефонный номер само по себе "ну, такоэ" решение.
Но ить - считать, что вот этим вот - ну может еще TOTP концепция 2FA и ограничивается и ограничивается прям вообще волшебно.
С рождения тебе принадлежит только лицо и голос, так что давайте все недовольные идити куда следует регистрировать биометрию
> С рождения тебе принадлежит только лицо и голос, так что давайте все
> недовольные идити куда следует регистрировать биометриюНу если понятия не имеешь о том, как обрабатывается и для чего используется биометрия - то да, иди - можешь даже генетический материал с собой прихватить. Только оплата через защищенный счёт ФСБ, не забудь!
>оператор сотовой заблокирует сим сим и выдаст её левому челу уверяя вас что никому не выдаст этот номер раз не смог вам перевыпустить этот же номер на другой релокации внутри федерацииНапомнило мне мою историю с внезапным выпуском еще одной платежной карты к моему счету в ПСБ, о которой я ни слухом ни духом.
При этом техподдержка настоятельно уверяла меня что "выпустить карту без моего присутствия в офисе невозможно". При смене контактного телефона, и других действиях робот присылал мне СМС о чем я и узнал из СМС.
Девочка на горячей линии техподдержки (это чуть выше обыкновенных, озвучивающих скрипты) разобралась с проблемой и ретранслировала мне ответ "менеджер сказал что с клиентом все согласовано"Пысы: закончилось все безубыточно - на след день я съездил в офис именно к этому менеджеру, и первое что я от него услышал это удивленное "Вы уже здесь?".
У меня был прикол что в сбере какого-то пенсионера привязали к моему номеру без моего участия. Мне отдали чужой счёт ага. Такая вот секурность у сбера.
>npmjs.helpЕсли кто-то повёлся, навсегда занести их в чёрный список. Как умственнонеполноценных. А, хотя, подождите, для этого же кок и принимали. Только почему они чем-то там управляют теперь?
victim blaming? Не, не слышал - "с хорошими девочками плохие вещи не случаются!"
Это самый примитивный фишинг, старо как интернет. Кого тут стоит винить, так это компании, делающие легитимные рассылки с левых доменов. Но только, не заметить, что это левый сайт, в данном случае, просто невозможно. А ведь вроде взрослые околоайтишники.
> делающие легитимные рассылки с левых доменов.Можно написать скрипт, который будет отправлять письма по одному.
А если вообще заблочить левые домены, то начнется воняние васянов с подкроватными мейлсерверами типа "корпы их ущемляют".
> Это самый примитивный фишинг, старо как интернет. Кого тут стоит винить, так
> это компании, делающие легитимные рассылки с левых доменов. Но только, не
> заметить, что это левый сайт, в данном случае, просто невозможно. А
> ведь вроде взрослые околоайтишники.Да-да, самадуравиновата. И вот велосипедисты, ой, электросамокатчики еще - все зло от них.
А кто виноват? И не хочешь ли ты сказать, что всё зло от того, что велосипедистов, ой, самокатчиков, плохо наказывают? Даже если запретить прокаты, проблема идиотов на электроскутерах не будет решена. Фишинг никуда не денется, распознавать его -- это базовая компьютерная грамотность. Поэтому, выдавать волчий билет -- вполне справедливо.
> А кто виноват? И не хочешь ли ты сказать, что всё зло
> от того, что велосипедистов, ой, самокатчиков, плохо наказывают? Даже если запретить
> прокаты, проблема идиотов на электроскутерах не будет решена. Фишинг никуда не
> денется, распознавать его -- это базовая компьютерная грамотность. Поэтому, выдавать волчий
> билет -- вполне справедливо.Да-да, и вот сишников за выход за пределы буфера всенепременно на мороз - ну детская же ошибка, правда? И вот админов за кривые ACL пороть - всех же учат, ага. И...
"А может просто использовать устойчивые к фишингу варианты аутентификации?
Да не, ерунда какая-то..."
Может лучше скаммеров сажать и с преступностью бороться? Не, ерунда какая-то, лучше жертв преступления виноватыми сделать. Скаммеров ещё найти надо, а если они отстреливаться начнут? А эти вон — сами пришли, даже искать не надо.
>is-arrayishО,новый лефтпад! Что это за нескучный язычок такой, что нужен _внешний_ модуль, чтобы определять тип переменной?
Он не тип переменной проверяет. Ох уж эти иксперты.
У него же там батарейки в комплекте, а такую фигню не проверяет?> Ох уж эти иксперты.
иксперты - это видимо те, кто is-arrayish юзает
Он проверяет, может ли объект быть использован как массив. Целых 9 LOC.
Это не тип переменной, это "не массивы", которые, тем не менее, можно кормить в методы массива. Типа какого-нибудь NodeList. JS такой JS, да.Вот прямо тут в devtools console:
> const nodelist = document.querySelectorAll('input')
> nodelist.constructor.name'NodeList'
> nodelist instanceof Arrayfalse
> Array.isArray(nodelist)false
> nodelist.map(n => n.name).join(',')VM1371:1 Uncaught TypeError: nodelist.map is not a function
at <anonymous>:1:10НО:
> Array.prototype.map.call(nodelist, n => n.name).join(',')
'words,om,omm,news_key,az,name,email,subject,forum,ec,sc,post,preview'
Странное дело. В силу профессиональной деятельности указанный гражданин не мог не знать об указанном способе фишинга. К тому же большинство почтовых клиентов блокируют такие письма. Так что есть серьёзные основания полагать, что доступ был получен не случайно. Разраба могли попросить вежливые люди или банально подкупить. Ну а доступ им потребовался для совершения какой-то разовой операции. После чего дело обставили как случайный "фишинг". Это примерно как у нас, когда жертва "мошенников" внезапно переводит сотни миллионов рублей на какой-то мутный счёт, хотя в реальности это сделать физически нереально.
CСпрашивается, что вы хотите от пользователей, бабушек и т.д.)))
Тут девелоперы в секурити не волокут от слова совсем.
> CСпрашивается, что вы хотите от пользователей, бабушек и т.д.)))
> Тут девелоперы в секурити не волокут от слова совсем.Большинство из них (кроме небольшого количества, занятого разработкой достаточно специфических вещей) действительно "не волокут" (как правило хуже всего те, кто думает что "ну вот он-то ТОЧНО да!). И в майнтенансе надевелопанного - не волокут. И в построении из разработанного сколько-нибудь сложных систем - ниочень.
Некоторые из них "волокут" в "девелопменте" и это уже дофига много, обычно и того нет.И нет, это не "программисты плохие-плохие-плохие!" - это мир слегонца сложный.
В первых я говорил про нифига не специфические вещи - я говорил про базовый скил. Настолько базовый, что он, внезапно, для всех.
В вторых - назвался девелопером то как бы спозиционировал себя несколько умнее чви все, и тут нате опа ...
В третих - когда разработка касается сетевых паблик фич - тут сука просто обязан понимать секурити ...
> В первых я говорил про нифига не специфические вещи - я говорил
> про базовый скил. Настолько базовый, что он, внезапно, для всех.Ну вот и я про то. Хуже всех те, кто думает, что уж он-то "базу"(ТМ) знает! А дашь какой-нибудь тест - "оцените актуальные для вас угрозы, выберите средства защиты, релевантные для их предотвращения" - всплывает фффсякое.
И это если даже не вспоминать о том, что ЧСВ'шные г-да в упор не понимают, что "знать" что-либо это одно, а "применять это 24*7*365" не допуская ошибок - саааавсем другое. Все знают, что "движение на красный свет - запрещено", но каждый, с-ка, каждый! Хоть раз в жизни в любой роли это самое правило того-этого. Кто-то - с фатальными последствиями, кто-то без.> В вторых - назвался девелопером то как бы спозиционировал себя несколько умнее
> чви все, и тут нате опа ...А вот это и есть то самое ЧСВ. "девелопер" нуэээ... ничуть не "умнее" сварщика или там "сантехника", что бы он там сам про себя ни думал. Вот с дворником боль-мень уверенно потягается, да и то...
> В третих - когда разработка касается сетевых паблик фич - тут с-ка
> просто обязан понимать секурити ...И снова "нет". В жизни реальный разработчик не то, что "понимать" - он и "знать"-то как правило не обязан. Вот не совершать типовых ошибок-по-списку - да. Остальное... см. выше
Список скомпромитированных пакетов состоит из каких-то велосипедов. Нормальный человек такое напишет у себя за 5 минут без всяких зависимостей. Ох уж это скриптизеры.
Ну lefpad же !
Зачем писать 5 строчек - это же надо МНУ теребить. А так "скачал и всё работает !".
вот поэтому я при получении таких писем иду в браузер и захожу на сайт руками. ну и не пишу на джаве
дык, а толку-то...когда половина инструкций начинается с "установите npm".... ну или curl|sudo bash его норовит сам поставить.
curl|sudo bash - это 5, конечно. Такое мощщщщное заклинание.Второе, утыкать всё пробросами на 127.0.0.1 по ssh.
flatpack
Ну зашли вы на сайт руками, а там никаких уведомлений типа такого. Дальше? Предполагаете, что, вопреки письму, акк не заблокируют?
Всё движется к тому, что со временем в NPM будут находить нескопрометированные пакеты.
И это будет сенсация.
Не перечесть сколько ещё учётных записей присоединилось к различным проектам, чтобы однажды добавить свой кусочек кода.
зачем им? Судя по новости - просто используй пароль 123. К какому-нибудь лефтпаду да подойдет, и все за тебя уже присоединились и кода надобавляли, хрен там твою добавку кто увидит.
Ничего удивительного в этом нет.
Вот и что делать?
Если в письмах делать ссылки, то люди привыкают не глядя их жмакать. Если не делать ссылки, то люди могут случайно попасть на поддельный сайт, введя com вместо ru например.
Очевидно, что - проксировать каждое письмо через товарища майора, он проверит, есть ли в письме опасные ссылки. Или проще запретить мыло.
Чем там прикрывался Гитхаб, принудительно внедряя 2FA? "Это для вашей же безопасности"?
Письму в принципе мало доверия. Вместо перехода по ссылке использую адрес из истории/закладок, в случае чего сайт предложит выполнить необходимые операции.
Это может быть не фишинговая атака, а цепная реакция, вызванная ИИ-червём. После захвата контроля над растопакетами её будет уже не остановить: растопакеты без карго-дерьма просто не соберутся.На вашем бы месте побыл бы две недельки без обновлений, пока пыль не уляжется.
На вашем бы месте попил бы таблетки две недельки без перерыва, пока симптомы не ухудшились.