GitHub's push-farm spam hit 64% again – 106h live investigation

ghspamwatch1 pts0 comments

State of GitHub Spam — a 109-hour investigation by GitHub Pulse

🧟">

🧟 Investigation · 2026-08-11-0 → 2026-08-15-12 · auto-generated hourly

The State of GitHub Spam

GitHub publishes every public event — push, PR, issue, star — into the GH Archive, hour by hour. We process the whole stream and found something strange: a large fraction of the pushes are not people. They are automated push-farms — fleets of auto-created accounts pushing to freshly-created gibberish repositories, hundreds of times per hour, forever. This is what 109 hours of looking at them looks like.

109<br>hours observed

17,687,127<br>events processed

46.7%<br>avg share of pushes that are spam

61.0%<br>right now (08-15-12)

46<br>farms tracked

324,746<br>repos demoted from rankings

01 Half of GitHub's pushes are not human

Each bar is one hour. The line is the share of that hour's pushes judged to be farm spam — accounts with no human signal (no PRs, issues, stars, forks, or releases), pushing to fresh auto-generated repos. It swings between 22.5% and 71.4% — never below a third, sometimes above six-tenths. The farms ebb and flow; they never leave.

56%36%15%<br>08-11-008-11-808-11-1608-12-008-12-808-12-1608-13-008-13-808-13-1608-14-008-14-808-14-1608-15-008-15-8

How much farm traffic was caught per hour: repos demoted out of the rankings for farm behaviour (red) plus suspicious push-loops (grey). The last hours are the most aggressive the farms have been since we started watching.

2321154877408-11-0: 2,65608-11-1: 3,09508-11-2: 2,02908-11-3: 1,69508-11-4: 1,54608-11-5: 1,57508-11-6: 1,37808-11-7: 1,33308-11-8: 1,67408-11-9: 1,74008-11-10: 1,76208-11-11: 2,01108-11-12: 1,37308-11-13: 2,41708-11-14: 2,37208-11-15: 2,09808-11-16: 1,04008-11-17: 95308-11-18: 1,16108-11-19: 1,10108-11-20: 1,16608-11-21: 1,13208-11-22: 1,13108-11-23: 1,09508-12-0: 88408-12-1: 81108-12-2: 94708-12-3: 98308-12-4: 1,45008-12-5: 1,95508-12-6: 2,50308-12-7: 2,42008-12-8: 2,79308-12-9: 2,78108-12-10: 1,89608-12-11: 1,57308-12-12: 1,29408-12-13: 1,25808-12-14: 1,69008-12-15: 1,57408-12-16: 1,33508-12-17: 87008-12-18: 86108-12-19: 89608-12-20: 83208-12-21: 79708-12-22: 83208-12-23: 72208-13-0: 63808-13-1: 59308-13-2: 63408-13-3: 67208-13-4: 83308-13-5: 1,05908-13-6: 2,78008-13-7: 2,52808-13-8: 2,04108-13-9: 2,47208-13-10: 2,33208-13-11: 2,05608-13-12: 2,38008-13-13: 1,77008-13-14: 1,35008-13-15: 1,97908-13-16: 1,65608-13-17: 1,12508-13-18: 1,42608-13-19: 1,24308-13-20: 1,20108-13-21: 1,16008-13-22: 1,24808-13-23: 1,17008-14-0: 1,15308-14-1: 1,03408-14-2: 1,13008-14-3: 1,16208-14-4: 94708-14-5: 1,19908-14-6: 1,69508-14-7: 1,52408-14-8: 1,76608-14-9: 1,59708-14-10: 1,64608-14-11: 1,63008-14-12: 1,06408-14-13: 99008-14-14: 2,16408-14-15: 2,25108-14-16: 1,40708-14-17: 1,52408-14-18: 1,98308-14-19: 1,95608-14-20: 2,03308-14-21: 2,01508-14-22: 1,90208-14-23: 1,87008-15-0: 2,62408-15-1: 2,46008-15-2: 2,45108-15-3: 1,77608-15-4: 1,50108-15-5: 1,64708-15-6: 2,14608-15-7: 1,50808-15-8: 2,37908-15-9: 2,65708-15-10: 2,47508-15-11: 2,56908-15-12: 2,81508-11-008-11-808-11-1608-12-008-12-808-12-1608-13-008-13-808-13-1608-14-008-14-808-14-1608-15-008-15-8

02 The farms<br>persistent actors, tracked across hours — repos rotate, accounts persist

These are the longest-running operations. hours seen counts distinct hours the farm appeared; peak is its most pushes in a single hour. LiamBruhin/SillyStuff — one account, one repo, up to 690 pushes in an hour — has outlasted every countermeasure so far.

farm / repohours seenpeak pushes/hrfirst → last seen<br>LiamBruhin/SillyStuff138482026-08-11-12 → 2026-08-14-7ugmoddev/API-NEW-NAT-3-135962026-08-11-12 → 2026-08-15-9zerotraceh1/er-forge-probe135552026-08-11-12 → 2026-08-15-9elad-cmd/psycho-usage134032026-08-11-12 → 2026-08-15-9Fadil123-hah/DILZXJASHER113912026-08-11-23 → 2026-08-15-3ugmoddev/noti-api-server113572026-08-11-11 → 2026-08-15-9aaaaqaap/-abu_turab793032026-08-12-0 → 2026-08-12-4jvhoang/p6v2-public-stats74002026-08-11-15 → 2026-08-14-17CodeHub-Clients/CodeHub_Licenses72822026-08-11-21 → 2026-08-14-3goodluckk22/images63102026-08-11-22 → 2026-08-12-0itaalo67/epg_picons56752026-08-13-12 → 2026-08-13-19loan96060-tech/vbpl-storage-tu-154912026-08-11-12 → 2026-08-13-9loan96060-tech/vbpl-storage-dp-153972026-08-11-11 → 2026-08-13-7betorj04/data3453302026-08-11-15 → 2026-08-11-18AmericanMedicalCompliance/amc-tracker53012026-08-12-20 → 2026-08-13-21pytho584/mdn-persian52522026-08-12-11 → 2026-08-12-20wsch40/rsrhio51332026-08-14-14 → 2026-08-14-23Janfindl/AFL_Live51052026-08-15-6 → 2026-08-15-8xolirx/list-check45122026-08-11-18 → 2026-08-12-18betorj04/Toggle_Server10243182026-08-11-15 → 2026-08-11-17

03 The 3-hour cadence & the account factory<br>v5.18 — RULE REBORN: h6's 1,497 mint → h7 dip (32.2%) → h8 breach (+23.8pt, 56.0%) → h9 64.4% (5th-highest hour ever)

Between Aug 13 06:00 and 15:00 UTC the spam share stopped drifting and started pulsing : 66.2% → 62.8% → 53.0% → 60.2% — a surge every ~3 hours with 23–40% lulls between. The engine was visible in...

hour pushes hours github farm spam

Related Articles