Rust же создавали, чтобы держать программиста в ежовых рукавицах? Так почему бы не заставить git скооперироваться с Rust и не издеваться над программистом на пару?На самом деле статья не сколько про Rust, сколько про git, поэтому если вы не особо знакомы с Rust, не смущайтесь сильно — повествование будет скорее про флоу разработки нежели чем про язык. Rust в статье выбран скорее за его удобный пакетный менеджер cargo, который сделает суть повествования лаконичнее и нагляднее. Читать далее
Intro Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад). С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд: git add <path> git commit git checkout <path/branch> git checkout -b <new branch> И дополнительно: git push/pull git merge <branch> git rebase…
All versions of package git are vulnerable to Remote Code Execution (RCE) due to missing sanitization in the Git.git method, which allows execution of OS commands rather than just git commands. Steps to Reproduce 1. Create a file named exploit.js with the following content: js var Git = require("git").Git; var repo = new Git("repo-test"); var user_input = "version; date"; repo.git(user_input, function(err, result) { console.log(result); }) 2. In the same directory as…
Git for Windows is a fork of Git containing Windows-specific patches. This vulnerability affects users working on multi-user machines, where untrusted parties have write access to the same hard disk. Those untrusted parties could create the folder `C:\.git`, which would be picked up by Git operations run supposedly outside a repository while searching for a Git directory. Git would then respect any config in said Git directory. Git Bash users who set `GIT_PS1_SHOWDIRTYSTATE` are vulnerable as well. Users…