About the Job:
As a Principal Reverse Engineer at Scrapinghub, your key objective will be to find sustainable and scalable solutions to power Scrapinghub's product offerings. You will be using reverse engineering, static, dynamic or concolic analysis in conjunction with Scrapinghub’s best in class tools including Crawlera.
You’ll have a fair amount of autonomy in this role, but the responsibilities will likely include: establishing &maintaining technical and quality standards, and collaborating with other Scrapinghub teams to ensure that your work is having the biggest impact possible.
Job Responsibilities:
- Reverse engineer obfuscated Javascript to understand the underlying browser fingerprinting techniques
- Perform static, dynamic or concolic analysis and fuzzing to determine tracking behaviour
- Create and execute well designed tests (repeatable, multiple treatments, testable variables, controls, replication)
- Create best practice product usage guides and reports based on your findings
- Drive creation of tools and workflows for prototyping successful and scalable solutions
- Steer product and infrastructure changes based on your findings
Requirements
- A hacker mentality to quickly produce proof of concepts in order to get results.
- Take a logical, measurement-backed approach to prioritizing projects, and enjoy working with others that do the same.
- Familiarity with techniques and tools for crawling, extracting and processing data, asynchronous communication and distributed systems.
- A strong knowledge of Javascript/NodeJS and Python along with a broad general programming background;strong problem solver.
- Knowledge of Javascript frameworks such as Angular, React and tools such as webpack
- Strong research, debugging, fuzzing and reverse engineering skills including static, dynamic and concolic analysis
- Strong understanding of operating system and computer networking concepts
- Understanding of browser engines, browser fingerprinting and ad-blocker mechanisms
- Excellent communication in both spoken and written English.
Bonus points for:
- Experience with Decompilers, IDA Pro and C/C++
- Core contributions to Mozilla or Chromium projects
- Knowledge of Headless browsers - performance tuning and benchmarking