WebArt!
Немножко древнего
web2.0 стиля
Немного кода, мыслей,
фото и очарования. История сайта
Блог
Заметки, примеры и
неожиданности. Перейти в блог
Электроника
микроэлектроника
и всяческая электротехника. Перейти в категорию
Фотографии
Из разных категорий. Посмотреть категорию
Прошло всего-навсего пол года, но новостная лента не переставала приносить новые забавные уязвимости.
Как обычно, я не акцентирую внимание на системных уязвимостях в snapd / Rust Coreutils / Flatpak, ядре (Copy Fail, Dirty Frag, Fragnesia, pidfd, PinTheft, GRO Frag) или AppArmor.
Какими бы опасными они не были - они “условно” пассивные, то есть при их наличии необходим ряд факторов и активных действий изнутри или извне для успешной эксплуатации.
Мне гораздо интереснее следить за внедрениями вредоносного кода в системы распространения пакетов, библиотеки и прочие репозитории.
Потому что это относится к “активным” и непосредственным атакам, им почти не надо сочетания определённых факторов, после загрузки они сразу же поразят репозиторий разработчика, далее соберут его персональную/финансовую/авторизационную информацию, а после этого продолжат действовать по цепочке на всех серверах, к которым у него был доступ.
5/Май/2026 zero-trustsecuritywaypipewayland
Продолжая предыдущие скучные опусы на тему изоляции окружений, самое время вспомнить про wayland.
Конечно же, это не призыв к действию, а просто примеры и размышления.
Сам я придерживаюсь философии, где центр системы это пользователь, и он в праве настраивать всё так, как он считает нужным, а не так как это навязывается общими тенденциями, или как это реализовано в конкретном дистрибутиве, вместе с этим понимая и принимая все риски и последствия этих действий.
Как говорится, “If you know what you are doing”.
И прежде чем приступить, опять стоит написать, что:
И, несколько упрощая и адаптируя идеи QubesOS под свои повседневные задачи, я предпочитаю в основном использовать или других локальных пользователей, или достаточно легковесные окружения LXC.
И да, в них я запускаю не что-то потенциально опасное, а то, что многие из вас используют непосредственно под своим аккаунтом в системе, например:
10/Январь/2026 zero-trustsecurity
Стандартная ситуация, у вас есть основной рабочий компьютер, на котором у вас три разных проекта.
Один проект на nodejs, второй продакшн на python, а третий ваш личный “pet project”, тоже на python.
А ещё у вас в этой же системе личная+рабочая почта, ну и, скажем, браузер и клиент-банк.
И это всё под вашим пользователем.
Ну не под рутом же! ¯\_(ツ)_/¯
Всё вполне обычно. У многих вполне технически грамотных разработчиков таких проектов могут быть десятки и десятки ключей для ssh или git серверов.
Вполне обыденно Вы пишете свой код, время от времени коммитите, и тут в ваш уютный pet-project с AI прилетает обновление torchtriton.
А после этого из вашей системы улетают следующие наборы данных, в соответствии с основной функцией бинарника, которая делает следующее:
nameservers из /etc/resolv.confhostname из gethostname()текущий логин из getlogin()текущая рабочая директория из getcwd()переменные окружения/etc/hosts/etc/passwdПервые 1,000 файлов из $HOME/*$HOME/.gitconfig$HOME/.ssh/*Обновление прилетело, конфедициальные данные - улетели.
Скомпрометировано не только всё под вашей учётной записью (и, возможно, системой), но и по цепочке всё, чем вы управляли, куда коммитили, куда подключались.
25/Ноябрь/2025 kubernetesgitlabagentk
Не вдаваясь в подробности, как именно и почему все организовано, доступ осуществляется по следующей цепочке:
1 | Nginx stream ingress <> Main Nginx Frontend <> Nginx Backend inside GitLab instance. |
Основной фронтенд управляет поддоменом gitlab, который закрыт для внешнего доступа посредством авторизации auth_basic.
11/Март/2025 jekyllstructured-datanginx
В этой заметке я не буду приводить полный код для всех компонентов, только дам сниппеты и подсказки, на что стоит обратить внимание при сборке сайта на jekyll.
Каждая страница имеет как минимум три точки отображения временной отметки в разных файлах, элементах страницы или ответе сервера, и все они должны быть одинаковыми.
"dateModified": "2025-03-07T15:43:42+00:00"<lastmod>2025-03-07T15:43:42+00:00</lastmod>last-modified: Fri, 07 Mar 2025 15:43:42 GMT