Roadmaps Security roadmaps Offensive security and assessment

Vulnerability Research

Find unknown flaws in software and prove their impact, for defence: fuzzing, binary and source analysis, exploitation concepts, and coordinated disclosure that gets them fixed.

Estimated time: 18–38 months · At about 10 hours a week.

Offensive skills are for authorised testing only: your own lab, a practice platform, or a system whose owner has given you written permission. Testing anything else is a crime in most countries.

Learning path

Click a topic to see what to learn and where. Mark topics as you go; your progress is saved in this browser only.

  • Core topic
  • Optional
  1. Beginner · 4–8 months Foundations and ethics
  2. Intermediate · 6–12 months Finding vulnerabilities
  3. Advanced · 8–18 months Impact, exploitation concepts and disclosure
  4. Expert · ongoing months Leading research

All topics in detail

BeginnerTime: 4–8 months

Foundations and ethics

Skills

  • State the ethics and law of vulnerability research.
  • Explain memory and program internals.
  • Reverse engineer and debug binaries.
  • Recognise the major vulnerability classes.

Hands-on projects and labs

  • Work through the early pwn.college or Nightmare modules in a lab VM.
  • Reverse engineer a small program with Ghidra and explain what it does.

Done when you can…

  • Explain the main vulnerability classes and their mitigations.
  • Reverse engineer and debug a simple binary.

Beginner

Memory and program internals

The stack, the heap, calling conventions and how programs use memory. Memory safety bugs are the classic research target, so learn this cold.

Resources

Beginner

Reverse engineering

Read compiled code with a disassembler and decompiler to understand software you do not have source for. The core research skill.

Resources

Beginner

Vulnerability classes

Memory corruption, use-after-free, integer and type issues, logic flaws. Learn each with its root cause, the modern mitigations, and why it matters.

Resources

Beginner

Practice targets

War games and deliberately vulnerable binaries teach the concepts legally. Build your skills here before looking at real software.

Resources

Beginner

Debugging and analysis

A debugger is how you understand what a program really does. Learn to drive one well; it is where research actually happens.

Resources

IntermediateTime: 6–12 months

Finding vulnerabilities

Skills

  • Set up and run coverage-guided fuzzing.
  • Audit source code for vulnerabilities.
  • Triage crashes and find root causes.
  • Reason about modern mitigations.

Hands-on projects and labs

  • Fuzz an open-source library you have permission to study and triage the crashes.
  • Audit a small codebase with CodeQL and by hand, and compare.

Done when you can…

  • Find a real bug by fuzzing or auditing a permitted target.
  • Write a precise root cause analysis of a bug.

Intermediate

Fuzzing

Feed a program malformed input at scale to find crashes that may be bugs. Coverage-guided fuzzing is the workhorse of modern research.

Resources

  • AFL++ ToolFreeAFLplusplus

Intermediate

Source code auditing

When you have source, read it for dangerous patterns and reason about untrusted input. Static analysers help; human review finds the subtle ones.

Resources

Intermediate

Triaging crashes

Most crashes are not useful bugs. Learn to triage them: what is the root cause, is it reachable, and could it matter.

Resources

Intermediate

Root cause analysis

Understand a bug well enough to describe its cause and impact precisely. This is what makes a report useful and a fix correct.

Resources

Intermediate

Modern mitigations

ASLR, DEP, stack canaries, CFI and memory-safe languages change what is exploitable. Understanding them is central to judging real impact.

Resources

Intermediate

Building fuzzing harnesses

Good research is mostly building the harness and corpus that reach interesting code. Learn to target the parts that handle untrusted input.

Resources

  • AFL++ ToolFreeAFLplusplus

AdvancedTime: 8–18 months

Impact, exploitation concepts and disclosure

Skills

  • Judge the impact of a vulnerability.
  • Build controlled proofs of concept on your own systems.
  • Run coordinated disclosure and request CVEs.
  • Specialise in a research area.

Hands-on projects and labs

  • Write a full advisory and PoC for a bug you found in a permitted target or practice binary.
  • Walk a practice vulnerability from discovery to a CERT-style disclosure plan.

Done when you can…

  • Responsibly disclose a vulnerability and obtain a CVE.
  • Produce a clear advisory with root cause and impact.

Advanced

Exploitation concepts

Understand how a bug could be turned into impact, enough to judge severity and to defeat it. Study this to assess risk and build mitigations, in your own lab.

Resources

Advanced

Writing advisories and CVEs

Communicate a vulnerability clearly: affected versions, root cause, impact, fix. Request a CVE so defenders can track it.

Resources

Advanced

Specialising

Browsers, kernels, hypervisors, mobile and embedded are all deep research areas. Pick one and go deep; breadth comes later.

Resources

Advanced

From research to defence

The highest-impact research drives mitigations and memory-safe design that kill bug classes outright. Aim your work at making flaws unexploitable.

Resources

ExpertTime: ongoing months

Leading research

Skills

  • Direct research and disclosure at scale.
  • Build tooling and drive ecosystem change.

Hands-on projects and labs

  • Integrate a project you maintain or may study into a continuous fuzzing setup.
  • Write a proposal to eliminate a bug class in a codebase through safer APIs.

Done when you can…

  • Lead research with a record of responsible disclosures.
  • Drive a mitigation or safer design that prevents a bug class.

Expert

Running research

Direct research at the targets that matter, manage disclosure at scale, and turn findings into fixes and mitigations across an ecosystem.

Resources

Expert

Research tooling

Build fuzzers, harnesses and analysis tools that scale your work and help others. Much progress comes from better tools.

Resources

Overview

Vulnerability research finds flaws that nobody has reported yet, understands them deeply enough to judge their impact, and gets them fixed through coordinated disclosure. It is the most technical offensive discipline, and its purpose is to make software safer by finding bugs before attackers do.

This roadmap is a learning path grounded in ethics and the law. Research software you own or are permitted to study, use deliberately vulnerable practice targets, and disclose anything you find responsibly through proper channels. The deliverable is a fixed vulnerability and a CVE, never an exploited system. Understanding modern mitigations is as important as understanding bugs.

Why it matters

Vulnerability researchers protect everyone by finding and fixing flaws in widely used software, and they drive the mitigations that make whole classes of bug harder to exploit. The skills are deep and rare, and they underpin product security, defence and detection.

Typical job roles

  • Mid-levelSecurity researcher Finds and reports vulnerabilities responsibly.
  • SeniorVulnerability researcher Researches complex targets and mitigations.
  • SeniorExploit / mitigation engineer Studies exploitation to build defences.
  • LeadResearch lead Directs a research team and disclosure.

Prerequisites

  • Strong C and assembly, and systems programming.
  • Operating system and memory internals.
  • Reverse engineering fundamentals.
  • A firm grasp of research ethics, the law and coordinated disclosure.

Cybersecurity fundamentals Foundations of computer science

Tools and technologies

  • Ghidra Open source Reverse engineering suite.
  • AFL++ Open source Coverage-guided fuzzer.
  • GDB with pwndbg Open source Debugging for analysis.
  • CodeQL Free Query code for vulnerable patterns.
  • OSS-Fuzz Open source Continuous fuzzing for open-source projects.

Certifications

Take them in roughly this order. Costs and details for the ones marked with a link are on the Certifications page.

  1. OSED (EXP-301) OffSecWindows exploit development, defence-oriented.
  2. OSCE3 OffSecAdvanced offensive certification track.
  3. Advanced CISSP ISC2Context, though research is proven by published work and CVEs more than certs.Cost and exam details

Resources

Frameworks and standards

All frameworks and standards

Career path

A common progression. Titles vary between companies.

  1. Developer, reverse engineer or penetration tester0–4 years
  2. Security researcher3–7 years
  3. Vulnerability researcher6–11 years
  4. Research lead11+ years

Related domains to move into

All security roadmaps Back to top

Last reviewed: . Found a mistake, or want a roadmap written sooner? Contact