Security Research
Security Research Intern (C++ / Memory Safety)
Hunt memory-safety bugs in real-world C/C++ code with our junior security research team, with a path to a full-time role.
About the role
We're building a junior security research team and looking for interns who love digging into C and C++ code to find what breaks. You'll work alongside our researchers auditing open-source and production codebases for memory-safety vulnerabilities: buffer overflows, use-after-free, integer overflows, double frees, and uninitialised memory. You'll learn to read unfamiliar code fast, reproduce crashes, write clear proof-of-concept reports, and help get fixes merged upstream. What you'll do: - Review C/C++ code for memory-safety and logic bugs - Run and tune fuzzers (libFuzzer, AFL++) and triage the crashes they find - Use AddressSanitizer, UBSan, Valgrind and GDB to find root causes - Write vulnerability reports and help draft patches - Contribute to responsible disclosure with open-source maintainers This is a Stipend internship. Interns who perform well will be offered a full-time Security Researcher role.
What we're looking for
Must have: - Strong C++ fundamentals: pointers, references, object lifetimes, RAII, the stack vs the heap - A real understanding of memory-safety bugs: how buffer overflows, use-after-free, dangling pointers and integer overflows happen, and how to prevent them - Comfort with Linux, the command line, and GDB - Curiosity and patience: you enjoy reading code that isn't yours Good to have: - Experience with sanitizers (ASan, UBSan, MSan) or fuzzing - Familiarity with smart pointers, move semantics and modern C++ (C++17/20) - Basic understanding of exploitation concepts or CTF experience - Open-source contributions, bug reports, or CVEs, even small ones (share links!) - Some exposure to Rust or another memory-safe language How to apply: send your resume along with your GitHub profile, and one bug you found or a piece of C++ code you're proud of, with a few lines on why.