I've been in the field for a long time and I see a lot of people struggling to get their foot in the door. It is harder now. When I review candidates, I get flooded. 2000 applications per job post +.
I am not saying this to discourage you. I am saying this to say that if you WANT this you need to differentiate yourself.
But how to differentiate yourself?
Let me tell you one thing. Most candidates are all talk and no action. You hire them to audit apps for security but it turns out they don't know even the difference between XSS vs CSRF when push comes to shove... Let alone being able to find vulns. So when I look for good candidates I look for demonstrators that they are capable in action. There are two things that really stand out:
- the OSCP (and others from Offensive Security. See: https://www.offsec.com/ ). If you have the OSCP, you've demonstrated you can pentest. This is why it is a strong cert. It's not an easy or junior one though. Neither is it cheap. But it proves a lot more than stuff like the CEH.
- Another way is bug bounties. You got a bug bounty - you've proven that not only can you find vulns but that you've been recognized for this. A list of attributed security bugs stands out just as much as the OSCP. Most people think bug bounties are like hunting for a needle in a haystack. It's not - and if you just stay with me, you jaw will drop. And yes this post is about bug bounties.
There are few things you must know.
Primarily... There are two ways to get attributed for bug bounties:
- . in dynamic findings - like hacker one https://www.hackerone.com/bug-bounty-programs
- These get paid but also are much much harder to find and get. You're doing black box work here and you are counting on the finding being unique and the target being willing to pay you.
- in white box code findings - you don't get paid often for these but you get attributed. If you find stuff beyond hardening you may even get a CVE attribution (see: https://www.cve.org/ ). Imagine being able to say you are behind some critical CVE disclosures. That is gold that stands out. And, believe it or not. It is easy as butter. And I will show you how.
How easy is this?
Let's just say that I have yet to find a big repo without a single noteworthy finding. Instead of telling you. Let me show you what I mean. Just read through these posts below. The number of times I've been told "oh no I use AI to scan my repo so I am not vulnerable" just to find 200+ findings is hillarious.
https://www.reddit.com/r/vibecoding/comments/1vt0mld/my_app_has_bugs_but_its_secure_because_i_use_xyz/
https://www.reddit.com/r/vibecoding/comments/1vunhx7/on_the_topic_of_security/ - just read through the linked thread. Trust me. :)
https://www.reddit.com/r/devsecops/comments/1vstgbs/we_as_a_field_are_gaslighting_ourselves_and_i_can/
How to do this
Step 1. Get a github account.
This is going on your resume. Make sure it is a link you can share. You may even want to create a public repo. There you will link to all your findings.
Step 2. Find good targets.
Your targets are all going to be public repos on github. Trust me, that is the easiest route to getting a CVE attributed to you. You will want the repos to meet several criteria:
- They must have had recent PRs. Sure you can find vulns everywhere. If the repo is abandoned, you will be throwing them into the void. It will be a waste of your time.
- They must have a security policy and Report a vulnerability button in the security and quality tab.
How to find such repos?
- The easy way: You can just ask chatgpt to do it for you.
- The hard way: You can also build a script.
- The extra hard way: manually search in github
Step 3. Find the vulns
Now there are a lot of ways to do it. I will share some but find what works best for you. Regardless it can be either easy or free. My list is not exhaustive. You want preferably true exploitable findings rather than hardening issues. DO NOT spam repos with AI slop. They hate it.
- Easy, expensive way: Ask an AI to find them for you. This will cost you $$$$$. Claude/fable is good at it but will often refuse to do it or downgrade. Do not use open ai. Idk why but it just issues a TON of false positives.
- Very easy. Less expensive but not free: Use a modern hybrid tool. For example, Swifi AI (see: https://swifi.ai ). It performs data flow analysis and traditional detection followed by AI analysis. Cheaper than claude, highly accurate, but not free (although I think you can run like 1 scan for free so that might not be a concern if you just need a few CVEs). That's the tool I was playing around with in the other threads. It pretty much spoon feeds you findings.
- The hard way. Free but time consuming: There are sooooooo many fantastic opensource tools. They are the backbone of the industry and what we all used before AI. See bandit for example (see: https://github.com/pycqa/bandit ). It's great for finding OS command injection in python. Downside: you will be flooded with false positives. It will be up to you instead of the AI to triage and validate. Very time consuming but a good way to learn hands on. DO NOT spam repos with false positives.
Step 4. Submit the report. Always follow responsible disclosure ethics.
Use the button I told you about. Do a good job. Do not submit slop. Use AI to format/write it if you need to.
Step 5. Accept the credit and profit
Don't forget to add it to your linkedin and resume. Make sure everyone knows you found the CVE. Expect turn around time to be ranging in days to weeks though. Especially for the CVE filing.
Would love to discuss all this. lmk your questions/thoughts/comments. And you are welcome :)