Note: The job is a remote job and is open to candidates in USA. Horizon3.ai is a fast-growing, remote cybersecurity company dedicated to enabling organizations to proactively find, fix, and verify exploitable attack vectors. The Senior Software Engineer in Browser Automation will be responsible for building an autonomous web application penetration tester that interacts with real production websites, focusing on enhancing the browser automation and crawling engine.
Responsibilities
- Help us grow and harden our browser automation and crawling engine, which is the layer that discovers, navigates, and interacts with target applications before and during an autonomous pentest
- Advance our browser-driven crawler using Playwright and Stagehand
- Tackle the gnarly realities of modern web apps: SPA routing and hydration timing, authenticated sessions, multi-step flows, file uploads, WebSocket/Socket.IO traffic, infinite scroll, and crawler traps
- Extend our agentic login and authentication capabilities, including complex auth flows, MFA/TOTP, and credentialed access reliable enough to run unattended against customer environments
- Improve crawl coverage, determinism, and throughput. This involves endpoint and parameter discovery, dedupe, queueing, and state management, while keeping everything production-safe and side-effect-aware
- Help draw the line between deterministic automation and LLM-driven navigation, applying models surgically rather than as a default, and keeping the system fast, debuggable, and cheap to run
- Collaborate with the attack-team engineers who consume your crawl output, and help shape the graph-backed application map the rest of the pipeline depends on
Skills
- Experience building production software, with deep, hands-on experience in browser automation (Playwright, Puppeteer, or Selenium) against real, non-trivial web applications
- Strong TypeScript / Node.js skills and comfort living inside the headless-browser stack, including Chromium internals, the Chrome DevTools Protocol, network interception, the DOM, and JS execution contexts
- A track record of taming flaky, stateful, JavaScript-heavy apps. You've fought SPA timing, authentication, and anti-automation defenses and won
- Solid instincts for distributed/concurrent systems: queues, backpressure, retries, idempotency, and running many browser sessions reliably at scale
- A bias toward determinism and debuggability, and the judgment to reach for an LLM only when a deterministic approach genuinely can't do the job
- Ownership mentality: you are comfortable taking a critical subsystem from 'works' to 'works unattended, at scale, against someone else's production environment.'
- Experience with agentic browser frameworks (Stagehand, Browser Use, or similar) or building LLM-in-the-loop automation
- Background in web application security or offensive tooling — familiarity with broken access control, IDOR/BOLA, SQLi, XSS, SSRF, or SSTI in the wild
- Familiarity with graph data models (e.g., Neo4j) for representing application structure
- Experience with large-scale crawling, endpoint discovery (e.g., parsing/analyzing client-side JS), or session/credential management for automated access
- Comfort working in an environment where correctness against a live customer system is a hard, non-negotiable constraint
Benefits
- We offer competitive salary, equity and benefits.
- Health, vision & dental insurance for you and your family
- A flexible vacation policy
- Generous parental leave
- Hybrid & Remote Work: We embrace a mix of remote and hybrid work models depending on role and location, including our Chicago office, where some roles require regular in-office presence.
- All full-time roles are eligible for an equity package in the form of stock options.
Company Overview