Show HN: CLI that spots fake GitHub stars, risky dependencies and licence traps

When I came across a study that traced 4.5 million fake GitHub stars, it confirmed a suspicion I’d had for a while: stars are noisy. The issue is they’re visible, they’re persuasive, and they still shape hiring decisions, VC term sheets, and dependency choices—but they say very little about actual quality.

I wrote StarGuard to put that number in perspective based on my own methodology inspired with what they did and to fold a broader supply-chain check into one command-line run.

It starts with the simplest raw input: every starred_at timestamp GitHub will give. It applies a median-absolute-deviation test to locate sudden bursts. For each spike, StarGuard pulls a random sample of the accounts behind it and asks: how old is the user? Any followers? Any contribution history? Still using the default avatar? From that, it computes a Fake Star Index, between 0 (organic) and 1 (fully synthetic).

But inflated stars are just one issue. In parallel, StarGuard parses dependency manifests or SBOMs and flags common risk signs: unpinned versions, direct Git URLs, lookalike package names. It also scans licences—AGPL sneaking into a repo claiming MIT, or other inconsistencies that can turn into compliance headaches.

It checks contributor patterns too. If 90% of commits come from one person who hasn’t pushed in months, that’s flagged. It skims for obvious code red flags: eval calls, minified blobs, sketchy install scripts—because sometimes the problem is hiding in plain sight.

All of this feeds into a weighted scoring model. The final Trust Score (0–100) reflects repo health at a glance, with direct penalties for fake-star behaviour, so a pretty README badge can’t hide inorganic hype.

I added for the fun of it it generating a cool little badge for the trust score lol.

Under the hood, its all uses, heuristics, and a lot of GitHub API paging. Run it on any public repo with:

python starguard.py owner/repo --format markdown It works without a token, but you’ll hit rate limits sooner.

Please provide any feedback you can.


Comments URL: https://news.ycombinator.com/item?id=43962427

Points: 29

# Comments: 6

https://github.com/m-ahmed-elbeskeri/Starguard

Created 2mo | May 12, 2025, 4:10:15 PM


Login to add comment

Other posts in this group

Show HN: ToplingDB - A Persistent Key-Value Store for External Storage

As the creator of TerarkDB (acquired by ByteDance in 2019), I have developed ToplingDB in recent years.

ToplingDB is forked from RocksDB, where we have replaced almost all components with mo

Jul 1, 2025, 2:30:09 PM | Hacker news
Show HN: Jobs by Referral: Find jobs in your LinkedIn network

I have some friends who were laid off and are on the job hunt. We were all quite surprised to learn that LinkedIn does not have a "view jobs only at companies where I have connections", so I built

Jul 1, 2025, 2:30:06 PM | Hacker news
Show HN: I built the tool I wished existed for moving Stripe between countries

In late 2024, I had to set up a new Stripe account because I incorporated my company in a different country. Turns out it's not as simple as just changing the country in a dropdown, you have to st

Jul 1, 2025, 2:30:05 PM | Hacker news