Инженеры из компании Meta* опубликовали отчёт о переработке компонентов мессенджера WhatsApp с использованием языка Rust. В рамках инициативы по усилению безопасности проекта был подготовлен новый вариант библиотеки wamedia, изначально написанной на языке C++ и применяемой в WhatsApp для отправки и обработки мультимедийных файлов в формате MP4...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64719
Хоть бы подробности рассказали: какую модель использовали, что было в AGENTS.md... А так "переписывать" сейчас все горазды 😁
кстати, да, странно что нет еще победоносного отчета о том сколько из этих строк напереписывала за них модель.инвесторы любят ии-бредятину
> инвесторы любят ии-бредятинуЗаезженный бред. Посмотрите на отчёты, акции падают при упоминании ии.
nvidia и openai уже банкроты, я надеюсь? (да, я помню про идею кредитнуть деньгами л...инвесторов однодневку с нулевой ответственностью, заключить с ней же контракт на строительство datacenters, поставки собственных плат и так далее, но это на случай если убытки таки будут - если будут прибыли, то денежки л..инвесторов не пропали окончательно)
Да, nvidia и openai банкроты и извинились перед всем человечеством, потому что впадение в крайности при ответе на opennet является аргументом.
Перестань впадать в крайности. Это вредно.
nvidia немного с другой стороны AI
> nvidia немного с другой стороны AIПравильно, с каких бы пор у лохотронщика акции бы падали от окучивания лохоа? :) У лохотронщика дела идут что надо - наплыв клиентов ему с руки. А то что акции у его клиентов падают при упоминаннии такого соседства - проблемы клиентов.
openai в предверии не имея другого бизнеса, а nvidia продает лопаты
Хорошо, если так
>> инвесторы любят ии-бредятину
> Заезженный бред. Посмотрите на отчёты, акции падают при упоминании ии.У вас слишком однобокое мнение.
Напомню, что в так называемую эпоху "бума доткомов" стартапы в интернете тоже называли пузырём, они росли как кролики и подавали кучу надежд. Но выжили только те, кто реально и серьёзно что-то делал, а не как инфо-цыгане: просто пытались скопировать у других и выкачать деньги с инвесторов. Сегодня то же самое, но с нейронками. Те, кто серьёзно относятся, а не хотят на хайпе собрать сливки и свалить, останутся.
> Напомню, что в так называемую эпоху "бума доткомов" стартапы в интернете тоже
> называли пузырём, они росли как кролики и подавали кучу надежд. Ното есть не называли а они им и были.
> выжили только те, кто реально и серьёзно что-то делал, а не
тоже нет. Выжили те у кого папа - миллиардер.
Если кто не знал или забыл - запланированный срок выхода в ноль amazon.com - тогда еще всего лишь продавана бумажных книжек через этот ваш интернет - ДЕСЯТЬ лет. Тебе никто на таких условиях ни копейки не даст. А Безнос - нашел!> инвесторов. Сегодня то же самое, но с нейронками. Те, кто серьёзно
> относятся, а не хотят на хайпе собрать сливки и свалить, останутся.вот эта вот история со строительством DC нафффсе, что долги - они как бы ничьи, а прибыль наша - это серьезно?
Между прочим, из-за строгой системы типов и эффективеой их проверке на сборке в раст, c++ действительно неплохо переписывается в раст в агентском режиме топовыми моделями. Конечно, т.к. нет полной совместимости, все не так просто, но, если разбивать в целом задачу портирования на мелкие и не выпускать контроль со стороны инженера, то именно c++ -> rust получается лучше всего.
ООП в rust уже добавили?
Оно там всегда было.
"Наследственность" в Rust тоже присутствует?
Пожалуйста не надо.
Одно слово: lifetime.В этой фигне даже сами разработчики языка разобраться толком не могут, куда там ИИ.
>В этой фигне даже сами разработчики языка разобраться толком не могут, куда там ИИ.Разработчики языка прекрасно в этом разбираются. А вот некоторые другие, пришедшие после Си - у тех действительно часто проблемы
> Одно слово: lifetime.
> В этой фигне даже сами разработчики языка разобраться толком не могут, куда
> там ИИ.а зачем ему разбираться? Чтоб бредогенерить код - ни в чем разбираться не надо. Надо иметь набор паттернов (он у ЫЫ есть) и рандомайзер. Миллион мартышек таки МОГУТ, оказывается, написать войну-и-мир. Если не считаться с затратами. А их пока никто и не считает.
Лайфтаймы неявно присутствуют и в с/с++, просто в этих языках программист должен сам за этим следить, а в расте эту работу берет на себя компилятор. Если бы вы писали на сишке, то знали бы об этом.
Только в таком случае объём кода вырос бы, а не уменьшился.
С чего вдруг?
Не объём кода, а количество строк. Строки ведь могут быть разными
А Паша Дуров пишет безопастно на С++ свой мессенджер. Вот и думайте!
Не хочу. Подумай за меня, пожалуйста!
> увеличение размера исполняемого файла из-за интеграции стандартной библиотеки RustДо сих пор только статика...
>> увеличение размера исполняемого файла из-за интеграции стандартной библиотеки Rust
> До сих пор только статика...
> 1990sСтатика слишком жирно, нате вам дллки.
> 2010s
Ой с этими дллками одни проблемы, давайте засунем всю ос в контейнер и так задеплоим.
Так я подумал вместо тебя и вот результат. Пашка пишет на дырявом си++ чтобы вставлять туда cve чтобы твой клиент был дырявым как дуршлаг.
> Не хочу. Подумай за меня, пожалуйста!Чатгоптя попроси, чего ради мы тебе должны протезами для мозга бесплатно работать. Для таких как ты AI придумали :)
Паша Дуров использует легаси версии библиотек при сборке официального бинарника.
> Паша Дуров использует легаси версии библиотек при сборке официального бинарника.Да оба они вместе с сабжем - опенсорсники чисто номинальные. Но у самодурова таки сорц клиента более-менее выложен.
А транс-мета вообще - вот - какой-то бесполезный мусор в стиле нате на лопате в очередной раз вывалила. Можно пари заключать что это никто кроме меты юзать не будет. И уж конечно аьтернативный клиент вацапу это сделать - никак не поможет. И о чем шум? Что какой-то корпорат вывлил очередное внутреннее ненужно в надежде что какой-то лошпед все же впряжется поработать на благо их инвесторов забесплатно?
Паша просто пишет, ну не сам лично, конечно, а не кичится безопастностью.
Ещё как кичится, только вот сквозное шифрование есть в "секретных чатах" в отличии от Signal/WhatsApp.
Паша просто пишет ... в твиттере.
>Паша просто пишет, ну не сам лично,
>конечно, а не кичится безопастностьюПротокол устроен так что сообщения расшифровываются на сервере. О какой безопасности идёт речь вообще?
Особенно радуют криптаны которые считают ТГ безопасным 🤣
они не криптаны, криптаны как раз знают чем Диффи-Хеллманн отличается от Дуров-Дуров.
А ещё криптаны знают, что Диффи-Хеллманн не отличается от Дуров-Дуров при наличии MITM.
Поэтому его ломают без проблем.
> Поэтому его ломают без проблем.Можно ссылки?
Можно. Сразу по прибытию во Францию сломали и посадили.
Сломали полностью?
Телегу можно хвалить за что угодно, кроме кода и протокола. Некоторые решения не странные или спорные, они безумные.
> кроме кодаА код сабжа вы, конечно, тоже видели?
> А код сабжа вы, конечно, тоже видели?Код вот, в чем проблема?
github.com/telegramdesktop/tdesktop
>> А код сабжа вы, конечно, тоже видели?
> Код вот, в чем проблема?
> github.com/telegramdesktop/tdesktop1. Речь про код ватсапа, который закрыт. Но аноны делают о нем какие-то выводы.
2. Что не так с кодом tdesktop? Конкретные примеры.
> 1. Речь про код ватсапа, который закрыт.Вы хоть смотрите на что отвечаете "Телегу можно хвалить за что угодно, кроме кода"
> 2. Что не так с кодом tdesktop? Конкретные примеры.
Это вопрос адресуйте другому комментатору.
>> 1. Речь про код ватсапа, который закрыт.
> Вы хоть смотрите на что отвечаете "Телегу можно хвалить за что угодно,
> кроме кода"facepalm Вопрос и был как будто код ватсапа видели, чтобы сравнивать. Эксперты такие эксперты.
>> 2. Что не так с кодом tdesktop? Конкретные примеры.
> Это вопрос адресуйте другому комментатору.Дурака включил? Перечитай ветку.
Видел. И протокол смотрел. Не тот, который API для ботов, а внутренний клиентский.
> Видел. И протокол смотрел. Не тот, который API для ботов, а внутренний
> клиентский.Хорошо, а где нам посмотреть? Просто понимаете, если вы говорите "видел, там все хорошо, но исходников вы посмотреть не можете", то это нельзя считать за проверенный аргумент.
> Телегу можно хвалить за что угодно, кроме кода и протокола.да, товарищ майор очень, очень ее хвалили!
> А Паша Дуров пишет безопастно на С++ свой мессенджеУ Паши такие же "типикал сишные дырени" вроде
CVE-2021-31320 Telegram Android, iOS, and macOS Heap Buffer Overflow
CVE-2021-31321 Telegram Android, iOS, and macOS gray_split_cubic Stack Buffer OverflowПричем часть с эксплойтами.
Народ потом удивляется "Мне фотку/видосик/стикер прислали и телега стала странно работать, как же так?!"
>> А Паша Дуров пишет безопастно на С++ свой мессендже
> У Паши такие же "типикал сишные дырени" вроде
> CVE-2021-31320 Telegram Android, iOS, and macOS Heap Buffer Overflow
> CVE-2021-31321 Telegram Android, iOS, and macOS gray_split_cubic Stack Buffer OverflowУ этих средний уровень, к тому же они в сторонней библиотеке rlottie. За все время там 2 высокие уязвимости одна из которых в вебе.
> У этих средний уровеньВы издеваетесь? Или читаете жо... не глазами?
nvd.nist.gov/vuln/detail/CVE-2021-31320 Base Score: 7.1 HIGH
nvd.nist.gov/vuln/detail/CVE-2021-31321 Base Score: 7.1 HIGHКак переводится слово HIGH с ангельского? Как "средний уровень", да?
Никогда растохейтеры не показывали свою некомпетентность и вот опять)))
>> У этих средний уровень
> Вы издеваетесь? Или читаете жо... не глазами?
> nvd.nist.gov/vuln/detail/CVE-2021-31320 Base Score: 7.1 HIGH
> nvd.nist.gov/vuln/detail/CVE-2021-31321 Base Score: 7.1 HIGH
> Как переводится слово HIGH с ангельского? Как "средний уровень", да?Слово HIGH увидел и зажался в угол? CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
C:N (Confidentiality: None) — Конфиденциальность не нарушается. Данные не крадутся.
Итог: Уязвимость позволяет локальному пользователю (или атакующему через социальную инженерию) нарушить работу программы и изменить данные, но без доступа к конфиденциальной информации.
> Слово HIGH увидел и зажался в угол?Нет, наоборот с удовольствием подловил очередного хейтерочка на вранье.
> C:N (Confidentiality: None) — Конфиденциальность не нарушается. Данные не крадутся.
Какое это имеет отношение если результирующий счет все равно 7.1 HIGH?
> Уязвимость позволяет локальному пользователю
Локальному? Через полученный стикер?))
> Нет, наоборот с удовольствием подловил очередного хейтерочка на вранье.А как там завал клаудфлари поживает? Заслуги мирового уровня вашего брейнфака вида "сломали 20% интернета" видимо несчитово было.
По импакту - даун 20% интернета на полдня - это намного больше аномалий чем странная работа телеги у пары хомяков.
>> Слово HIGH увидел и зажался в угол?
> Нет, наоборот с удовольствием подловил очередного хейтерочка на вранье.Это вы зря. Я не хейтер. Вообще навешивание ярлыков идет как раз со стороны растфанатов.
>> C:N (Confidentiality: None) — Конфиденциальность не нарушается. Данные не крадутся.
> Какое это имеет отношение если результирующий счет все равно 7.1 HIGH?К тому, что это не особо какая-то там критическая уязвимость. Было бы 6.9 было бы уже не хай. И вообще считаю, что для такого проекта, совсем немного уязвимостей.
>> Уязвимость позволяет локальному пользователю
> Локальному? Через полученный стикер?))И? Это вообще сторонняя библиотека, если что.
> Я не хейтер.Хаха)) Вы серьезно? Вы почти в каждой теме про раст набрасываете.
> Было бы 6.9 было бы уже не хай.
Был бы у бабушки... ну вы поняли.
Тем не менее там не 6.9, а 7.1. И оценили это не я, и не вы.> Это вообще сторонняя библиотека, если что.
Пользователю как бы все равно чья это библиотека. Поставляется она в рамках продукта.
>> Я не хейтер.
> Хаха)) Вы серьезно? Вы почти в каждой теме про раст набрасываете.Отвечаю на несанкционированные выпады. Эта ветка началась с
> У Паши такие же "типикал сишные дырени" вроде
и приведением двух уязимоситей в сторонней бибилоетке. К тому же общее кол-во уязвимостей за все время мало. Надо быть объективным, но для поклонников ржавого видимо это сложно.
>> Было бы 6.9 было бы уже не хай.
> Был бы у бабушки... ну вы поняли.
> Тем не менее там не 6.9, а 7.1. И оценили это не
> я, и не вы.Ну так и что это деает в итоге? Украсть данные? Получить RCE?
>> Это вообще сторонняя библиотека, если что.
> Пользователю как бы все равно чья это библиотека. Поставляется она в рамках
> продукта.Перечитайте о чем речь шла. Когда растишкам накидывают, что у них уязвимостей в обертке, они обычно бормочат что-то "ну, это типикасл сишиный код в unsafe, у нас же все safe остальное".
>> А Паша Дуров пишет безопастно на С++ свой мессендже
> У Паши такие же "типикал сишные дырени" вроде
> CVE-2021-31320 Telegram Android, iOS, and macOS Heap Buffer Overflow
> CVE-2021-31321 Telegram Android, iOS, and macOS gray_split_cubic Stack Buffer OverflowПо факту из мало для такого проекта.
>пишет безопастно на С++Сам лично пишет). Кстати как там Николай)
В части поддержки мультимедии, у Паши Дурова вообще забивают на некоторые вещи. Например, если под макосью микрофон подключен к Focusrite Scarlett 18i6 через USB, забудь о звуке. Не будет он работать в Телеграме.
В микрофоне дырень!
> В микрофоне дырень!Эпоксидкой заклей, что ты как маленький! Хардварное решение - во спайварь обломается! :)
По секрету - динамик можно заставить работать в качестве микрофона.
странно что под макосью коду приложения есть какое то дело до того, как там ось выводит звук. максимум выбрать девайс из списка
На любом языке можно писать безопасно. Вопрос только в скорости написания. В языках, где нет контроля памяти, этот контроль ложится на программиста, тем самым его трудозатраты увеличиваются.
В расте программист об этом может не думать и тем самым может писать код быстрее.
Ну и любой человек, каким внимательным он бы не был, может пропустить ошибку. Компилятор же ничего не пропустит.
Поэтому всё что можно автоматизировать, надо автоматизировать. Вот в расте и придумали модель, где программист может не заботиться о контроле памяти вне unsafe-блоков.
> В расте программист об этом может не думатьХа-ха!!! Сразу видно ТРЕПЛО, которое раста в глаза не видело. Всё ровно наоборот: для того, чтобы было безопасно в расте, ты ДОЛЖЕН об этом подумать 15 раз! В отличии от С++ или C#, где тебе достаточно всего лишь выделить память и забыть про остальной гемор.
Только периодически крашится телега )
> Только периодически крашится телега )Заводите issue. Это проще сделать чем с ватсапе.
> по усилению безопасности
> представляла угрозу безопасности
> безопасно работающих с памятьюПрочитав эту новость вы получите +3 к безопасности!
https://blog.whatsapp.com
Это вряд ли. Но понимание, куда отрасль движется может прийти, если ума хватит на осмысление, конечно.
> Это вряд ли. Но понимание, куда отрасль движется может прийти, если ума
> хватит на осмысление, конечно.Куда она движется?
К светлому будущему, конечно. Хотя часто окольными путями, увы.
> К светлому будущему, конечно. Хотя часто окольными путями, увы.Вы какими-то расплывчатыми формулировками говорите.
Очевидно ты не помнишь эпохи САПР, Java, и т.д.
Очевидно, ты не знаешь, что я помню, а что - нет. Всему своё время.
И так очевидно. У ватсапа никакой безопасности не было - данные пользователей распродавались конторой любым желающим направо и налево по сходным ценам
Единственно что её огорчало - что кто-то кроме неё может попытаться получать хоть какие-то данные её пользователей, не заплатив ей за это. Это да, проблема вселенского масштаба
ага, примитивный питоновский скрипт переписать за десять лет ниасилили (асилили но он... ой... что-то ниработал) зато целую аж библиотеку делающую незнамочего незнамозачем - ууух, переписали-переписали.Верим, чо, конечно верим. Пойду акций меты прикуплю на сдачу.
(инвесторы любят безопастный бред)
>Пойду акций меты прикуплюЛучшая твоя идея за всё время.
Рост за последние десять лет на 568%.
Но только прикупать надо безопастно.
ну ты беги, покупай-покупай.> Рост за последние десять лет на 568%.
машину времени не одолжишь? Я тебе вернувшись в настоящее - с 10% скидкой перепродам!
(а пока рекомендую вменяемым, которые покупают когда _дешево_, а когда дорого - продают - если есть лишние бабки, сложить их кучкой и ждать п-ца битка. Уже недолго, может пару недель, может пару месяцев.)
Слу, а это не ты доллары по 42 собирался откупать?
Вменяемость с покупкой битка вообще плохо сочетается. Ну и понять, что в момент Т был достигнут минимум цены актива, в большинстве случаев можно только тогда, когда этот момент уже прошел.
>Рост за последние десять лет на 568%.Вот только данный сектор в разы больше вырос, а мета аутсайдер в нем...
>инвестирование в развитие средств для обеспечения безопасности остающегося кода на C и C++Это очень хорошо, тем более, что после всех козней он всё ещё самый популярный мессенджер:
- https://3dnews.ru/1136052/
- https://habr.com/ru/news/988656/
И зачем эта новость здесь? Проприетарное поделие, официального клиента под Linux нет.
Из-за перевода на Rust.
>клиента под LinuxБерите Signal: https://signal.org/ru/download/linux/
Не берите, требует номер телефона.
А какая ещё есть защита от ботов ? Все крупные проекты используют номер.
И как, помогает? Ответ: нет, не помогает.
Конечно помогает, какие есть крупные мессенджеры без номера ?
https://signal.org/blog/phone-number-privacy-usernames/
ICQ
Помер
вы всё проспали, icq несколько лет назад начал требовать номер (потом помер).
они ж вроде даже начали последние пол-года шевелиться, не?
(но не берите, конечно, дело не в номере, а в том что палево)
Дело ещё в центральном сервере. Есть жаба с федерацией и с омемо из сигнала.
ты отстал от жизни - давно не надо
> ты отстал от жизни - давно не надоhttps://signal.org/blog/phone-number-privacy-usernames/ - а вот тут написано - что таки надо.
Кому верить? а, конечно ж - анониму с опеннета.
Причем даже до этой "генитальной" (юзернеймы это не названия акаунтов а просто набор бредятины, чтобы ты не мог ни проверить чей он ни запомнить правильно) идеи додумались аж в конце 24го года.
дайте угадаю - а нормально работать без доступа вообще к общей телефонной книжке (и заодно без доступа твоего телефона к данным о том с кем ты тут разговариваешь) - не научились и не научатся?
Заметим, что растреклятый ватцап (не прошло и десяти лет) таки да - видимо наворовался телефонных книжек на двести лет вперед, и ему это уже не нужно, населения планетки не включенного в "социальные графы" уже попросту не осталось.
https://signal.org/blog/introducing-secure-backups/ - зато вот какую "сесуре" чушь изобрели.
В сентябре 2025го, ага. Дайте нам деньгов, и мы надежно (хаха) похраним ваши бэкапы. Ключ нарочно сделан в принципе незапоминаемым, поэтому напишите его на задней стороне телефона, посеете - уже не восстановите.Дать л...шью САМИМ решать куда и как бэкапать их (НЕТ!) переписку и как ее потом хранить - ну неееет, этого вот не будет ни за какие деньги. Даже в 2030м.
Как там кстати с кодом серверной части? А, ну да, ну да - десять лет назад обещали подумать.
Подумали и решили что хрен там вам.
В Signal есть бесплатные локальные бэкапы, с ними можно самому делать что угодно ¯\_(ツ)_/¯
> Как там кстати с кодом серверной части?
>> пользователей Android, iOS, macOS, Web, носимых устройств и некоторых других платформ
> официального клиента под Linux нет.Обожаю опеннетный дуализм с его учением "Андроид самый натуральный Линукс, если нужно козырнуть кол. девайсов-пользователей, победой над вендой клятой или осадить 4%-клеветников! В ином случае, эта пермессивно-вендорлочная шняга конечно же не самый успешный дистр Линукса!" 😀
А чем опеннетный дуализм отличается от любого другого?
> we replaced 160,000 lines of C++ (excluding tests)
> with 90,000 lines of Rust (including tests)Это сильно. А ведь тут ныли про многословность раста.
Впрочем... тут про все ноют))Но больше всего радует: "Default the choice of memory safe languages, and not C and C++, for new code."
Дырявые языки должны отправиться на помойку истории :)Ну и чтобы обрадовать всех хейтеров
"Rust was fully rolled out to all WhatsApp users and many platforms: Android, iOS, Mac, Web, Wearables"
"Each month, these libraries are distributed to billions of phones, laptops, desktops, watches, and browsers"
>> we replaced 160,000 lines of C++ (excluding tests)
>> with 90,000 lines of Rust (including tests)
> Это сильно. А ведь тут ныли про многословность раста.Ссылку на код приведи, а мы посмотрим что там и как. Ой, а в чем проблема?
Я переписал 90000 строк раста на 1000 строк паскаля. Теперь в коде нет пока не обнаруженных логических ошибок раста в проверке входных данных во время выполнения курл | судо баш.
Я переписал 1000 строк паскаля на 90 строк лиспа.
я переписал это всё на три буквы
Это потому, что ещё не далеко не всю функциональность старой библиотеки переписали. Но об этом молчок.
"ещё" у тебя лишнее. "Разумеется, никто даже и не собирался!"
Ога, ога, ещё и самое важное не переписали и поэтому неработающий полуфабрикат в продакшн на миллионы устройств накатили на замену:"В настоящее время версия WhatsApp с кодом на Rust доведена до пользователей Android, iOS, macOS, Web, носимых устройств и некоторых других платформ."
> Ога, ога, ещё и самое важное не переписали и поэтому неработающий полуфабрикат
> в продакшн на миллионы устройств накатили на замену:А в чем проблема-то? конь-тиниус дизинтегрейшн именно так и работает.
Подумаешь, видосик у него не загрузится, с ехал unwrap через unwrap. Ишь, нежный какой!
>А в чем проблема-то?В репутации и наличии конкурентов, например. Поди, создатели ICQ тоже в своё время думали "а в чём проблема-то". И чем всё закончилось для продукта? И так, практически, со всеми, кто придерживается подобного подхода.
нет у них никакой репутации
многие нередко пользуются просто по привычке или как частью экосистемы фб
У Марка полно дурацких идей вроде MetaVerse
Её свернули.
Лучше бы про иск написали https://www.reddit.com/r/technology/comments/1qoo6ha/lawsuit.../
Пока там всё сводится к тому, что "есть информаторы, которые утверждают". А в иске не приводятся никаких технических подробностей.
WhatsApp использует Signal Protocol:
https://en.wikipedia.org/wiki/WhatsApp#End-to-end_encryption
ну в целом это никак не может мешать _параллельно_ сливать копию переписки в бездонные закрома. Но хотелось бы верить что таких вот переписывателей на даже пусть и опасных язычках у сцкенберга просто нет и взять их неоткуда.
Приличные люди в эту помойку работать не пойдут.А первоначальный код писали люди с совершенно другими моральными принципами.
>Приличные люди в эту помойку работать не пойдутС их деньгами они могут себе позволить взять кого угодно. И не путай профессионализм с высокой моралью - эти вещи редко когда связаны.
Я не совсем понимаю, откуда в мире NAT взяться end-to-end. Если ты за NATом, всё, что у тебя есть - статический ИП сервера. Всё. А значит вся твоя "криптопаранойя" махом теряет смысл.
можете для начала почитать о Diffie–Hellman ¯\_(ツ)_/¯
Я не совсем понимаю, откуда в мире IPv6 взяться NAT.
ну вот кстати - это таки повод акциев прикупить. Но надо быть миллиардером чтоб на этом чего-то существенного заработать.
Учитывая, что речь идёт о модерастИИ, подозреваю, что в вотсаппе есть кнопочка "настучать", нажимаемая одним из собеседников, которая с согласия этого собеседника сливает переписку или ключи на сервер. Сам вотсаппом не пользуюсь, проверить не могу. Разумеется, даже если кнопочки не было, ничто не мешало бы собеседнику показать переписку камере или майору лично, и проблема, в которую тыкает иск, в том, что Meta* (* - запрещена в РФ) хранит некоторую переписку не e2e-зашифрованном виде, хотя рекламирует себя как безопасный мессенджер.
Ватсап ещё неск. лет назад собирал и передавал ФБ данные контактов( в т.ч номера телефонов ), с которыми пользователь хотя бы одним-двумя сообщениями перекинулся
Потом - в обязательном порядке потребовал согласие на передачу перс. данных, без которого дальнейшая работа мессенджера была невозможнойИ то что есть некий энд-ту-энд вовсе не означает, что у конторы нет дубликатов этих ключей.
Это означает, что неким третьим лицам будет сложнее получить доступ к переписке, но не самой конторе и всем желающим, обращающимся к этой конторе( в т.ч господин шериф )Вдобавок, у сша оч специфическое отношение к т.н нац. безопасности - в неё, по большому счёту, входит вообще всё. И под её предлогом они могут устроить что угодно.
Собственно, не может быть такого варианта, чтобы крупная контора много лет оф. работала в сша, имела там штаб-квартиру и при этом не имела возможности сливать силовикам абсолютно любые данные пользователей, включая переписки, по первому же запросу( а то и без него, просто предоставив силовикам спец. доступ в систему )История с Тик-Током это нагляднейше показывает. Точнее, то, что бывает, если контора даже соблюдает все законы, но хотя бы часть данных теоретически находится вне сша и у силовиков нет возможности в любое время вдруг явиться с проверкой/требованием установки некоего спец. оборудования или с раскалённым паяльником к руководству конторы
Исходный код раст-версии библиотеки где-то открыт?
Вы что, это же никак не можно. Там жеж интельектуальная ценность, во! (ChatGPT подтверждает.)
> удалось заменить около 160 тысяч строк кода на C++ на 90 тысяч строк кода на RustПотому что комментарии удалили.
P.S. И строки стали длиннее.
история с переписькиванием на хрусте с, прости Г-ди, пихона, этими же ребятами - говорит что нет, не комментарии.А код. Примерно - весь.
> Ключевыми проблемами при задействовании в WhatsApp кода на Rust стало увеличение размера исполняемого файла из-за интеграции стандартной библиотеки RustНу, собственно, главная проблема rust - это статическая линковка. Язык настолько "крутой", что динамическую не осилили.
> что динамическую не осилили.И как показала практика - отсутствие сишных дыреней важнее экономии пары байт.
Потому что они динамическую рано или поздно осилят, а недоязычки от дидов не исправить никак.
Растовские дырени ничем не лучше.
Проблема не в байтах (это по нынешним временам экономия на спичках) а именно что в дыренях. Найдут одну в какой-нибудь библиотечке — и вперёд, пересобирай всё, где она прилинкована.
Уже нет с дефицитом памяти в пользовательских устройствах из-за строек датацентров с ЫЫ
нет, это вообще не проблема (глядя на поделки на go), это скорее решение. Да, с очевидными минусами, но таки решение. (напоминаю что д-36-л на зарплате от правильных пацанов сломал нам статическую сборку си-кода еще в нулевых - и с тех пор ее никто не сможет починить) Причем вернуть как было - достаточно просто. Но никому пока что не понадобилось - зачем, все ж и так работает.проблема в чудовищности синтаксиса и этой самой "стандартной библиотеки", и невозможности поддержки платформ отличных от линукса, винды, винды, винды и еще вот - webasm. На аж двух архитектурах.
Первый абзац прочитал - ну вроде умный человек написал. Второй абзац прочитал - хочется извиниться перед умными за оскорбление.
ну ты-то умный, ты уже ж дохрена кода на новом прекрасном языке написал?
Сперва добейся!
>проблема в чудовищности синтаксисаНет там такой проблемы, не выдумывай. Семантика - да, сложновата для типичного сишника, потому что последний до сих пор пользуется технологиями 50-летней давности и о прогрессе в программировании ничего не знает, а часто и не хочет, потому что это ж напрягаться надо, думать! Куда привычней наляпать кода, как б-г на душу положит, и пусть потомки ещё несколько десятков лет рагребают.
"Недавно придуманный" != "более правильный". Раст тому доказательство.
Самое смешное, что неосилили как раз комментаторы в интернете - прочитать доку:```
// build.rs
fn main() {
println!("cargo:rustc-link-search=native=/path/to/libs");
println!("cargo:rustc-link-lib=dylib=foo"); // links libfoo.so
// Optional: ensure the loader can find it at runtime
println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN");
}// src/main.rs
#[link(name = "foo")]
extern "C" {
fn foo_init();
}
```Линкуй сколько влезет, если оно тебе зачем-то надо.
Нет такой проблемы. Динамическая линковка вполне есть.
Просто код из внешних библиотек априори unsafe, т.к. компилятор не имеет возможности его проверить.
> код из внешних библиотек априори unsafeДаже если либа на расте? Даже если в либе на расте нет ни одного unsafe - она всё равно вся unsafe становится? Как интересно...
Unsafe это не либа становиться, а обращение к ней из кода раста. Если сама либа на расте, то вызывать её из unsafe-блока будет тоже безопасно. Просто компилятор этого не знает, а программист может знать.
*становится
Чтобы в Rust собрать статический бинарник, надо очень хорошо постараться (и лично меня это весьма печалит так как ос статикой возни в разы меньше). По умолчанию, там рожаются бинарники с динамическими библиотеками. Вот вам раскладка для простой программы, вычисляющей SHA256 для файлов:
$ ldd ./target/debug/rust_sha256sum
linux-vdso.so.1 (0x00007ffd8db04000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000715ce0289000)
/lib64/ld-linux-x86-64.so.2 (0x0000715ce0533000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000715ce0268000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x0000715ce024e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x0000715ce0249000)
Писать надо не на Раст, а на Zig и Lua. Идеальная связка.
> ZigТа же убогая сишка, только в новой мягкой упаковке.
> Lua. Идеальная связка.
А мюсье знает толк.
Впрочем про идеальную связку ты прав "два нинужно отлично друг друга дополняют"!
На ненужной lua больше строк, чем на всем rust. Причем, там нет ошибок в работе с памятью и указателями, которые вполне себе могут быть в rust.
> Причем, там нет ошибок в работе с памятью и указателямиАхаха! Oh wait you're serious, let me laugh even harder. АХАХАХА!
Ты забываешь что луа написана на dыpяхе.
Поэтому держи "отсутствие ошибок в работе с памятью"
Только не обляпайся)))CVE-2020-15889 Potential exploit Base Score: 9.8 CRITICAL
Lua 5.4.0 getobjname Heap Buffer Over-read via youngcollection in lgc.c markold FunctionCVE-2022-28805 Potential exploit Base Score: 9.1 CRITICAL
Lua singlevar Heap Buffer Over-read Vulnerability in lparser.c from 5.4.0 to 5.4.3 When Compiling Untrusted CodeCVE-2020-15888 Potential exploit Base Score: 8.8 HIGH
Lua 5.4.0 Stack Resize and Garbage Collection Handling Vulnerability Leading to Heap Buffer Overflow or Use-After-FreeCVE-2022-33099 Potential exploit Base Score: 7.5 HIGH
Lua luaG_runerror Heap Buffer Overflow on Recursive Error Vulnerability
Ты же понимаешь, что rust по твоей логике ничем не лучше плюсов из-за llvm?
А когда это llvm стал рантаймом для раста?
Или это просто генерилка LLVM-IR в машкоды?Не нравится llvm - используйте cranelift.
> Не нравится llvm - используйте cranelift.И кто этой фикалью пользуется? Даже сами хипстики для себя - не того? Получается что без матерых си++ников они шагу ступить не могут.
минус на минус даёт плюс!
У Зига все те же проблемы с памятью, что и у Си / Си++ - сегфолтится на каждом шаге.Луа как язык косой и кривой. То есть можно конечно, но зачем?
Если для модинга брать какой-то язык, то уж питон или жаваскрипт-то более известные, а значит людям проще этим будет пользоваться, больше тулинга под это, и тд.
То есть например можно взять Rust и для модинга юзать boa_engine - реализацию жаваскрипта на расте в виде библиотеки.
Пусть теперь каждый релиз раста компилят, чтоб по чесноку.
Надо заново на C++ переписать, иначе сравнение не честное. Выкинули тонну легаси и реализовали заново с учетом итоговых реалий - естественно оно лучше будет, чем заростающее годами
> Надо заново на C++ переписатьЗачем? Чтобы потратить время зря еще раз?
Раньше хоть оправдание было, что не было нормальных языков.
А сейчас какое?
Так и сейчас нет нормальных языков.
Почему - тебя в интернете забанили, поэтому у тебя нету? Или тебе раст чем-то не угодил?
> Надо заново на C++ переписать, иначе сравнение не честное. Выкинули тонну легаси и реализовали заново с учетом итоговых реалий - естественно оно лучше будет, чем заростающее годамиC++ и есть то легаси, заростающее годами, и которое выкинули.
С++ развивается, а ржа изначально тухлорождённая. Да, есть старенькие проекты на С++ - и чо? Зато есть новые проекты на С++ нового стандарта.
>>С++ развиваетсяНо так медленно, что это могут не заметить. Может я и преувеличиваю, но повод же есть.
>>изначально тухлорождённая.
C/С++ создавались как замена ассемблеру, и работают быстро и так, как предпологает автор.
Но с хорошим шансом "пробежаться по граблям".
А Rust, для приложений общего назначения, ну пусть годен, но при системном программировании процесс разработки и неоправданно усложняется, безопасность бутафорская, и уже задача не факт, а что то и вообще решается. То есть язык сперва придуман, а потом пытались найти ему нишу применения, не подумав, о том, с чем придется работать.
Так, что по "тухлорождённость", грубо, но не без оснолваний.
ps: Варианты сковертировать Си код, на автомате, в Rust-портянки, не рассматриваю, ибо такое потом поддерживать сомнительно.
Уверен, если переписать на современнос С++ с умными указателями, код будет меньше даже растового.
Ну хорошо же.Разбор произвольных данных от пользователя нужно делать подходящими инструментами.
Вместо gets().
Через unwrap().
> Через unwrap().Клаудфлар одобряет :). Хотя инвесторы обещали кому-то что он тоже с борта своей яхты нырнет в океане поплавать.
>> gets()
> Через unwrap().Хорошшо сравнил ... опу с пальцем.
unwrap - это _контроллируемое_ завершение всего процесса в том случае, если погроммистское "мамой клянусь, тут будет правильный ввод!" таки не выдержало столкновения с реальности.
А не "ну немножечко попортится память, можно сплойт словить, паадумаешь!" 🙄
Unwrap наверное и необрабатываемый KILL может обработать? Че там про контролируемость завершения было?
> Unwrap наверное и необрабатываемый KILL может обработать? Че там про контролируемость завершения было?А в огороде бузина. Воен Супротив Раста, ты бы сначала посмотрел, что это [unwrap] вообще такое, прежде чем контролируемо эт-самое в лужу, а?
> это _контроллируемое_Получается, CF контролируемо уронило полинтернета в мире.
>> это _контроллируемое_
> Получается, CF контролируемо уронило полинтернета в мире.Вы таки хотите нам рассказать, что если там был бы gets(), то такого бы не было? Или как обычно на опеннете: "вижу Р̵а̵с̵т̵ сову, вижу м̵а̵л̵ы̵й̵ ̵в̵о̵д̵о̵е̵м̵, не вижу препятствий!"
Это хорошо, что Meta заботится о безопасности, но опять же, всё это в рамках проприетарного WhatsApp. Существуют альтернативные мессенджеры с открытым исходным кодом и децентрализованные. Вместо того чтобы улучшать закрытый продукт, Meta могла бы лучше поддержать развитие и продвижение открытых альтернатив. Было бы здорово, если бы WhatsApp стал поддерживать протоколы Matrix, XMPP или IRC. Вместо дряни, на которой сейчас работает WhatsApp.
Когда-то даже в Google работали вменяемые инженеры, которые в Google Talk встраивали поддержку XMPP.
Как-то мне рассказывали историю коллеги про одного разработчика. Говорят: "Знаешь почему разработчики Google так востребованы и популярны? Вот они работали на лучшую (по их мнению) компанию, значит лучше них никто не сделает. И вот если они сталкиваются с проблемой то могут сказать что раз сам разработчик из Google не смог решить проблему, то никто не сможет. Поэтому работать на них перспективно". То же можно сказать и про rust - вот видите? Видите? Сама Мета перешла на rust! Кланяйтесь на их походы! Мессенджер не самое сложное приложение в мире, их даже школьники пишут. А то как раскачивают для них пользователей - отдельный вопрос бизнеса технических моментов уже не особо касающихся.
Что вы сказать-то хотели в итоге?
месенджер можно и на баше написать, можно и связку tmux, ssh использовать как месенджер, сколько там отвечает за бесшовную работу, сколько там нод сидят на приеме/отправки и какая вообще архитектура, хз.> вот видите? Видите? Сама Мета
всегда такое было, серебрити как ходячие витрины, но какбы у большенства людей хватает ума или не хватает денег, чтобы покупать порши и носить долчегабану
it взорвалось, туда пришли миллионы людей, в целом самые обычные и в том числе вот такие кумиропоклонники
Не переписали, а отчитались. Все комментаторы проиграли в споре. Расходимся.
Ну ладо, молодцы, что переписали...Вопрос в другом, а это вот всё возможно будет поддерживать на более менее дальней дистанции, актуализировать, добавлять новые возможности?
ЗЫ: Интересно поглядеть на переписанные прожекты лет так через 10...
Через 10 лет вацап постигнет участь ICQ
Во бредятина, 99% безопасности мессенжера обеспечивает протокол установления связи и шифрования, который у вацапа закрыт от посторонних глаз и фиг знает кому ключи они сливают, зато видетили бекдор они переписали на раст, хотя почему бы и нет, пипл хавает же, безопасненько жеКажется скоро на раст будут писать самые безопасные вирусы на планете
Те кто заботятся о безопасности переписывают на верифицируемых языках, а не хрусте
Недавно SNORT на моем роутере обнаружил подозрительную активность. Исходящие попытки доступа к десяткам внешних ip по порту 22. Snort расценил это как взломанное ПО на моей стороне и заблокировал попытки доступа. Стал разбираться.. оказалось это ватсап с нескольких смартфонов делал эти запросы. раньше такого не было. Где то на форумах кто то сказал что это нормальное поведение для ватсапа. Но выглядит подозрительно
Это все конечно интересно, но если прочитать оригинальную новость, то там выяснится, что переписан фактически только компонент, который занимается тем, что выдает подозрительный это медиа файл или нет. Т.е. с точки зрения интеграции в продукт это очень простой компонент (коротко говоря на вход получает имя файла на ФС, а на выходе подозрительный он или нет). Поэтому понятно почему его выбрали для переписывания. Однако это же и показывает, что в существующем продукте переписывать все намного сложнее, т.к. компоненты там связаны намного плотнее, чем в этом примере.
Неважно, что и как переписано - главное - создать побольше шумихи "переписано на раст"! Ржа-инвенторы никак всё не успокоятся - вливают бабки в свой жалкий пеар, хотя дано уже надо было понять - поезд давно ушёл. Кто хотя бы потенциально мог перейти на Ржу - давно её потрогал, брезгливо выбросил и умыл руки. Остальные тоже начитались проблем со Ржой. Так что сегодня можно хоть до выката глаз кричать, как безопасно в Рже с памятью - никому этот лай не интересен, люди вернулись к нормальным сипипям и даже C#.
> По данным Meta большинство опасных уязвимостей в развиваемых продуктах вызвано проблемами при работе с памятью в коде на C и C++.А теперь представьте объём бюрократии, чтобы они только сейчас официально это признали.
> большинство опасных уязвимостейбудет вызвано логическими бэкдорами, когда перепишут всё на раст. Но на раст всё не перепишут по многим причинам, в частности, ведь тогда нельзя будет кивнуть "это сишная память".
Чушь какая-то... В жалком месенджере с кучей ограничений (читай, "упрощённый код") у них "проблемы с памятью"! :))) Может, лучше перестать нанимать джумшутов из Бомбея и раскошелиться на проф. программистов на С++? Или родственники из Индии не позволяют?
Плюс, анализаторы кода - опять же, зажлобились на покупку. Зато "переписывать на Рже" - деньги есть!! :)))) "Дe6uлы, 6л___".Ну и кроме того, сами по себе "мессенджеры" - чистая прикладуха! Создавай объекты, юзай, выкидывай! Логика - ни бог весть какая. ОТКУДА там столько "проблем с памятью"?!
Вон в Google куча профессиональных программистов, отобранных как лучшие из лучших, пишут Chromium, а ещё куча таких же профессионалов в несколько уровней рецензируют изменения. И что? Дыры как были, так и есть. Против человеческого фактора не попрёшь. Профессионализм не исключает ошибки, а лишь снижает их вероятность.
> Дыры как были, так и естьИ будут. Уйдут вероятные с памятью - придут логические бэкдоры. Потому что это выгодно. Вечный двигатель "прогресса".
Вангую что на C++ в гугле пишут не плюсовики, а джаверы которые пилят основные сервисы