Developer posts secret key on GitHub, loses $40K in 2 minutes
Developer posts secret key on GitHub, loses $40K in 2 minutes

Developer posts secret key on GitHub, loses $40K in 2 minutes

- Web3 developer Brian Guan lost $40,000 after accidentally posting his wallet's secret keys publicly on GitHub, with the funds being drained in just two minutes.
- The crypto community's reactions were mixed, with some offering support and others mocking Guan's previous comments about developers using AI tools like ChatGPT for coding.
- This incident highlights ongoing debates about security practices and the role of AI in software development within the crypto community.
If you have your secret keys in your repository you've already fucked up, long before you accidentally make that repository public.
One of the first things you should do in a repo is add a .gitignore file and make sure there are rules to ignore things like
*secret*
or*private*
etc. Also, I pretty much never usegit add .
because I don't like the laziness of it and EVERY TIME one of my coworkers checked in secrets they were using that command.Even though that's a good extra precaution, per person config data, such as keys, should be stored outside of the repo, eg. in the parent directory or better in the users home dir. There is zero reason to have it in the repo. Even if you use a VM/containers, you can add the config in an extra mount/share.
I basically always do a
git add -p
Very useful command and it works with other git commands as well.
Everytime a colleague asks me for help with git that’s the one rule I suggest them to use.
I never understood why everyone uses it as a ignore list. In my own and work repositories I always exclude everything by default and re-add stuff explicitly. I have had enough random crap checked in in the past by coworkers. Granted, the whole source folder is fully included but that has never been a problem.
Better yet you can configure gitignore globally for git. I do this mostly to avoid polluting repo ignore files with my editor specific junk but *.key and similar can help prevent accidents.
https://git-scm.com/docs/gitignore
git add -u
is pretty nice, it only adds modified files.I usually do
git add -p
which is interactive (helps avoid committing debugging prints and whatnot), but the other is nice for bigger refactors.I use this as a pre-commit hook https://github.com/americanexpress/earlybird
And that’s why you always
leave a noterecheck your .gitignore file before committingDoes Microsoft's GitHub offer any pre-receive hook configuration to reject commits pushed that contain private keys? Surely that would be a better feature to opt all users into rather than Windows Copilot.
You can also do
git diff --cached
to see all changes you added to the index.