April 13, 2022
Анализируем pull requestы на github (История про Archway Torii gentx мультиаккинг)
git clone https://github.com/archway-network/testnets
Переходим в папку репозитория чтобы начать работать с ним
cd testnets
git fetch origin +refs/pull/*/head:refs/remotes/origin/pr/*
Выгружаем содержимое всех пулл реквестов в файл
git ls-remote origin 'pull/*/head'|awk '{print $1}'|xargs git show >pull_requests
Теперь все пулл реквесты сохранены в файле pull_requests, можно анализировать
Выдернем все ip адреса, которые содержатся в gentx и сохраним их в файл all_ip:
grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" pull_requests|sort > all_ip
Общее количество ip адресов (количество строк в файле)
wc -l all_ip
Выведем топ по количеству повторов (когда много разных gentx было создано на одном сервере)
uniq -c all_ip|grep -E "[0-9]{2,}\s"|sort -n
Количество адресов из диапазонов локальных сетей
grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.127\.)' all_ip| wc -l
Аккаунты github отправившие пуллреквесты (сохраним в файл github_users)
grep -E "Author:\s" pull_requests|sort> github_users
Топ аккаунов по количеству отправленных пулреквестов с одного акка
uniq -c github_users|grep -E "[0-9]{2,}\sA"|sort -n
Дата создания аккаунта (если ничего не покажет, значит аккаунт заблокирован)
curl -s https://api.github.com/users/<имя пользователя> |grep -E "created_at"