Як треба (і як не треба) супроводжувати вашу систему, GIT та пакети
good_admin_and_his_server_exw.jpg
Стандартна ситуація, у вас є основний робочий комп’ютер, на якому у вас є три різних проекта.
Один проект на nodejs, другий продакшн на python, а третій ваш власний “pet project”, теж на python.
А ще у вас у цій же системі особиста та робоча пошта, та й, скажімо, браузер і клієнт-банк.
І це все під вашим юзером.
Звичайно ж, головне, щоб не під рутом!
Решта не має значення. ¯\_(ツ)_/¯
Все цілком звичайне.
У багатьох технічно грамотних розробників таких проектів можуть бути десятки і десятки ключів для ssh або git серверів.
Приклад із популярним фреймворком PyTorch
Цілком повсякденно Ви пишете свій код, іноді комітіте, і тут у ваш затишний pet-project з AI прилітає оновлення torchtriton.
А після цього з вашої системи відлітають наступні набори даних, відповідно до основної функції бінарника, яка робить наступне:
- Збір системної інформації:
nameservers з /etc/resolv.confhostname з gethostname()поточний логін з getlogin()поточна робоча директорія з getcwd()змінні оточення
- Читання наступних файлів:
/etc/hosts/etc/passwdПерші 1,000 файлів з $HOME/*$HOME/.gitconfig$HOME/.ssh/*
Оновлення прилетіло, конфедиційні дані – відлетіли.
Скомпрометовано не тільки все під вашим юзером (і, можливо, системою), але й по ланцюжку все, чим ви керували, куди комітили, куди підключалися.