Senior Software Engineer, безопасность кода
GitLab — платформа оркестрации для DevSecOps. Более 50 миллионов зарегистрированных пользователей и более 50% компаний из Fortune 100 доверяют GitLab. В команде ожидается активное использование AI-инструментов в ежедневной работе.
Обзор роли
В роли Senior Backend Engineer в команде Security Factory: Code Security вы помогаете разработчикам находить и исправлять проблемы безопасности. Эти проблемы находятся в коде и в open source компонентах, от которых зависит проект. Работа охватывает взаимодополняющие части полного анализа безопасности.
Анализ зависимостей
Вы учите движок анализа определять, от чего зависит проект. Вы парсите манифесты зависимостей, lock-файлы и SBOM, чтобы движок знал, какие библиотеки и фреймворки используются и как код их применяет. Вы также расширяете сервис, который превращает рекомендации по безопасности в автоматические merge requests для обновления уязвимых зависимостей.
Обнаружение уязвимостей
Вы развиваете движок анализа безопасности GitLab с помощью гибридных анализаторов, сочетающих rule-based обнаружение и AI-рассуждения. Вы создаёте и применяете инструменты для разработки, оценки и выпуска этих анализаторов, а также измеряете, насколько хорошо они находят реальные проблемы. Эта работа также расширяет покрытие библиотек, фреймворков и AI agent tooling, на которых строятся реальные приложения.
Эти направления усиливают друг друга. То, от чего зависит проект, и то, как его код использует эти зависимости, — части одной картины, и команда работает над всем этим.
Мы осмысленно используем AI-assisted инструменты разработки в повседневной работе. Мы ожидаем, что вы будете применять их эффективно и с хорошим суждением.
Что вы делаете
- Выступаете как directly responsible individual (DRI) для инициатив команды от проектирования до поставки, выпуская с минимальным руководством в партнёрстве с техническим лидером.
- Переводите системы, созданные одним инженером, в командное владение через документацию, тесты и совместное ревью.
- Проектируете и выпускаете анализаторы, сочетающие детерминированные возможности анализа с AI-driven анализом, и создаёте evaluation harnesses, которые измеряют их ложные срабатывания и пропущенные находки на бенчмарк-приложениях с известными уязвимостями, повышая планку того, что считается достоверным результатом. Это включает правила обнаружения, сопоставленные с CWE, и тестовые фикстуры, доказывающие их работу.
- Упаковываете эти анализаторы для всех мест, где GitLab их запускает, включая CI jobs, AI agent workflows и command-line tools, с отчётами о находках в стандартных форматах безопасности GitLab.
- Проектируете и выпускаете парсинг манифестов, lock-файлов и SBOM, который сообщает движку статического анализа, от чего зависит проект, и расширяете его на новые экосистемы и форматы.
- Выпускаете функции в сервисе автоматического исправления, который превращает рекомендации по безопасности в merge requests для обновления зависимостей, от sandboxed обновлений до создания merge request.
- Решаете технические задачи высокого масштаба и сложности, активно ищете сложные препятствия, влияющие на всю команду, и выступаете за улучшения качества, безопасности и производительности с Product Management, Engineering stakeholders, такими как Frontend и UX, и партнёрскими командами, такими как Code Scanning и Composition Analysis.
- Менторите Intermediate инженеров через code review и pairing, поддерживаете внутренние стандарты стиля, поддерживаемости и лучших практик через ревью.
- Участвуете в on-call rotations для помощи в устранении неполадок продуктовых операций, операций безопасности и срочных инженерных вопросов.
Что вы приносите
- Опыт создания собственного LLM tooling, например harness, agent pipeline или evaluations, с умением понимать, когда вывод заслуживает доверия, а когда нет.
- Существенный профессиональный опыт написания и тестирования production кода на системном языке, особенно Go и/или Rust, с глубиной как минимум в одном. Мы используем оба, плюс Ruby на стороне remediation.