How to (and how not to) maintain your system, GIT and packages
good_admin_and_his_server_exw.jpg
Let’s consider a standard situation where you have a main work computer on which you have three different projects.
One project is on nodejs, the second is a production project on python, and the third is your personal “pet project”, also on python.
You also have personal and work email in the same system, and, say, a browser and home-banking.
And all this under your login.
Well, not under the root login, of course! ¯\_(ツ)_/¯
Everything is quite normal.
Many technically competent developers may have dozens of such projects.
And dozens of keys for SSH or GIT servers.
An example with the popular PyTorch framework
It’s quite ordinary: you write your code, commit it from time to time, and then a torchtriton update arrives in your cozy pet project.
And after that, the following data sets were transferred from your system, in accordance with the binary’s main function:
- Get system information:
nameservers from /etc/resolv.confhostname from gethostname()current username from getlogin()current working directory name from getcwd()environment variables
- Read the following files:
/etc/hosts/etc/passwdThe first 1,000 files in $HOME/*$HOME/.gitconfig$HOME/.ssh/*
The update arrived and the confidential data flew away.
It’s not just everything under your account (and possibly the system) has been compromised, but also, down the chain, everything you managed, committed to, and connected to.