OpenRadar is a open-source tool that scans the latest GitHub repositories for leaked API Keys.
(Open-Sourced version of: apiradar.live)
Used Claude & Gemini for both debugging & some front/back-end related stuff.
OpenRadar is a open-source tool that scans the latest GitHub repositories for leaked API Keys.
(Open-Sourced version of: apiradar.live)
Used Claude & Gemini for both debugging & some front/back-end related stuff.
This is my last ship (for now) on this project!
working on something exciting :P
However, I managed to fix the DB clean up job, for some reason in the checks I forgot to make it so that if any other error occured that wasnt a non-auth one it would nuke the key. If rate limits occured then the entire DB goes poof lol
So I fixed that up and did some edits 
xD love yall
This is a tiny update, TODO.md with some stuff in which I am planning/not planning to implement in the future!
xD
Log in to leave a comment
Updated the remove old keys job so that it actually functions as it should!
Proper rate limits have been implemented, (so it queues as well and runs in coroutine for faster keys)!
Checks are alot better and now they should actually work this time with nothing weird (;
overall some good stuff for DB cleanup!
Log in to leave a comment
Realised after a verification check, that a error from a provider (500) could wipe an entire DB of keys! Along with ratelimits occuring, hence why I have disabled said job until it can be fixed. Added a-ton more providers to the checks. However some like Shopify, Twilio haven’t been added yet.
Thats all for now xD
Log in to leave a comment
Managed to do some cool stuff this update!
Did some real QOL that improves both performance and the codebase readability itself!
Along with the new /api/stats API which will make it easier for other people to incorporate in the future. The sockets now have origins for security reasons!
Lets ship this! 
Commits will hopefully be more formal from now on rather than the regular “fix 1, fix 2” etc!
Added a new /api/stats API that returns the repository count, findings count and the uptime.
Also added said API to the documentation (https://open-radar.live/docs)
Created a new banner & Logo for OpenRadar!
About to ship so excited xD
(Counted time using lapse!!!)
Log in to leave a comment
After my rework of worker.go, I had some commented out lines I had forgotten to remove (since I was looking back and forth at implementations of some stuff) I added some more directories I should skip during the scanning phase, and added some new tests! One for validating APIs return errors rather than succeeding with bad requests (e.g. negative time) and another for ensuring spam filters are working correctly. 
Log in to leave a comment
Fixed a JSON decode error where it would freeze the app by panicking!
Refactored the worker.go file (handles cloning, detecting, checks) into multiple files, and added more comments!
Updated README + Google.go check!
Thats all for now xD
Log in to leave a comment
Improved the look of the readme drastically!
Implemented websocket origins for protection.
Added api/leaderboard to the docs :3
Also cleaned up alot of “dead” code and fixed providers like OpenAI and anthropic and whatnot. Also added a “checks” system that will check api keys are valid (like gemini, ant, disc etc)
and some other stuff!
Improved the look of the README and comprehension of self-hosting dramatically!
Added the /api/leaderboard documentation to the documentation page which was missing before now xd
Websocket origins are now active so third parties cant connect over to them (however origins are basically bypassable easily lmao) and they arent hardcoded (changeable in config)
Log in to leave a comment
Fixed some small bugs and whatnot, implemented trimming to fix the longer file paths going off the cards they were supposed to be on. Added something to find repeating chars (false positive keys)!
However TG is being mixed with AWS atm? Have to fix that asap lol
Added examples of false positive keys below
Log in to leave a comment
So turns out there was quite alot of bugs going on behind the scenes lol!
I had forgotten to add detection for OpenAI itself hence why no keys were detected.
Index.html was missing some of the providers (Mistral, etc)
Some of the regex was also broken :P
And that is pretty much it for now!
Log in to leave a comment
Implemented some more of the checkers!
Log in to leave a comment
I implemented a new package called checks which will check if an API key is valid (calls said providers API w api key) and then we save it to the DB if correct! Atm we only have Anthropic, Cerebras, Google, XAI, Groq, Openrouter out of around 20ish~ other providers! SO i need to implement some more later!
Its called using RunCheckForProvider by worker.go (worker that clones, checks, validates keys etc)
Log in to leave a comment
Also attempted to add a Redis cache, however that failed horrendously lmao
Maybe another time.
Log in to leave a comment
Worked on some cool stuff!
Added a ton more providers, brand new documentation page!
Alot of providers, added them based on a vote from someone!
Log in to leave a comment
Log in to leave a comment
Managed to add a leaderboard + caching changes!
Pretty cool.
Log in to leave a comment
Log in to leave a comment
Added a leaderboard!
Changed the routes to /api*
Log in to leave a comment
First Golang project!
Was pretty chill to make, however the memory leaks were absolute hell lmao.
Cant guarantee server will have 100% uptime, however was fun to develop!
Programming from my phone rn, changed main.go to have the scan job inside a job files along with making them cleaner.
Release the job files!
Log in to leave a comment
Slack was added, tests were fixed.
Log in to leave a comment
Fixed API error with Google keys!
Added ticker that shows currently scanning repositories
Log in to leave a comment
Large updates!
Setup a site at https://open-radar.live/
Log in to leave a comment
Cleaned up memory leak.
DB saves repositories that have been scanned.
Log in to leave a comment
Can now scan for API keys! Time to implement a API and whatnot.
Log in to leave a comment
First Golang project!
Log in to leave a comment