Создатели Unix сами устали от Unix - и в Bell Labs начали строить ему замену.
Кен Томпсон, Деннис Ритчи и Роб Пайк почти десятилетие работали над Plan 9. Название взяли из старого трэшового sci-fi фильма Plan 9 from Outer Space, как внутреннюю шутку. Но сама система была совсем не шуткой.
Plan 9 пыталась довести идеи Unix до логического конца. Если в Unix «всё файл» звучало как красивая философия, то в Plan 9 это стало реальной архитектурой. Файлами выглядели устройства, процессы, сеть, окна, удалённые машины. Всё собиралось в единое пространство имён, с которым можно работать одинаковыми инструментами.
Самые сильные идеи Plan 9:
- единое пространство имён для файлов, устройств, процессов, сети и графики
- личный вид системы для каждого пользователя
- распределённые вычисления как основа, а не отдельная надстройка
- UTF-8, который потом стал стандартом для всего интернета
- сетевые идеи, которые позже повлияли на Linux, Android и контейнеры
- подходы, которые Роб Пайк позже перенёс в Go
В 2000 году Plan 9 открыли бесплатно. Можно было запускать, менять, изучать и использовать без лицензий уровня Windows и без привязки к железу Apple.
Но массовым он так и не стал. Linux забрал внимание индустрии, Unix-наследие осталось везде, а Plan 9 превратился в систему, которую знают в основном системные программисты и любители красивых ОС.
Ирония в том, что Plan 9 проиграл как продукт, но выиграл как источник идей. UTF-8, распределённая модель, namespaces, сетевой подход, влияние на Go - всё это живёт в современных системах до сих пор.
Мир почти не заметил Plan 9.
Зато взял у него кучу идей.
Кен Томпсон, Деннис Ритчи и Роб Пайк почти десятилетие работали над Plan 9. Название взяли из старого трэшового sci-fi фильма Plan 9 from Outer Space, как внутреннюю шутку. Но сама система была совсем не шуткой.
Plan 9 пыталась довести идеи Unix до логического конца. Если в Unix «всё файл» звучало как красивая философия, то в Plan 9 это стало реальной архитектурой. Файлами выглядели устройства, процессы, сеть, окна, удалённые машины. Всё собиралось в единое пространство имён, с которым можно работать одинаковыми инструментами.
Самые сильные идеи Plan 9:
- единое пространство имён для файлов, устройств, процессов, сети и графики
- личный вид системы для каждого пользователя
- распределённые вычисления как основа, а не отдельная надстройка
- UTF-8, который потом стал стандартом для всего интернета
- сетевые идеи, которые позже повлияли на Linux, Android и контейнеры
- подходы, которые Роб Пайк позже перенёс в Go
В 2000 году Plan 9 открыли бесплатно. Можно было запускать, менять, изучать и использовать без лицензий уровня Windows и без привязки к железу Apple.
Но массовым он так и не стал. Linux забрал внимание индустрии, Unix-наследие осталось везде, а Plan 9 превратился в систему, которую знают в основном системные программисты и любители красивых ОС.
Ирония в том, что Plan 9 проиграл как продукт, но выиграл как источник идей. UTF-8, распределённая модель, namespaces, сетевой подход, влияние на Go - всё это живёт в современных системах до сих пор.
Мир почти не заметил Plan 9.
Зато взял у него кучу идей.
🔥54👍18❤14😢14🤔4😁1
Из App Store исчезла почти вся экосистема VK.
В магазине осталось только основное приложение «ВКонтакте». Остальные сервисы, включая «Дзен», «Почту Mail», «VK Видео», «VK Музыку» и «Одноклассники», больше недоступны для скачивания.
Ранее в этом месяце из App Store также удалили Max.
Получается, Apple убрала не одно приложение, а почти весь набор ключевых сервисов VK.
В магазине осталось только основное приложение «ВКонтакте». Остальные сервисы, включая «Дзен», «Почту Mail», «VK Видео», «VK Музыку» и «Одноклассники», больше недоступны для скачивания.
Ранее в этом месяце из App Store также удалили Max.
Получается, Apple убрала не одно приложение, а почти весь набор ключевых сервисов VK.
🔥79👏44😁16👍10❤7👎4🎉1
⚡️ Linux может передать в SIGCHLD гораздо больше, чем просто «дочерний процесс завершился»
Обычно с дочерними процессами делают так: ловят SIGCHLD, а потом отдельно вызывают waitpid(), чтобы узнать, кто завершился и с каким статусом.
Но есть более интересный режим - SA_SIGINFO.
Если повесить обработчик через sigaction() и включить флаг SA_SIGINFO, ядро передаст в обработчик структуру siginfo_t с деталями по дочернему процессу.
Там уже есть:
• PID дочернего процесса
• статус завершения
• сигнал, если процесс был убит сигналом
• причина генерации SIGCHLD
• код события: завершился, был остановлен, продолжен и так далее
То есть вместо «что-то случилось с ребёнком» программа получает нормальный контекст события прямо в обработчике сигнала.
Примерно так можно понять разницу:
CLD_EXITED - процесс завершился сам
CLD_KILLED - процесс убит сигналом
info->si_pid - какой именно процесс
info->si_status - код выхода или номер сигнала
Это удобная штука для рантаймов, супервизоров, init-систем, job runners и всего, что управляет дочерними процессами.
Вреальном коде не стоит делать тяжёлую работу внутри signal handler. Часто обработчик только фиксирует событие или пишет в pipe/eventfd, а основная логика уже выполняется в обычном цикле программы.
Но сама идея мощная: Linux не просто говорит «ребёнок умер».
Он может сразу сказать, какой именно, как именно и почему.
Обычно с дочерними процессами делают так: ловят SIGCHLD, а потом отдельно вызывают waitpid(), чтобы узнать, кто завершился и с каким статусом.
Но есть более интересный режим - SA_SIGINFO.
Если повесить обработчик через sigaction() и включить флаг SA_SIGINFO, ядро передаст в обработчик структуру siginfo_t с деталями по дочернему процессу.
Там уже есть:
• PID дочернего процесса
• статус завершения
• сигнал, если процесс был убит сигналом
• причина генерации SIGCHLD
• код события: завершился, был остановлен, продолжен и так далее
То есть вместо «что-то случилось с ребёнком» программа получает нормальный контекст события прямо в обработчике сигнала.
Примерно так можно понять разницу:
CLD_EXITED - процесс завершился сам
CLD_KILLED - процесс убит сигналом
info->si_pid - какой именно процесс
info->si_status - код выхода или номер сигнала
Это удобная штука для рантаймов, супервизоров, init-систем, job runners и всего, что управляет дочерними процессами.
Вреальном коде не стоит делать тяжёлую работу внутри signal handler. Часто обработчик только фиксирует событие или пишет в pipe/eventfd, а основная логика уже выполняется в обычном цикле программы.
Но сама идея мощная: Linux не просто говорит «ребёнок умер».
Он может сразу сказать, какой именно, как именно и почему.
❤13👍6🔥6🥰1
Media is too big
VIEW IN TELEGRAM
SQL-инъекция за 40 секунд: Лайт против L
Разбираем SQL-инъекцию на пальцах в формате Лайт против L. Что это такое, как обычная строка ввода меняет логику запроса, к чему это приводит и какими способами реально закрыть дыру. Коротко, по делу и так, чтобы запомнилось.
Больше таких видео: https://www.youtube.com/shorts/c4gBi094jkU
#fun #deatnote #sql
Разбираем SQL-инъекцию на пальцах в формате Лайт против L. Что это такое, как обычная строка ввода меняет логику запроса, к чему это приводит и какими способами реально закрыть дыру. Коротко, по делу и так, чтобы запомнилось.
Больше таких видео: https://www.youtube.com/shorts/c4gBi094jkU
#fun #deatnote #sql
❤25🔥13👍9😁3👎1
Алгоритму почти 70 лет, а он до сих пор живёт в ядре Linux.
В 1957 году Wilkes, Wheeler и Gill описали быстрый способ считать количество установленных битов в числе. Не циклом по одному биту, а через маски и арифметику сразу над группами битов.
Идея простая:
- сначала считаем биты парами
- потом группами по 4
- потом по байтам
- в конце умножение собирает сумму в старший байт
Если в процессоре нет инструкции POPCNT, Linux использует похожий подход в
Красивый пример того, как старый битовый трюк пережил десятилетия и всё ещё работает в современном системном коде.
В 1957 году Wilkes, Wheeler и Gill описали быстрый способ считать количество установленных битов в числе. Не циклом по одному биту, а через маски и арифметику сразу над группами битов.
Идея простая:
- сначала считаем биты парами
- потом группами по 4
- потом по байтам
- в конце умножение собирает сумму в старший байт
Если в процессоре нет инструкции POPCNT, Linux использует похожий подход в
__sw_hweight64.Красивый пример того, как старый битовый трюк пережил десятилетия и всё ещё работает в современном системном коде.
❤50👍26😱3
This media is not supported in your browser
VIEW IN TELEGRAM
Linux может стать заметно отзывчивее без апгрейда железа.
Мало кто включает zram, а зря. Он создаёт сжатую память прямо в RAM и снижает обращения к медленному swap на диске.
Особенно хорошо это чувствуется на ноутбуках и VPS с 8–16 гигабайтами памяти.
Система меньше тупит под нагрузкой, быстрее переключается между задачами и реже упирается в диск.
Один небольшой твик - и Linux работает лучше.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤5🔥5😁1
Kali Linux 2026.2 получил набор практичных изменений, которые заметят те, кто реально запускает систему в VM, на рабочей машине или в NetHunter.
Обновили рабочие окружения: GNOME 50 и KDE Plasma 6.6. В GNOME улучшили отзывчивость файлового менеджера, загрузку иконок, работу с памятью и доступность. В KDE добавили новые улучшения для Wayland, accessibility и OCR в Spectacle, чтобы текст можно было вытаскивать прямо со скриншотов.
APT тоже меняется. Вместо старого
/etc/apt/sources.list свежие установки теперь используют новый формат:/etc/apt/sources.list.d/kali.sourcesСтарые системы не ломают, но направление понятно: Kali переходит на более современный deb822-style формат, как и другие Debian-based дистрибутивы.
Для VM пользователей главное изменение - загрузка стала быстрее. В предсобранных VM-образах больше не ставят лишнюю графическую firmware, из-за этого initrd стал меньше, а boot time в тестах Kali сократился примерно в 3 раза.
В релизе также добавили 9 новых инструментов, обновили пакеты и оставили ядро Linux 6.19, чтобы не ломать совместимость с NVIDIA. Для тех, кто хочет свежее, kernel 7.0 доступен через experimental/rolling.
NetHunter тоже получил заметные обновления: быстрее стартует приложение, появились фиксы для custom commands и chroot manager, обновили kernel flasher и начали волну патчей для qcacld3 injection на поддерживаемых устройствах.
https://kali.org/blog/kali-linux-2026-2-release/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍19🔥7🤔3👎1
Claude Fable 5 получает недельный пробный доступ для подписчиков, но с жёстким лимитом в 50%.
Пользователи Pro, Max, Team и Premium Enterprise могут потратить на Claude Fable 5 до 50% своих недельных лимитов подписки без доплаты.
Когда эта доля Fable 5 закончится, бесплатная часть доступа тоже закончится.
После этого пользователи смогут платить usage credits или вернуться на другую модель Claude.
Главный нюанс: чем больше лимита уже потрачено на другие модели, тем меньше остаётся для Fable 5.
То есть если пользователь уже израсходовал половину недельного лимита, для Fable 5 останется только оставшаяся половина.
API-пользователи в акцию не входят, поэтому использование через API оплачивается отдельно по стандартному биллингу.
https://support.claude.com/en/articles/15424964-claude-fable-5-promotional-access
Пользователи Pro, Max, Team и Premium Enterprise могут потратить на Claude Fable 5 до 50% своих недельных лимитов подписки без доплаты.
Когда эта доля Fable 5 закончится, бесплатная часть доступа тоже закончится.
После этого пользователи смогут платить usage credits или вернуться на другую модель Claude.
Главный нюанс: чем больше лимита уже потрачено на другие модели, тем меньше остаётся для Fable 5.
То есть если пользователь уже израсходовал половину недельного лимита, для Fable 5 останется только оставшаяся половина.
API-пользователи в акцию не входят, поэтому использование через API оплачивается отдельно по стандартному биллингу.
https://support.claude.com/en/articles/15424964-claude-fable-5-promotional-access
❤9👍5🔥3👎1
Отменить потерю данных?
Подключите резервную площадку для быстрого восстановления ИТ-инфраструктуры
Ваши сервисы будут работать без простоя и потерь даже при сбоях основной инфраструктуры, если подключить аварийное восстановление в облако Selectel. Решение поддерживает актуальную копию системы и по клику переключается на резервный контур при неисправности.
Самостоятельно настраивать инфраструктуру не нужно. Выделенная под вас команда инженеров Selectel проведет аудит, составит план работ, настроит репликацию данных и сценарий восстановления. А после — проводит тестовое восстановление системы, чтобы в нужный момент все работало без ошибок. Вы получаете не просто сервис, а готовую резервную площадку для вашей инфраструктуры.
В Selectel бесплатно проведет пилотный проект для восстановления до 10 виртуальных машин при оплате лицензии «Хайстекс Акура». Оставляйте заявку здесь: https://slc.tl/8599e
Реклама. АО "Селектел". erid:2W5zFHUG8TT
Подключите резервную площадку для быстрого восстановления ИТ-инфраструктуры
Ваши сервисы будут работать без простоя и потерь даже при сбоях основной инфраструктуры, если подключить аварийное восстановление в облако Selectel. Решение поддерживает актуальную копию системы и по клику переключается на резервный контур при неисправности.
Самостоятельно настраивать инфраструктуру не нужно. Выделенная под вас команда инженеров Selectel проведет аудит, составит план работ, настроит репликацию данных и сценарий восстановления. А после — проводит тестовое восстановление системы, чтобы в нужный момент все работало без ошибок. Вы получаете не просто сервис, а готовую резервную площадку для вашей инфраструктуры.
В Selectel бесплатно проведет пилотный проект для восстановления до 10 виртуальных машин при оплате лицензии «Хайстекс Акура». Оставляйте заявку здесь: https://slc.tl/8599e
Реклама. АО "Селектел". erid:2W5zFHUG8TT
😁8👎4❤2👍2🔥1
В C есть неприятная ловушка: если сравнивать signed и unsigned значения, компилятор может привести оба числа к unsigned.
И тогда отрицательное число внезапно превращается в огромное положительное.
Пример:
#define min(a, b) ((a) < (b) ? (a) : (b))
int x = -1;
unsigned int y = 10;
printf("%u\n", min(x, y));
Интуитивно кажется, что минимум —
-1.Но при сравнении
x < y значение -1 приводится к unsigned и становится очень большим числом. В итоге сравнение работает уже не так, как ожидает разработчик.Именно поэтому в Linux kernel макрос
min() устроен хитрее. Он не просто сравнивает два значения, а сначала делает type check:
#define min(x, y) ({ \
typeof(x) _x = (x); \
typeof(y) _y = (y); \
(void) (&_x == &_y); \
_x < _y ? _x : _y; \
})
Ключевая строка здесь:
(void) (&_x == &_y);
Она заставляет компилятор проверить, что типы совместимы. Если один аргумент
signed, а другой unsigned, такой код может превратиться в ошибку компиляции, а не в тихий баг в рантайме.Это хороший пример системного C-подхода: лучше сломать сборку сразу, чем получить «правильный» код, который иногда считает неправильно.
В низкоуровневом коде такие мелочи решают очень много. Один неудачный implicit conversion — и проверка размера, индекса или лимита начинает работать против вас.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤11🥰2👎1🔥1🤯1😱1
🛡️ Awesome Privacy — это список лучших инструментов, ресурсов и практик для защиты вашей конфиденциальности и минимизации цифрового следа.
📦 Категории включают:
- Браузеры и расширения
- Поисковые системы
- Электронная почта и мессенджеры
- VPN и Tor
- Операционные системы
- Удаление трекеров
- Защита мобильных устройств
- Файлы и облачные хранилища
- Обход цензуры
- Удаление аккаунтов
- Полезные гайды и многое другое
Проект стремится предоставить исчерпывающее руководство по замене популярных сервисов на более конфиденциальные альтернативы, а также объясняет, почему это важно.
💡 Незаменимый ресурс для тех, кто всерьёз обеспокоен своей приватностью в цифровом мире.
https://github.com/Lissy93/awesome-privacy
📦 Категории включают:
- Браузеры и расширения
- Поисковые системы
- Электронная почта и мессенджеры
- VPN и Tor
- Операционные системы
- Удаление трекеров
- Защита мобильных устройств
- Файлы и облачные хранилища
- Обход цензуры
- Удаление аккаунтов
- Полезные гайды и многое другое
Проект стремится предоставить исчерпывающее руководство по замене популярных сервисов на более конфиденциальные альтернативы, а также объясняет, почему это важно.
💡 Незаменимый ресурс для тех, кто всерьёз обеспокоен своей приватностью в цифровом мире.
https://github.com/Lissy93/awesome-privacy
❤21👍13👏2🔥1
Бывает классика: вчера что-то поправил в
/etc, сегодня сервис ведёт себя странно, а какой именно конфиг менялся, уже не помнишь.Базовый вариант:
find /etc -type f -mtime -1
Он покажет файлы в
/etc, изменённые за последние 24 часа.Но на практике лучше использовать более точную версию:
sudo find /etc -type f -mmin -1440 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
Что здесь полезного:
-mmin -1440
Ищет файлы, изменённые за последние 1440 минут, то есть за сутки.
-printf '%TY-%Tm-%Td %TH:%TM %p\n'
Показывает дату, время изменения и путь к файлу.
sort
Сортирует результат по времени, чтобы было проще увидеть порядок изменений.
Если нужно найти изменения за последние 2 часа:
sudo find /etc -type f -mmin -120 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
Если хочешь сразу посмотреть самые свежие изменения сверху:
sudo find /etc -type f -mmin -1440 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort -r
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤19👍9🥰3
💡Совет Linux
Случайно удалил файл и не понимаешь, что именно пропало?
Попробуй проверить недавние изменения:
Команда покажет файлы в домашней директории, которые менялись за последние 24 часа.
Важно: она не восстановит удалённые файлы. Но поможет быстро понять, что недавно редактировалось, какие файлы могли быть затронуты и где искать следы ошибки.
Полезно, когда нужно разобраться после случайного удаления, неудачного скрипта или странного поведения программы.
Случайно удалил файл и не понимаешь, что именно пропало?
Попробуй проверить недавние изменения:
find ~/ -type f -mtime -1
Команда покажет файлы в домашней директории, которые менялись за последние 24 часа.
Важно: она не восстановит удалённые файлы. Но поможет быстро понять, что недавно редактировалось, какие файлы могли быть затронуты и где искать следы ошибки.
Полезно, когда нужно разобраться после случайного удаления, неудачного скрипта или странного поведения программы.
❤15🔥7👍5👎1
Первый релиз вышел 20 марта 1998 года. Его запустил один разработчик - Daniel Stenberg.
Прошло больше 27 лет, а он всё ещё поддерживает проект.
Сегодня
curl работает на миллиардах устройств и поставляется почти везде:* macOS
* основные Linux-дистрибутивы
* Windows 10 и новее
* серверы
* контейнеры
* embedded-системы
* CI/CD пайплайны
Ирония в том, что многие пользуются
curl каждый день, даже не думая об этом.Одна маленькая CLI-утилита стала невидимой инфраструктурой интернета.
Вот так выглядит настоящий open source: без хайпа, без миллиардных раундов, но с кодом, который держит половину мира.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍59❤21🔥10👏2😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Как найти бэкдор на своём ПК: 6 шагов проверки
Бэкдор может месяцами сидеть в системе незаметно. Показываю 6 шагов, как проверить свой ПК самому: автозагрузка, процессы и сеть, службы и планировщик, полное сканирование, удалённый доступ. Если что-то странное, меняй пароли и проверяй систему офлайн.
#бэкдор #кибербезопасность #взлом #безопасность
Бэкдор может месяцами сидеть в системе незаметно. Показываю 6 шагов, как проверить свой ПК самому: автозагрузка, процессы и сеть, службы и планировщик, полное сканирование, удалённый доступ. Если что-то странное, меняй пароли и проверяй систему офлайн.
#бэкдор #кибербезопасность #взлом #безопасность
👍18❤10😁7🔥3
Нашли готовую виртуальную машину для OSINT-исследований — Trace Labs OSINT VM.
Это не «магическая пробивалка», а отдельная рабочая среда для легального поиска по открытым источникам: CTF, фактчекинг, расследования, поиск цифровых следов и обучение OSINT.
Что внутри:
* Sherlock — поиск аккаунтов по username
* PhoneInfoga — анализ открытых данных по номерам
* SpiderFoot и sn0int — автоматизация OSINT-проверок
* theHarvester и h8mail — работа с email и утечками
* Shodan CLI — поиск по открытым интернет-устройствам
* Sublist3r — поддомены
* exiftool и steghide — метаданные и стеганография
* Obsidian — заметки прямо во время исследования
Главный плюс - всё уже собрано в изолированной VM, не нужно засорять основную систему десятками инструментов.
Подходит для обучения, CTF и легальных расследований по открытым данным.
https://github.com/tracelabs/tlosint-vm
Это не «магическая пробивалка», а отдельная рабочая среда для легального поиска по открытым источникам: CTF, фактчекинг, расследования, поиск цифровых следов и обучение OSINT.
Что внутри:
* Sherlock — поиск аккаунтов по username
* PhoneInfoga — анализ открытых данных по номерам
* SpiderFoot и sn0int — автоматизация OSINT-проверок
* theHarvester и h8mail — работа с email и утечками
* Shodan CLI — поиск по открытым интернет-устройствам
* Sublist3r — поддомены
* exiftool и steghide — метаданные и стеганография
* Obsidian — заметки прямо во время исследования
Главный плюс - всё уже собрано в изолированной VM, не нужно засорять основную систему десятками инструментов.
Подходит для обучения, CTF и легальных расследований по открытым данным.
https://github.com/tracelabs/tlosint-vm
❤33🔥15👍14
SearchPhone -инструмент для анализа телефонных номеров
Полезная находка для легальных расследований, threat intelligence и проверки цифровых следов по открытым источникам.
SearchPhone автоматизирует сбор данных по номеру телефона и собирает результат в отчёт.
Что умеет:
* проверка и форматирование номера
* поиск оператора и геоданных через Numverify
* поиск упоминаний через Google, Bing и DuckDuckGo
* поиск номера в GitHub-коде
* поиск обсуждений на Reddit
* генерация JSON и PDF-отчётов
* параллельный поиск по нескольким источникам
* простой CLI-интерфейс на Python
Важно: это инструмент для работы с открытыми данными и легальных проверок, а не для сталкинга или «пробива» людей.
🔗 https://github.com/HackUnderway/SearchPhone
#OSINT #CyberSecurity #Python #OpenSource #GitHub #ThreatIntelligence #InfoSec
Полезная находка для легальных расследований, threat intelligence и проверки цифровых следов по открытым источникам.
SearchPhone автоматизирует сбор данных по номеру телефона и собирает результат в отчёт.
Что умеет:
* проверка и форматирование номера
* поиск оператора и геоданных через Numverify
* поиск упоминаний через Google, Bing и DuckDuckGo
* поиск номера в GitHub-коде
* поиск обсуждений на Reddit
* генерация JSON и PDF-отчётов
* параллельный поиск по нескольким источникам
* простой CLI-интерфейс на Python
Важно: это инструмент для работы с открытыми данными и легальных проверок, а не для сталкинга или «пробива» людей.
🔗 https://github.com/HackUnderway/SearchPhone
#OSINT #CyberSecurity #Python #OpenSource #GitHub #ThreatIntelligence #InfoSec
👍27❤14🔥3
Trusted Publishing звучит так, будто пакет стал безопасным.
На деле это не так.
Trusted Publishing убирает долгоживущий токен из CI и заменяет его коротким OIDC-токеном. Это сильнее, чем хранить секрет в GitHub Actions, но доверие никуда не исчезает. Оно просто переезжает в другое место.
Теперь критичны:
* кто имеет доступ к репозиторию
* кто может менять workflow
* какие third-party actions подключены
* защищены ли tags и release branches
* используется ли protected environment
* зафиксированы ли actions по SHA
Если атакующий получил возможность изменить release workflow, registry увидит “правильный” OIDC-запрос и выдаст токен на публикацию. С точки зрения системы всё будет выглядеть легитимно.
Она защищает от украденных PyPI/npm токенов, но не защищает от скомпрометированного CI, слабых permissions и дырявого release process.
Для нормального supply chain security нужны ещё protected environments, минимальные права, pinning зависимостей, контроль workflow, подписи артефактов и provenance.
Не надо путать “опубликовано через trusted workflow” с “этому пакету можно доверять”.
https://blog.yossarian.net/2026/07/07/You-shouldnt-trust-trusted-publishing
На деле это не так.
Trusted Publishing убирает долгоживущий токен из CI и заменяет его коротким OIDC-токеном. Это сильнее, чем хранить секрет в GitHub Actions, но доверие никуда не исчезает. Оно просто переезжает в другое место.
Теперь критичны:
* кто имеет доступ к репозиторию
* кто может менять workflow
* какие third-party actions подключены
* защищены ли tags и release branches
* используется ли protected environment
* зафиксированы ли actions по SHA
Если атакующий получил возможность изменить release workflow, registry увидит “правильный” OIDC-запрос и выдаст токен на публикацию. С точки зрения системы всё будет выглядеть легитимно.
Она защищает от украденных PyPI/npm токенов, но не защищает от скомпрометированного CI, слабых permissions и дырявого release process.
Для нормального supply chain security нужны ещё protected environments, минимальные права, pinning зависимостей, контроль workflow, подписи артефактов и provenance.
Не надо путать “опубликовано через trusted workflow” с “этому пакету можно доверять”.
https://blog.yossarian.net/2026/07/07/You-shouldnt-trust-trusted-publishing
👍13❤7🔥2
⚡️ Mail.ru и Одноклассники тоже удалили из Google Play вслед за VK. Max тоже пропал из российского Google Play
До этого он также исчез из магазинов других регионов.
UPD. Исчез теперь и VK.
VK экстренно переходит на домен .ru — пользователям массово приходят уведомления.
По данным СМИ, одной из причин стали риски, связанные с доменом vk.com, который находится в международной доменной зоне и потенциально может попасть под ограничения или быть недоступен для компании из-за санкций.
До этого он также исчез из магазинов других регионов.
UPD. Исчез теперь и VK.
VK экстренно переходит на домен .ru — пользователям массово приходят уведомления.
По данным СМИ, одной из причин стали риски, связанные с доменом vk.com, который находится в международной доменной зоне и потенциально может попасть под ограничения или быть недоступен для компании из-за санкций.
👍42😁22🔥18❤9👏2
Линус Торвальдс не поддержал запрет AI-кода в Linux.
ИИ - это инструмент. Такой же, как компилятор, статический анализатор или IDE. Неважно, писал разработчик код вручную или использовал ассистента. Важно, что получилось в итоге.
Плохой патч отклонят, даже если его написал человек.
Хороший патч могут принять, даже если помогала модель.
Но ответственность переложить на AI не получится.
Разработчик должен сам проверить сгенерированный код, убедиться в соблюдении лицензий и поставить собственный Signed-off-by. AI-агент не имеет права делать это за человека. Использование модели также рекомендуется отмечать через Assisted-by.
Правило осталось прежним: присылай качественный код и будь готов за него отвечать.
https://opennet.ru/65913/
ИИ - это инструмент. Такой же, как компилятор, статический анализатор или IDE. Неважно, писал разработчик код вручную или использовал ассистента. Важно, что получилось в итоге.
Плохой патч отклонят, даже если его написал человек.
Хороший патч могут принять, даже если помогала модель.
Но ответственность переложить на AI не получится.
Разработчик должен сам проверить сгенерированный код, убедиться в соблюдении лицензий и поставить собственный Signed-off-by. AI-агент не имеет права делать это за человека. Использование модели также рекомендуется отмечать через Assisted-by.
Правило осталось прежним: присылай качественный код и будь готов за него отвечать.
https://opennet.ru/65913/
👍52❤14🔥6🥰2