Job Description
We are seeking a cybersecurity tool developer to build and evolve advanced capabilities across binary, static, and dynamic analysis. This role blends program analysis, security research, and practical software engineering to develop tooling that scales, produces high-signal results, and integrates cleanly into real-world workflows while applying state-of-the-art techniques. Experience applying machine learning to code / security problems is a strong plus.
Responsibilities
- Design and implement tooling for binary analysis, including reverse engineering workflows, disassembly / decompilation pipelines, and program instrumentation.
- Build static analysis capabilities leveraging ASTs, dataflow analysis, CFGs, to identify vulnerabilities and insecure patterns.
- Develop dynamic analysis systems, including symbolic execution, fuzzing, runtime tracing, and debugging pipelines.
- Integrate and extend industry-standard tools and frameworks (e.g., Ghidra, angr, Joern, AFL++, libFuzzer, Honggfuzz, and similar) into scalable pipelines.
- Build reliable triage and reporting mechanisms : deduplication, root-cause analysis support, severity signals, and developer-friendly outputs.
- Collaborate with security researchers, ML practitioners, and product engineering to translate novel techniques into robust tooling.
- Establish evaluation and benchmarking practices
Preferred Qualifications
Experience with exploitability analysisExperience with tools such as Ghidra, IDA, Binary Ninja, angr, Frida, QEMU, Joern, AFL++, libFuzzer, Honggfuzz, or similar.Experience applying machine learning to code / security problems (vulnerability discovery, triage, deobfuscation, similarity, classification).Familiarity with LLVM or compiler internals; experience with instrumentation and coverage pipelines.Open-source contributions, publications, CTF experience, or demonstrable security research outputs.