Security Engineer I, Application Security
Trail of Bits · United States · 3 wk ago
RemoteRemoteEngineering$100k–$160k/yrFull-time
We need to output HTML fragment with headings for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can have sections like About the role (maybe summarizing role description), Responsibilities (What You'll Achieve), Requirements (What You'll Bring), Qualifications (Preferred Qualifications), Skills (maybe combine with Requirements?), Benefits, Pay, Schedule.
We need to decide which sections have content.
Let's extract:
- About the role: Could be the paragraph under "The Role". It says: "Trail of Bits seeks a Security Engineer I for our Application Security practice. You will contribute to security assessments of client software, partner with more experienced engineers, identify vulnerabilities across the application and system levels, and own clearly scoped pieces of client engagements. You will drive your own vulnerability analysis, develop tools alongside the team, and help clients understand and fix the issues you find. This role bridges vulnerability research and applied security. Your work will be hands-on: analyzing complex code, building custom tooling, conducting threat modeling, and owning your findings through client delivery. It is distinct from roles centered on security operations, SOC work, GRC, compliance, policy, audit, or general security administration. Candidates from broader or adjacent security backgrounds should be prepared to talk through relevant hands-on, code-level security work they have personally completed. Security Engineer I is an early-career role, but it is not a training role for someone new to software or security. Relevant experience may come from professional work, internships, advanced coursework, independent research, open-source contributions, CTFs, or substantial personal or academic projects. Regardless of where you gained the experience, you should be able to talk through code-level security work you performed, how you approached the problem, and the conclusions you reached. You will receive direction and review from a project lead while independently completing well-scoped technical work."
That's substantive.
- Responsibilities: "What You'll Achieve" bullet list (though not bullet but lines). Items: Security Assessment Ownership, Vulnerability Discovery and Analysis, Custom Security Tooling, Architecture and Threat Modeling, Client Communication, Research and Innovation. Each with description. We'll put as
for sections: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Only include sections that have real specific content. Must not repeat job title. Must not include Job ID etc. Must preserve all substantive info. Remove boilerplate: cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, application instructions. Also remove duplicated Benefits sections. We need to parse the posting. Key parts: Location: Remote, United States (maybe include as metadata? Not a heading; we can put in a short
maybe.) About Trail Of Bits: description. That could be "About the role"? Actually "About the role" heading likely for description of role? The posting includes "The Role" section describing role. Also there is "About Trail Of Bits" company description. Should we include that? The instruction: use
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can have sections like About the role (maybe summarizing role description), Responsibilities (What You'll Achieve), Requirements (What You'll Bring), Qualifications (Preferred Qualifications), Skills (maybe combine with Requirements?), Benefits, Pay, Schedule.
We need to decide which sections have content.
Let's extract:
- About the role: Could be the paragraph under "The Role". It says: "Trail of Bits seeks a Security Engineer I for our Application Security practice. You will contribute to security assessments of client software, partner with more experienced engineers, identify vulnerabilities across the application and system levels, and own clearly scoped pieces of client engagements. You will drive your own vulnerability analysis, develop tools alongside the team, and help clients understand and fix the issues you find. This role bridges vulnerability research and applied security. Your work will be hands-on: analyzing complex code, building custom tooling, conducting threat modeling, and owning your findings through client delivery. It is distinct from roles centered on security operations, SOC work, GRC, compliance, policy, audit, or general security administration. Candidates from broader or adjacent security backgrounds should be prepared to talk through relevant hands-on, code-level security work they have personally completed. Security Engineer I is an early-career role, but it is not a training role for someone new to software or security. Relevant experience may come from professional work, internships, advanced coursework, independent research, open-source contributions, CTFs, or substantial personal or academic projects. Regardless of where you gained the experience, you should be able to talk through code-level security work you performed, how you approached the problem, and the conclusions you reached. You will receive direction and review from a project lead while independently completing well-scoped technical work."
That's substantive.
- Responsibilities: "What You'll Achieve" bullet list (though not bullet but lines). Items: Security Assessment Ownership, Vulnerability Discovery and Analysis, Custom Security Tooling, Architecture and Threat Modeling, Client Communication, Research and Innovation. Each with description. We'll put as - .
- Requirements: "What You'll Bring" list of requirements (the bullet list). Items: At least 1 year of combined relevant experience..., Demonstrable vulnerability-discovery capability..., Strong code-analysis skills..., Hands-on coding proficiency..., Working knowledge of memory-corruption vulnerabilities..., Familiarity with operating-system concepts..., Ability to independently investigate..., Clear written and verbal communication...
- Qualifications: "Preferred Qualifications" list. Items: Active or recent CTF participation..., Published vulnerability research..., Contributions to open-source security tools..., Experience with mobile application security..., Experience assessing cloud platforms..., Experience with kernel code..., Published technical writing...
- Skills: Could be maybe combine hands-on coding proficiency etc. But we already have skills in Requirements. Maybe we can create a Skills section for specific languages: Rust, Go, C, C++, Python, JavaScript, TypeScript. But the instruction: prefer few substantive sections over many thin ones. Could merge skills into Requirements or Qualifications. However they ask to use headings like Skills if content exists. We could create a Skills section listing the languages and maybe other technical skills. But we already have that in Requirements (Hands-on coding proficiency in at least two relevant languages, such as Rust, Go, C, C++, Python, JavaScript, TypeScript, or similar languages). Could extract that as Skills.
- Benefits: There's a Benefits section with details: "Trail of Bits offers a comprehensive benefits package including health insurance, retirement contributions, professional development stipends, and generous PTO." Then later "Benefits, Perks & Wellness" with details: Empowered Living (competitive salary, performance-based bonuses, fully company-paid insurance, 401(k) 5% match, 20 days PTO), Nurturing New Beginnings (4 months parental leave, relocation assistance $10k if moving to NYC), Work & Life Enrichment ($1k WFH stipend, $750 Learning & Development stipend, company-sponsored all-team celebrations), Community Impact (philanthropic contribution matching up to $2k annually). Also earlier: "Trail of Bits offers a comprehensive benefits package including health insurance, retirement contributions, professional development stipends, and generous PTO." So we have benefits details.
- Pay: "Compensation The base salary range for this full-time position is $100,000 to $160,000 and will include additional bonuses. Compensation is informed by geographic location, relevant experience, and internal equity. These figures represent starting compensation for U.S.-based candidates. For specifics, please discuss with your recruiter during the hiring process."
- Schedule: Not explicitly mentioned. Could infer remote, full-time. But we should not create Schedule section unless posting actually states them. There's no explicit schedule like hours, full-time/part-time. It says full-time position. Could we consider that as schedule? The instruction: never create Pay/Schedule/Benefits sections unless the posting actually states them. It does state full-time, but not schedule details like hours. Might be okay to include Schedule with "Full-time, remote". However they said "do not create ... unless the posting actually states them". It does state full-time, which is a schedule type. I'd include Schedule section with "Full-time, remote". But we need to be careful not to invent. It says location Remote, United States. So we can say Schedule: Full-time (remote). That's derived from posting.
We must not include boilerplate like EEO, E-Verify, etc. Also remove duplicated Benefits sections.
We must preserve all substantive information. So we need to include all details from sections.
Let's craft HTML:
Location: Remote, United States
About the role
... (the paragraph)
Responsibilities
- Security Assessment Ownership: Lead the review of a specific component, module, or system within a larger client engagement. Trace root causes and own your analysis from discovery through client delivery
- Vulnerability Discovery and Analysis: Find and validate vulnerabilities in application code and systems, explain exploitation paths, assess impact, and develop proof-of-concept code when appropriate
- Custom Security Tooling: Design and build security-testing tools and automation for vulnerability detection and deeper analysis
- Architecture and Threat Modeling: Review software architectures, identify attack surfaces, data flows, trust and privilege boundaries, and recommend concrete mitigations
- Client Communication: Translate technical findings into clear, actionable recommendations for engineering teams and explain the evidence behind your conclusions
- Research and Innovation: Contribute to security research, open-source tools, internal knowledge sharing, and technical documentation
Requirements
- At least 1 year of combined relevant experience in application security, vulnerability research, security-focused software engineering, or a closely related area. This experience may come from employment, internships, advanced coursework, independent research, open-source contributions, CTFs, or substantial personal or academic projects
- Demonstrable vulnerability-discovery capability. You can talk through a vulnerability or security weakness you personally found or validated, including how you identified it, established its impact, and reached your conclusion. Evidence may come from professional work, coursework, projects, CTFs, CVEs, bug bounties, responsible disclosure, open source, or comparable research
- Strong code-analysis skills. You can read unfamiliar code, trace execution and data flow, identify logic or implementation flaws, and distinguish a tool signal from a validated vulnerability
- Hands-on coding proficiency in at least two relevant languages, such as Rust, Go, C, C++, Python, JavaScript, TypeScript, or similar languages used in security analysis and tool development
- Working knowledge of memory-corruption vulnerabilities and common mitigations, such as buffer overflows, use-after-free, stack cookies, ASLR, NX/DEP, CFI, or MTE, including the ability to reason about exploit primitives at an appropriate early-career level
- Familiarity with operating-system concepts, IPC, privilege boundaries, and the ways applications interact with system internals
- Ability to independently investigate a well-scoped problem, debug issues, document evidence, ask focused questions when blocked, and deliver work with review from a project lead
- Clear written and verbal communication, including the ability to explain technical findings and remediation guidance to software engineers and work productively on a distributed team
Preferred Qualifications
- Active or recent CTF participation, competition results, or comparable hands-on security challenges
- Published vulnerability research, CVEs, responsible disclosures, bug bounty findings, or security writeups
- Contributions to open-source security tools, libraries, or research
- Experience with mobile application security, mobile system internals, or binary analysis on mobile platforms
- Experience assessing cloud platforms or infrastructure and working with tools such as Kubernetes, Helm, Terraform, or Ansible
- Experience with kernel code, drivers, reverse engineering, fuzzing, or other low-level systems work
- Published technical writing, conference talks, or substantial technical documentation
Skills
Hands-on coding proficiency in at least two relevant languages, such as Rust, Go, C, C++, Python, JavaScript, TypeScript, or similar languages used in security analysis and tool development.
But we already have that in Requirements; maybe we can omit Skills to avoid duplication. The instruction: prefer few substantive sections over many thin ones. So maybe we drop Skills section and keep the coding proficiency in Requirements. However they asked to use headings like Skills if content exists. But we can decide to not include Skills if we think it's redundant. However we must preserve all substantive information; we already have that info in Requirements, so it's preserved. So we can omit Skills.
Now Benefits:
We need to capture all benefits details without duplication.
Let's compile:
- Comprehensive benefits package: health insurance, retirement contributions, professional development stipends, generous PTO.
- Empowered Living: Competitive salary complemented by performance-based bonuses; Fully company-paid insurance packages, including health, dental, vision, disability, and life; A solid 401(k) plan with a 5% match of your base salary; 20 days of paid vacation with flexibility for more, adhering to jurisdictional regulations.
- Nurturing New Beginnings: 4 months of parental leave to cherish the arrival of new family members; Our team is global and remote-first. However, if you are interested in moving to NYC, we offer $10,000 in relocation assistance to support your transition.
- Work & Life Enrichment: $1,000 Working-from-Home stipend to create a comfortable and productive home office; Annual $750 Learning & Development stipend for continuous personal and professional growth; Company-sponsored all-team celebrations, including travel
Location: Remote, United States
About the role
... (the paragraph)
Responsibilities
- Security Assessment Ownership: Lead the review of a specific component, module, or system within a larger client engagement. Trace root causes and own your analysis from discovery through client delivery
- Vulnerability Discovery and Analysis: Find and validate vulnerabilities in application code and systems, explain exploitation paths, assess impact, and develop proof-of-concept code when appropriate
- Custom Security Tooling: Design and build security-testing tools and automation for vulnerability detection and deeper analysis
- Architecture and Threat Modeling: Review software architectures, identify attack surfaces, data flows, trust and privilege boundaries, and recommend concrete mitigations
- Client Communication: Translate technical findings into clear, actionable recommendations for engineering teams and explain the evidence behind your conclusions
- Research and Innovation: Contribute to security research, open-source tools, internal knowledge sharing, and technical documentation
Requirements
- At least 1 year of combined relevant experience in application security, vulnerability research, security-focused software engineering, or a closely related area. This experience may come from employment, internships, advanced coursework, independent research, open-source contributions, CTFs, or substantial personal or academic projects
- Demonstrable vulnerability-discovery capability. You can talk through a vulnerability or security weakness you personally found or validated, including how you identified it, established its impact, and reached your conclusion. Evidence may come from professional work, coursework, projects, CTFs, CVEs, bug bounties, responsible disclosure, open source, or comparable research
- Strong code-analysis skills. You can read unfamiliar code, trace execution and data flow, identify logic or implementation flaws, and distinguish a tool signal from a validated vulnerability
- Hands-on coding proficiency in at least two relevant languages, such as Rust, Go, C, C++, Python, JavaScript, TypeScript, or similar languages used in security analysis and tool development
- Working knowledge of memory-corruption vulnerabilities and common mitigations, such as buffer overflows, use-after-free, stack cookies, ASLR, NX/DEP, CFI, or MTE, including the ability to reason about exploit primitives at an appropriate early-career level
- Familiarity with operating-system concepts, IPC, privilege boundaries, and the ways applications interact with system internals
- Ability to independently investigate a well-scoped problem, debug issues, document evidence, ask focused questions when blocked, and deliver work with review from a project lead
- Clear written and verbal communication, including the ability to explain technical findings and remediation guidance to software engineers and work productively on a distributed team
Preferred Qualifications
- Active or recent CTF participation, competition results, or comparable hands-on security challenges
- Published vulnerability research, CVEs, responsible disclosures, bug bounty findings, or security writeups
- Contributions to open-source security tools, libraries, or research
- Experience with mobile application security, mobile system internals, or binary analysis on mobile platforms
- Experience assessing cloud platforms or infrastructure and working with tools such as Kubernetes, Helm, Terraform, or Ansible
- Experience with kernel code, drivers, reverse engineering, fuzzing, or other low-level systems work
- Published technical writing, conference talks, or substantial technical documentation
Skills
Hands-on coding proficiency in at least two relevant languages, such as Rust, Go, C, C++, Python, JavaScript, TypeScript, or similar languages used in security analysis and tool development.
But we already have that in Requirements; maybe we can omit Skills to avoid duplication. The instruction: prefer few substantive sections over many thin ones. So maybe we drop Skills section and keep the coding proficiency in Requirements. However they asked to use headings like Skills if content exists. But we can decide to not include Skills if we think it's redundant. However we must preserve all substantive information; we already have that info in Requirements, so it's preserved. So we can omit Skills. Now Benefits: We need to capture all benefits details without duplication. Let's compile: - Comprehensive benefits package: health insurance, retirement contributions, professional development stipends, generous PTO. - Empowered Living: Competitive salary complemented by performance-based bonuses; Fully company-paid insurance packages, including health, dental, vision, disability, and life; A solid 401(k) plan with a 5% match of your base salary; 20 days of paid vacation with flexibility for more, adhering to jurisdictional regulations. - Nurturing New Beginnings: 4 months of parental leave to cherish the arrival of new family members; Our team is global and remote-first. However, if you are interested in moving to NYC, we offer $10,000 in relocation assistance to support your transition. - Work & Life Enrichment: $1,000 Working-from-Home stipend to create a comfortable and productive home office; Annual $750 Learning & Development stipend for continuous personal and professional growth; Company-sponsored all-team celebrations, including travel