Thank you for your interest in joining the OISF team. While we are not currently accepting applications as our hiring for 2024 is complete, we encourage anyone interested in future opportunities to connect with us through our community channels. Stay tuned for news and updates regarding positions or projects as they become available.

Required: C or Rust (able to write and debug basic programs)
Required: Linux/Unix
Plus: Lua/Python
Plus: Suricata/Snort/Zeek, InfoSec in general
Part-time (16h/w+) or full-time

Tasks: develop Suricata, triage & analyze bugs reported by users, fix or escalate bugs, develop new features.

Learning opportunities: learn how to use and support Suricata. Learn interaction with open source community. Learn operating in a virtual team. Improve C skills. Learn to use Lua, Python and Rust. Attend various Suricata training, both for users and developers.

This person works to fix bugs, and develop new features of limited size and complexity. Also assist other developers with their larger change sets. Together with ‘support staff’ triage bugs, fixing them where possible or escalating them where necessary.

Day to day workflow: working under guidance of Management & Senior level developers. Work on high priority tickets.

Required: One or more years of C or Rust and Python
Required: Linux/Unix
Required: InfoSec experience
Plus: Suricata/Snort/Zeek
Plus: Lua
Part-time (16h/w+) or full-time

Tasks: develop Suricata, assist ‘junior’ with bug triage. Develop new features. Perform code review for team and community contributions.

Learning opportunities: same as ‘junior’, plus: code reviews, designing features and/or solutions to issues. Work independently. Attend various Suricata training, both for users and developers. Assist trainers.

Growth opportunities: opportunity to grow into subsystem maintainer. Starting by maintaining smaller components within a subsystem.

This person works to fix more complex bugs and develops new features under guidance of management. SuriCon road-map is leading here. Assist ‘junior’ in fixing issues.

Required: 5+ years C. Be able to interact with community easily. Work independently. Perform code reviews.
Plus: 1+ Rust, 3+ Python.
Plus: already made contributions to Suricata’s code base
full-time (32h/w+)

Tasks: develop complex new features. Refactoring of subsystems. Maintain one or more subsystems (e.g. ‘packet capture’, or ‘stream engine’). Perform code reviews for team and community. Assist team in complex bugs/issues triage. Help improve development processes and overall quality of the project.

Growth opportunities: become a (developer) trainer. Become part of leadership team. Help guide & interact with advisory council. Present work at SuriCon and 3rd party conferences as an OISF representative or personally where applicable.

This person works on major new features such as new detection capabilities, complex new protocols and performance optimizations. The Suricata road-map as created at the SuriCon conference determines for a large part what we work on. Suggest and discuss designs and design choices. Assist rest of the team in addressing complex issues, helping with code review.

Core Suricata Developers

These roles/jobs are for work on the Suricata program itself. Suricata is written mostly in C, which a growing share of Rust code.

Required skills: Python, Linux/Unix, Bash, CI tools (e.g. github actions, gitlab-ci, jenkins)
Plus: experience with Suricata/Snort/Zeek/Tcpdump/Wireshark
Plus: experience with development tools like gcc, clang, scan-build, fuzz testing and/or other relevant code quality tools

Tasks: develop and maintain Suricata-Verify, help manage the Suricata CI efforts and implement security related QA steps.

Suricata-Verify is a Python tool to streamline testing many features of Suricata. Both the tool itself, and development of new test cases, is part of this. On the CI side Suricata uses a mix of public tools, such as GitLab/GitHub CI, combined with private tools and tests.

Part-time: 12-20h/week

Required skills: Suricata, Linux/Unix, good communicator via e-mail, chat and phone.
Plus: experience in open source communities
Plus: experience with doing professional support

Tasks: First responder to support requests in the Redmine ticketing, on the mailing lists and through our other public and private support channels such as the official commercial Support program that is currently in a pilot phase.

Update FAQ documents and general documentation based on questions and feedback. Triage issues, collect necessary information for further processing.

Part-time: 12-20h/week

Supporting Development Roles

These roles/jobs are for work on the Suricata program itself. Suricata is written mostly in C, which a growing share of Rust code.

How to apply

There are several ways to apply. You can send us your resume. Make sure to include FOSS experience (if any) and also specify what you are looking for in this work. Send your email to [email protected], or reach our through our Contact form.

You can also join the community as a volunteer contributor first. Start helping out in the community, with documentation, bugs, feature development, etc. Please let the team know you’re willing to join, so that we can help you with feedback and guidance on those tasks.

Questions

If you have questions or want to apply, please email us at [email protected], or reach out to us through Contact