frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Fei-Fei Li: Spatial intelligence is the next frontier in AI [video]

https://www.youtube.com/watch?v=_PioN-CpOP0
140•sandslash•1d ago•54 comments

Astronomers discover 3I/ATLAS – Third interstellar object to visit Solar System

https://www.abc.net.au/news/science/2025-07-03/3i-atlas-a11pl3z-interstellar-object-in-our-solar-system/105489180
179•gammarator•9h ago•80 comments

Whole-genome ancestry of an Old Kingdom Egyptian

https://www.nature.com/articles/s41586-025-09195-5
115•A_D_E_P_T•12h ago•60 comments

About AI Evals

https://hamel.dev/blog/posts/evals-faq/
23•TheIronYuppie•2d ago•2 comments

Exploiting the IKKO Activebuds “AI powered” earbuds (2024)

https://blog.mgdproductions.com/ikko-activebuds/
523•ajdude•22h ago•197 comments

Kyber (YC W23) Is Hiring Enterprise BDRs

https://www.ycombinator.com/companies/kyber/jobs/F1XERLm-enterprise-business-development-representative
1•asontha•39m ago

Trans-Taiga Road (2004)

https://www.jamesbayroad.com/ttr/index.html
112•jason_pomerleau•11h ago•53 comments

That XOR Trick (2020)

https://florian.github.io//xor-trick/
174•hundredwatt•2d ago•82 comments

Nano-engineered thermoelectrics enable scalable, compressor-free cooling

https://www.jhuapl.edu/news/news-releases/250521-apl-thermoelectrics-enable-compressor-free-cooling
81•mcswell•2d ago•39 comments

Max, a Real Programmer

https://incoherency.co.uk/blog/stories/the-story-of-max.html
18•surprisetalk•2d ago•8 comments

Writing Code Was Never the Bottleneck

https://ordep.dev/posts/writing-code-was-never-the-bottleneck
411•phire•2d ago•195 comments

ASCIIMoon: The moon's phase live in ASCII art

https://asciimoon.com/
227•zayat•2d ago•71 comments

ICEBlock, an app for anonymously reporting ICE sightings, goes viral

https://techcrunch.com/2025/07/01/iceblock-an-app-for-anonymously-reporting-ice-sightings-goes-viral-overnight-after-bondi-criticism/
215•exiguus•20h ago•430 comments

Show HN: CSS generator for a high-def glass effect

https://glass3d.dev/
341•kris-kay•20h ago•89 comments

Gmailtail – Command-line tool to monitor Gmail messages and output them as JSON

https://github.com/c4pt0r/gmailtail
88•c4pt0r•12h ago•17 comments

Couchers is officially out of beta

https://couchers.org/blog/2025/07/01/releasing-couchers-v1
213•laurentlb•18h ago•95 comments

AI note takers are flooding Zoom calls as workers opt to skip meetings

https://www.washingtonpost.com/technology/2025/07/02/ai-note-takers-meetings-bots/
204•tysone•18h ago•235 comments

CoMaps: New OSM based navigation app

https://www.comaps.app/news/2025-07-03/Announcing-Navigate-with-Privacy-Discover-more-of-your-journey/
11•gedankenstuecke•1h ago•7 comments

Tools: Code Is All You Need

https://lucumr.pocoo.org/2025/7/3/tools/
8•Bogdanp•1h ago•1 comments

A Higgs-Bugson in the Linux Kernel

https://blog.janestreet.com/a-higgs-bugson-in-the-linux-kernel/
146•Ne02ptzero•18h ago•20 comments

Conversations with a hit man

https://magazine.atavist.com/confessions-of-a-hit-man-larry-thompson-jim-leslie-george-dartois-louisiana-shreveport-cold-case/
82•gmays•1d ago•5 comments

Demonstration of Algorithmic Quantum Speedup for an Abelian Hidden Subgroup

https://journals.aps.org/prx/abstract/10.1103/PhysRevX.15.021082
22•boilerupnc•8h ago•10 comments

The uncertain future of coding careers and why I'm still hopeful

https://jonmagic.com/posts/the-uncertain-future-of-coding-careers-and-why-im-still-hopeful/
50•mooreds•10h ago•82 comments

Features of D That I Love

https://bradley.chatha.dev/blog/dlang-propaganda/features-of-d-that-i-love/
155•vips7L•19h ago•140 comments

Serenading Cells with Audible Sound Alters Gene Activity

https://www.scientificamerican.com/article/cells-can-hear-sounds-and-respond-genetically/
13•Bluestein•3d ago•2 comments

Next month, saved passwords will no longer be in Microsoft’s Authenticator app

https://www.cnet.com/tech/microsoft-will-delete-your-passwords-in-one-month-do-this-asap/
133•ColinWright•2d ago•245 comments

Websites hosting major US climate reports taken down

https://apnews.com/article/climate-change-national-assessment-nasa-white-house-057cec699caef90832d8b10f21a6ffe8
429•geox•15h ago•230 comments

Sony's Mark Cerny Has Worked on "Big Chunks of RDNA 5" with AMD

https://overclock3d.net/news/gpu-displays/sonys-mark-cerny-has-worked-on-big-chunks-of-rdna-5-with-amd/
95•ZenithExtreme•20h ago•98 comments

The Evolution of Caching Libraries in Go

https://maypok86.github.io/otter/blog/cache-evolution/
116•maypok86•3d ago•31 comments

I scanned all of GitHub's "oops commits" for leaked secrets

https://trufflesecurity.com/blog/guest-post-how-i-scanned-all-of-github-s-oops-commits-for-leaked-secrets
169•elza_1111•5h ago•88 comments
Open in hackernews

I scanned all of GitHub's "oops commits" for leaked secrets

https://trufflesecurity.com/blog/guest-post-how-i-scanned-all-of-github-s-oops-commits-for-leaked-secrets
169•elza_1111•5h ago

Comments

NoahZuniga•5h ago
I find it hard to believe that they could have made $25k with this. There are companies that scan all commits on gh for secrets, using similar techniques for finding secrets in files.
wordofx•5h ago
Congrats on commenting without reading the article.
xarope•5h ago
this is specifically deleted commits, which even if locally are deleted, are not so on GH, hence why he was able to find deleted .envs etc.
Sayrus•5h ago
"70% of secrets leaked in 2022 remain valid today"[1] is a quote that should help understand the situation.

[1] https://blog.gitguardian.com/the-state-of-secrets-sprawl-202...

bashwizard•2h ago
I'm surprised that it's not more. I couple of years ago I spent a few months basically github dorking for leaked api keys and made more than that.
SillyUsername•5h ago
Git never forgets, this isn't really a shocking revelation.
eviks•5h ago
What specific property of git mandates a website to not clean up those dangling commits?
orthoxerox•4h ago
Git has no de jure hierarchy of repositories. We de facto treat the GH repo as the primary one (and call it "origin"), but mechanically it's a peer repo. Even though it lets other repos push it around a bit and obeys commands like "change the branch to point to another commit", there are no commands to force it to delete the data.
eviks•3h ago
> Even though it lets other repos push it around

So there is hierarchy

> there are no commands to force it to delete the data.

That's just the current state, the question was how git prevents "de facto" deletion on a server? How is it anti-git to ask the server to execute git garbage collection commands, for example?

tux3•5h ago
Git does forget, it has a gc mechanism specifically for forgetting.

GitHub can't use the native git gc, and apparently doesn't have their own fork-aware and weird-cross-repo-merge-aware gc, so they might just not have built a way to track which commits are dangling.

But that's not obvious at all.

lelandfe•4h ago
How to make git an elephant: https://donatstudios.com/yagni-git-gc
SillyUsername•8m ago
Ah right, so forking the codebase, then deleting the original repo forces git to forget all copies. Gotcha thanks for the enlightenment.
tossandthrow•5h ago
Git is not point in time backups. It is versioning.

You are free to organize your version history as you fit, and you can certainly rewrite history.

The only issue you might have is signed commits from collaborators, that you can not resign.

lloeki•4h ago
> and you can certainly rewrite history.

But you can't coerce everyone in the world to remove all traces of the alternate history that was a thing before being rewritten.

So while you can make git forget something in your local repo, you can't make git forget across the decentralised set of repos, which is part of git's core design.

So in that sense, yes, git never forgets, by design.

ggm•5h ago
Maybe a default secure delete option could be made a lower bar event?

Checkout to event, commit in clean state with prior log history, overlay the state after the elision and replace git repo?

When I had to retain log and elide state I did things like this in RCS. Getting date/time info right was tricky.

Sayrus•5h ago
If you push a secret publicly, you should consider it leaked. On GitHub, you have 5 minutes on a non-watched repository (due to the delay) and less than 30 seconds on a watched repository to revoke it before it's been cloned and archived by a third-party. Whether that party is malicious or not, rewriting the Git history will not change anything that the secret is leaked. And you can already rewrite the Git History and garbage collect commits that aren't part of the tree anymore on most providers.
ggm•5h ago
Yes I can see my off-line experience doesn't apply. Thanks.
volemo•5h ago
If something got out to the internet, you won't get it back. There is little point in rewriting repo history if you have already made a secret public. Just change the secret as soon as you can.
gghffguhvc•5h ago
The person who leaked it and the person/team that can rotate it might be in different silos or timezones etc. Rewriting the history is prudent but not sufficient.
orthoxerox•4h ago
That's why key revocation, like credit card blocking, should be a separate service that is available 24x7. Like, if you know the value of an AWS token, this should be sufficient data for you to call an AWS API that revokes it.
badmintonbaseba•3h ago
That doesn't help if revocation, without renewal means immediate outage.
jbverschoor•4h ago
Yet people complain that Netflix/Youtube pull certain content ;)
tobyhinloopen•4h ago
Yes, because paying customers will have the content removed but it will continue to be available for pirates.
tobyhinloopen•4h ago
Anything pushed is to be considered leaked. You might as well leave the commit in and invalidate the secret.
raesene9•5h ago
An interesting look at one of the consequences of using git and public repo's.

Does leave me wondering how long before someone has a setup which detects and tries to exploit these in real-time, which feels like it could be nasty.

Also a challenge with these posts is they were unlikely to have been able to contact all the affected developers who have got exposed secrets, meaning that any that were uncontactable/non-responsive are likely still vulnerable now, I'd guess that means they're about see what happens if those secrets get abused, as people start exploring this more...

hboon•5h ago
There are already people scanning git repos for Bitcoin/Ethereum/crypto keys and exploiting them immediately.
raesene9•3h ago
There's a lot of secret classes that aren't necessarily automatically scanned for. The Oops commit is a good signal that something shouldn't have been committed, even if automated scanners don't get it.
2OEH8eoCRo0•2h ago
Not just Git either. Push a container to Docker Hub and you'll get instant downloads. Presumably people scanning containers for secrets.
matsemann•5h ago
There are hundred of setups like that already. If you push an AWS key or similar publicly you may have a bitcoin miner or botnet running on your cloud in matter of minutes.
sunbum•4h ago
Nope. Because if you push an AWS key then it gets automatically revoked by AWS.
larntz•3h ago
I wouldn't rely on anything other than rotating leaked credentials.
matsemann•3h ago
AWS was just an example, but it kinda proves my point though, that people are already monitoring this ;)
raesene9•3h ago
The point here being the blog is about looking for oops commits to spot keys that would otherwise not necessarily be picked up automatically...
v3ss0n•5h ago
Daily reminder:

- Once it is on the internet - it is always there so Rotate the key/secrets FIRST.

- Never think secrets are gone because of you have recommited .

- Deleting a commit is not enough , use BFG Cleaner - https://rtyley.github.io/bfg-repo-cleaner/ , and force commit to change history.

Edit- Forget to add most important thing - rotating the key.

hnlmorg•4h ago
The problem here is that GitHub keeps the ref logs even for commits that no longer exist.

I don’t see how BFG helps here

v3ss0n•3h ago
it rewrites the history. Isn't that really enough? You can remove all the keys from the git history. and I agree , i forget the point about rotating the key which i do always in first .
Timwi•2h ago
It might remove it from your local repo, but not from GitHub, that's the point.
weird-eye-issue•4h ago
I think you mean "rotate the keys"
GrandaPanda•4h ago
Had it correct in the first two points, then contradicted yourself with the last. Rotate your secrets.
v3ss0n•3h ago
Yeah good point. Rotating secrets is a point i forget to add.
Pwhy1•4h ago
Maybe I missed it but the article doesn't mention the even easier way to see this: the activity tab.

It has everything. Any force push to hide ugly prototype code is kept forever which annoys me. I wish we were able to remove stuff from there but the only way to do it is to email support it seems?

Here it is for the test repo mentioned

https://github.com/SharonBrizinov/test-oops-commit/activity

mike_hearn•3h ago
Where is that linked from? I've been using GitHub for years and never heard of this page.
amiga386•3h ago
Between "Readme" and "0 stars" on https://github.com/SharonBrizinov/test-oops-commit/

Looking at some of my projects, it's entirely empty, or only has a few items, so I suspect it was introduced "recently" and doesn't have data from before then.

Picking https://github.com/jellyfin/jellyfin/activity?sort=ASC as a busy example, Activity page has no data prior to 7th March 2023. So it has existed for 2 of GitHub's 17 years of existence.

mike_hearn•2h ago
Thank you. I think that section has consisted of links to READMEs and stuff for so long I just stopped paying attention to it.
3abiton•3h ago
Funny thing, we had a similar issue with one of our deployement in the past. It's similar to leaking accidently your password into bash history. Happens more than it should.
emmelaich•2h ago
I guess it's possible to delete these forever as by deleting the entire repo and re uploading. As long as there are no forks.
edverma2•4h ago
All devs should run open-source trufflehog as a precommit hook for all repositories on their local system. It’s not a foolproof solution, but it’s a small time investment to get set up and gives me reasonable assurance that I will not accidentally commit a secret. I’m unsure why this is not more widely considered standard practice.
Cthulhu_•4h ago
Pre-commit hooks are client-side only and opt-in; I've always been a big proponent of pre-commit hooks, as the sooner you find an issue the cheaper it is to fix, but over time pre-commit hooks that e.g. run unit tests tend to take longer and longer, and some people want to do rapid-fire commits instead of being a bit more thoughtful about it.
bapak•4h ago
pre-commits require discipline:

- enforce them on CI too; not useful for secrets but at least you're eventually alerted

- do not run tasks that take more than a second; I do not want my commit commands to not be instant.

- do not prevent bad code from being committed, just enforce formatting; running tests on pre-commit is ridiculous, imagine Word stopping you from saving a file until you fixed all your misspellings.

ali_piccioni•4h ago
I moved all my precommit hooks to prepush hooks. I don’t need a spellchecker disrupting my headspace when I’m deep into a problem.

My developer environments are setup to reproduce CI test locally, but if I need to resort to “CI driven development” I can bypass prepush hooks with —-no-verify.

emmelaich•2h ago
One good (and obviously bad) thing about Subversion was the ability to change history. As admin I was asked numerous times to change a commit message. To point to the correct Jira issue, for instance.

Also easier to enforce pre-commit, since it was done server side.

ramon156•4h ago
If I'm honest, I don't know how much this happens at work, and even if it does it's not the end of the world. Just scratch the commit from existence.

In my head, the people who accidentally share secrets are also the people who couldn't setup trufflehog with a precommit.

Arainach•4h ago
This isn't true in practice. Even among well educated high performing professionals, mistakes happen. Checklists save lives - in medicine, in aircraft maintenance, in all fields.

People who believe they know what they're doing get overconfident, move fast, and make mistakes. Seasoned woodworkers lose fingers. Experienced doctors lose patients to preventable mistakes. Senior developers wipe the prod database or make a commit they shouldn't.

https://hsph.harvard.edu/news/fall08checklist/

>In a study of 100 Michigan hospitals, he found that, 30 percent of the time, surgical teams skipped one of these five essential steps: washing hands; cleaning the site; draping the patient; donning surgical hat, gloves, and gown; and applying a sterile dressing. But after 15 months of using Pronovost’s simple checklist, the hospitals “cut their infection rate from 4 percent of cases to zero, saving 1,500 lives and nearly $200 million,”

IshKebab•3h ago
It's crazy how many people don't know this, despite it being fairly obvious.

I guess it's hubris. I don't make stupid mistakes. You see it a lot in discussions around Rust.

xlii•3h ago
Aye.

I made shameful mistake of submitting private key (development one so harmless) only because it wasn’t gitignored and prehook script crashed without deleting it). More of a political/audit problem than a real one.

I guess I’m old enough to remember Murphy Laws and the one saying "safety system upon failure will bring protected system down first".

oreilles•3h ago
> Just scratch the commit from existence.

Unfortunately, that is impossible: https://trufflesecurity.com/blog/anyone-can-access-deleted-a...

UnreachableCode•4h ago
What I've never understood is, how is this an issue with private repos? Aside from open source projects I can't see the problem with accidentally doing this, even though it is a smell.
cess11•4h ago
It's called private but actually shared with a very large corporation you don't control, likely running on infrastructure they don't control. Due to the CLOUD Act it's also shared with the US government.
bapak•4h ago
Secrets gotta live somewhere. Are you supplying them every time you deploy or run CI?
larntz•3h ago
Yes. Either via a secret manager (eg vault) or configured as repo secrets if that kind of infra isn't available.

https://docs.github.com/en/actions/how-tos/security-for-gith...

Never commit secrets for any reason.

cess11•3h ago
I'm not telling you what you should or should not do, especially not in the abstract. I commented on the deceptive terminology employed by a very large corporation with deep connections to rather distasteful activities and organisations.
Cthulhu_•3h ago
Exactly; you should fully expect the NSA to have a copy of these logs as well. It can be very valuable to have secret keys from companies in adversarial countries (including your own).

Example, there's an ICE reporting app now where people can anonymously report ICE sightings... but how anonymous is it really? Users report a location, that can be cross-referenced with location histories and quicky led back to an individual. There may be retaliation to users of this app if the spiral into authoritarianism in the US continues.

cess11•3h ago
Right, so, some activists and freedom fighters have been doing stuff in environments they know to be hostile for a long time, while the US has just started growing some movements like that after a hiatus from sometime in the seventies and eighties until somewhat recently.

For now they're going to be making a lot of basic mistakes but eventually they'll grugq up and learn from people that are already used to dealing with the violence of their government.

froobius•4h ago
It's a bad idea...

- commit secret in currently private repo

- 3 years later share / make public

- forget the secret is in the commit history, and still valid, (and relatedly, having long-lived secrets is less secure)

Sure that might not happen for you, but the chances increase dramatically if you make a habit of commiting secrets.

yard2010•4h ago
In a large messaging app I worked for we self hosted a gitlab instance for this exact reason. I thought it was over the top but now I get it, you can never be too sure.
dspillett•4h ago
Anything that makes the repo less private later (deliberate public release, hack (not just if the repo bit of anything that can connect to it), etc) means the secret is now in the open.

Always cycle credentials after an accident like committing them to source control. Do it immediately, you will forget later. Even if you are 100% sure the repo will never be more public, it is a good habit to form.

lqet•3h ago
Many years ago at my first job after university, I accidentally committed a private key into our internal Git repository. We removed it, because we could not completely rule out the possibility that this repository would be made public to a customer, or to the world, in the future. I think we used filter-repo to get the key out of everywhere.
Thorrez•1h ago
Different employees in the company have different permissions. If an employee with a lot of access commits a secret, then employees who shouldn't have that much access can take the secret and use it.
oefrha•4h ago
> GitHub keeps these dangling commits, from what we can tell, forever.

Not if you contact customer support and ask them to garbage collect your repo.

What I do when I accidentally push something I don’t want public:

- Force push;

- Immediately rotate if it’s something like a secret key;

- Contact customer support to gc the repo (and verify the commit is gone afterwards).

(Of course you should consider the damage done the moment you pushed it. The above steps are meant to minimize potential further damage.)

whyever•4h ago
If you rotated the secret, why do anything else? I don't think there is any potential further damage (except maybe reputational).
chickenzzzzu•4h ago
Anyone who puts weight on digging through a project to see if they've ever leaked a secret is guilty of encouraging an antipattern-- the guaranteed outcome is you'll have an organization petrified of shipping anything, in case someone interprets it as bad or a security risk, etc.
mk89•3h ago
You can see it that way, however, there are automated tools to scan for secrets. Even github does it. In my opinion, this educates the developers to be more careful and slightly more security oriented, rather than afraid of shipping code.

I would also like to remind that a leaked AWS secret can cost 100Ks of $ to an organization. And AWS won't help you there.

It can literally break your company and get people unemployed, depending on the secret/saas.

chickenzzzzu•1h ago
While I am not suggesting that people should go out and leak their secret keys or push a buffer overflow, the fastest way to learn that you have this problem is by pushing that code to the internet on a project that isn't important. The AWS secret key thing doesn't hold up here, you just really shouldn't do it, but how about an ec2 ssh key or passwords in plaintext? How did I learn about parameterized queries for SQL injection and XML escape vulnerabilities? By waking up to a Russian dude attacking my Java myspace clone.

No amount of internal review and coding standards and etc will catch all of these things. You can only hope that you build the muscle memory to catch most of them, and that muscle memory is forged through being punched in the face

Lastly, any pompous corporate developer making 200k a year or more who claims they've never shipped a vuln and that they write perfect code the first time is just a liar.

fisf•49m ago
> No amount of internal review and coding standards and etc will catch all of these things. You can only hope that you build the muscle memory to catch most of them, and that muscle memory is forged through being punched in the face

Everything you mentioned is security 101, widely known, and can be caught by standard tools. Shrugging that off as a learning experience does not really hold much water in a professional context.

oefrha•3h ago
1. Not all secrets can be rotated. E.g. I can't just "rotate" my home address, which I prefer to be private.

2. Even for rotatable secrets, "I don't think there is any potential further damage" rests on the assumption that the secret is 100% invalidated everywhere. What if there are obscure and/or neglected systems, possibly outside of your control, that still accept that secret? No system is bug-free. If I can take steps to minimize access to an invalidated secret, I will.

jofzar•2h ago
> 1. Not all secrets can be rotated. E.g. I can't just "rotate" my home address, which I prefer to be private.

Reporter can sell their current house and move to another home as a workaround

Closing ticket as workaround provided.

matsemann•52m ago
Also avoids false positives in the future from automated scanners, bounty hunters etc. if you clean up now.
cedws•3h ago
Git doesn’t clone those orphaned refs though right?
kristopolous•4h ago
I wonder if you can honeypot this.
Prickle•4h ago
I am guilty of this one. I was 30 minutes from a presentation, and couldn't figure out why my code couldn't get the key from the hosting service.

So I just hard coded the key. The key was rotated after the presentation.

Does not look very good on a repo.

john2go3•4h ago
Unfortunately for those of us without a Google account, it seems one is required to download the mentioned SQLite database (force_push_commits.sqlite3.)
gen6acd60af•3h ago
Concerning.

It's interesting research, but will Truffle Security use the email addresses for lead gen or marketing purposes, like how they mined users' pingbacks from their XSS Hunter fork for stats?

https://portswigger.net/daily-swig/new-xss-hunter-host-truff...

diogolsq•3h ago
One more reason to activate key rotation.
abhisek•3h ago
The thing that people miss out is Git is really a content addressed storage. This means all commits, even the ones not linked to any refs are still stored and addressable.

p.s: If you run OSS project, please use Github Advanced Security and enable Push Protection against secrets.

exceptione•3h ago
Are you talking about the local branch and the local reflog?

I thought garbage collection should get rid of all dangling stuff. But even without that, I am curious if pushing a branch would push the dangling commits as well.

xyst•3h ago
One of the reasons I keep `.env` and `.env.*` files in global ignore file
xlii•3h ago
Probably worth mentioning that force is a ref-related activity not a snapshot related activity. Garbage collection might remove unreferenced commits.

This should be done through history rewrites but as other commenters mention - GitHub has its own rights (and GitHub != git).

I’d recommend looking at simpler alternatives. IMO Jujutsu is mature enough for daily usages, and Fossil is a neat alternative if one wants to drop GitHub completely (albeit not very easy to use).

alkonaut•1h ago
So the question is: after I orphaned a commit how do I _truly_ make sure it's not visible anywhere on github? Is there no way short of contacting customer support to GC a repo? Shouldn't this just basically be a button on the repo, in the "danger zone" area of the repo maintenance?