frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

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

https://github.com/m-ahmed-elbeskeri/Starguard
59•artski•6h ago
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

hungryhobbit•4h ago
Dependencies: PyPI, Maven, Go, Ruby

This looks like a cool project, but why on earth would it need Python, Java, Go, AND Ruby?

deltaknight•3h ago
I think these are just the package managers that it supports parsing dependencies for. The actual script seems to just be a single python file.

It does seem like the repo is missing some files though; make is mentioned in the README but no makefile and no list of python dependencies for the script that I can see.

artski•3h ago
Yeah to be fair I need to clean it up, was stuck in the testing diff strategies and making it work and just wanted to get feedback asap before moving on to the next step (didn't want to spend too much time on something and turns out I was wrong about something badly) - next step is to get it all cleaned up.
27theo•3h ago
It doesn't need them, it parses SBOMs and manifests from their ecosystems. I think you misunderstood this section of the README.

> Dependencies | SBOM / manifest parsing across npm, PyPI, Maven, Go, Ruby; flags unpinned, shadow, or non-registry deps.

The project seems like it only requires Python >= 3.9!

nottorp•3h ago
Of course, github could just drop the stars, but everything has to entshittify towards "engagement" and add social network features.

Or users could ignore the stars and go old school and you know, research their dependencies before they rely on them.

Vanclief•2h ago
Stars are just a signal. When I am looking at multiple libraries that do the same, I am going to trust more a repo with 200 starts that one with 0. Its not perfect, but I don't have the time to go through the entire codebase and try it out. If the repo works for me I will star it to contribute to the signal.
shlomo_z•2h ago
If that works for you, great. I don't do that. I don't even check how many stars it has.

I check the docs, features, and sometimes the code quality. Sometimes I check the date of the last commit.

mlhpdx•1h ago
I tend to put more attention on repos with 15-75 (ish) stars. Less is something obscure or unproven maybe, and above ~500 is much more likely to be BS/hype.
tough•1h ago
I use stars for bookmarking purposes, i wouldn't care if they go private but would miss the feature
aquariusDue•24m ago
Same along with lists. I've got more than a thousand starred repos by now.
benwilber0•1h ago
Github was a "social network" from its very beginning. The whole premise was geared around git hosting and "social coding". I don't think it became enshittified later since that was the entire value proposition from day 1.
nottorp•1h ago
Funny, I'm pretty sure I paid them just so I don't have to maintain my own git hosting.

I never even noticed the stupid stars until they started being mentioned on HN.

rafram•22m ago
See the tagline under the logo, May 14, 2008: https://web.archive.org/web/20080514210148/http://github.com...
Am4TIfIsER0ppos•3h ago
What is a license trap? This "AGPL sneaking into a repo claiming MIT"? Isn't that just a plain old license violation?
artski•2h ago
Basically what I mean by it is for example a repository appears to be under a permissive license like MIT, Apache, or BSD, but actually includes code that’s governed by a much stricter or viral license—like GPL or AGPL—often buried in a subdirectory, dependency, or embedded snippet. The problem is, if you reuse or build on that code assuming it’s fully permissive, you could end up violating the terms of the stricter license without realising it. It’s a trap because the original authors might have mixed incompatible licenses, knowingly or not, and the legal risk then falls on downstream users. So yeah essentially a plain old license violation which are relatively easy to miss or not think about
tough•1h ago
oh interesting you put a word on it, most of the VC funded FOSS -open- core apps/saas that have pop up the past years are like this

the /ee folders are a disgrace

tough•1h ago
they get around it by licensing differently only packages / parts of the codebase
the__alchemist•2h ago
> It checks contributor patterns too. If 90% of commits come from one person who hasn’t pushed in months, that’s flagged.

IMO this is a slight green flag; not red.

lispisok•2h ago
It's gonna flag most of the clojure ecosystem
sethops1•2h ago
I have to agree - the highest quality libraries in my experience are the ones maintained that one dedicated person as their pet project. There's no glory, no money, no large community, no Twitter followers - just a person with a problem to solve and making the solution open source for the benefit of others.
artski•2h ago
Fair take—it's definitely context-dependent. In some cases, solo-maintainer projects can be great, especially if they’re stable or purpose-built. But from a trust and maintenance standpoint, it’s worth flagging as a signal: if 90% of commits are from one person who’s now inactive, it could mean slow responses to bugs or no updates for security issues. Doesn’t mean the project is bad—just something to consider alongside other factors.

Heuristics are never perfect and it's all iterative but it's all about understanding the underlying assumptions and taking the knowledge you get out of it with your own context. Probably could enhance it slightly by a run through an LLM with a prompt but I prefer to keep things purely statistical for now.

delfinom•2h ago
The problem is your audience is:

> CTOs, security teams, and VCs automate open-source due diligence in seconds.

The people that probably have less brain cells than the average programmer to understand the nuance in the flagging.

artski•2h ago
Lol yeah tbh - I just made it without really thinking of an audience, just was looking for a project to work on till I saw the paper and figured it would be cool to check it out on some repositories out there. That part is just me asking gpt to make the read me better.
85392_school•2h ago
It could also mean that the project is stable. Since you only look at the one repository's commit activity, a stable project with a maintainer who's still active on GitHub in other places would be "less trustworthy" than a project that's a work in progress.
mlhpdx•1h ago
The signal here is how many unpatched vulnerabilities there are maybe multiplied by how long they’ve been out there. Purely statistical. And an actual signal.
knowitnone•2h ago
Great idea. This should be done by Github though. I'm surprised Github hasn't been sued for serving malware.
artski•2h ago
Yeah to be fair would be great, sometimes just giving a nudge and showing people want these features is the first step to getting an official integration.
swyx•2h ago
> I'm surprised Github hasn't been sued for serving malware.

do you want a world where people can randomly sue you for any random damages they suffer or do you want nice things like free code hosting?

MrDarcy•36m ago
I’m not sure if you’re being sarcastic but if the claim of damages is likely to win then I’d like someone to hear it.
unclad5968•18m ago
In the US people can already randomly sue you for any random damages. I could sue github right now even if I'd never previously heard of or interacted with the site.
KomoD•4m ago
> do you want a world where people can randomly sue you for any random damages they suffer

Isn't that already a thing, but in the US, not the entire world.

edoceo•2h ago
Could you add support for PHP via package.json? Accept patch?
feverzsj•1h ago
CTOs don't care about github stars. They are behind tons of screening processes.
throwaway314155•34m ago
Believe me, CTO's of startups do.
binary132•29m ago
I approve! It would be cool to have customizable and transparent heuristics. That way if you know for example that a burst of stars was organic, or you don’t care and want to look at other metrics, you can, or you can at least see a report that explains the reasoning.
nfriedly•21m ago
I love the idea! How feasible would it be to turn it into a browser extension?

I hacked a dating app (and how not to treat a security researcher)

https://alexschapiro.com/blog/security/vulnerability/2025/04/21/startups-need-to-take-security-seriously
291•bearsyankees•2h ago•153 comments

Embeddings Are Underrated

https://technicalwriting.dev/ml/embeddings/overview.html
264•jxmorris12•3h ago•85 comments

The Barbican

https://arslan.io/2025/05/12/barbican-estate/
185•farslan•3h ago•62 comments

RIP Usenix ATC

https://bcantrill.dtrace.org/2025/05/11/rip-usenix-atc/
62•joecobb•2h ago•10 comments

HealthBench

https://openai.com/index/healthbench/
27•mfiguiere•1h ago•10 comments

Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

59•winwang•3h ago•16 comments

Byte Latent Transformer: Patches Scale Better Than Tokens

https://arxiv.org/abs/2412.09871
26•dlojudice•2h ago•8 comments

A community-led fork of Organic Maps

https://www.comaps.app/news/2025-05-12/3/
223•maelito•7h ago•146 comments

Show HN: Airweave – Let agents search any app

https://github.com/airweave-ai/airweave
64•lennertjansen•3h ago•20 comments

Legion Health (YC S21) Is Hiring Founding Engineers to Fix Mental Health with AI

https://www.workatastartup.com/jobs/75011
1•the_danny_g•2h ago

Ruby 3.5 Feature: Namespace on read

https://bugs.ruby-lang.org/issues/21311
119•ksec•5h ago•59 comments

Demonstrably Secure Software Supply Chains with Nix

https://nixcademy.com/posts/secure-supply-chain-with-nix/
44•todsacerdoti•4h ago•9 comments

5 Steps to N-Body Simulation

https://alvinng4.github.io/grav_sim/5_steps_to_n_body_simulation/
12•dargscisyhp•2d ago•0 comments

Why GADTs matter for performance (2015)

https://blog.janestreet.com/why-gadts-matter-for-performance/
22•hyperbrainer•2d ago•6 comments

Reviving a Modular Cargo Bike Design from the 1930s

https://www.core77.com/posts/136773/Reviving-a-Modular-Cargo-Bike-Design-from-the-1930s
77•surprisetalk•4h ago•67 comments

Tailscale 4via6 – Connect Edge Deployments at Scale

https://tailscale.com/blog/4via6-connectivity-to-edge-devices
56•tiernano•5h ago•17 comments

University of Texas-led team solves a big problem for fusion energy

https://news.utexas.edu/2025/05/05/university-of-texas-led-team-solves-a-big-problem-for-fusion-energy/
167•signa11•6h ago•122 comments

Universe expected to decay in 10⁷⁸ years, much sooner than previously thought

https://phys.org/news/2025-05-universe-decay-years-sooner-previously.html
109•pseudolus•9h ago•155 comments

Continuous glucose monitors reveal variable glucose responses to the same meals

https://examine.com/research-feed/study/1jjKq1/
93•Matrixik•2d ago•54 comments

How to title your blog post or whatever

https://dynomight.net/titles/
11•cantaloupe•2h ago•1 comments

Spade Hardware Description Language

https://spade-lang.org/
83•spmcl•6h ago•37 comments

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

https://github.com/m-ahmed-elbeskeri/Starguard
59•artski•6h ago•36 comments

I ruined my vacation by reverse engineering WSC

https://blog.es3n1n.eu/posts/how-i-ruined-my-vacation/
311•todsacerdoti•15h ago•157 comments

The Internet 1997 – 2021

https://www.opte.org/the-internet
12•smusamashah•2h ago•1 comments

Show HN: The missing inbox for GitHub pull requests

https://github.com/pvcnt/mergeable
5•pvcnt•1h ago•0 comments

The FTC puts off enforcing its 'click-to-cancel' rule

https://www.theverge.com/news/664730/ftc-delay-click-to-cancel-rule
245•speckx•5h ago•139 comments

OpenEoX to Standardize End-of-Life (EOL) and End-of-Support (EOS) Information

https://openeox.org/
19•feldrim•4h ago•13 comments

A Typical Workday at a Japanese Hardware Tool Store [video]

https://www.youtube.com/watch?v=A98jyfB5mws
97•Erikun•2d ago•38 comments

Optimizing My Hacker News Experience

https://reorientinglife.substack.com/p/optimizing-my-hacker-news-experience
37•fiveleavesleft•4d ago•18 comments

Ash (Almquist Shell) Variants

https://www.in-ulm.de/~mascheck/various/ash/
63•thefilmore•2d ago•3 comments