Review routine improved our pull requests
The routine and comment examples made our developers far more confident reviewing security relevant changes.
Browse
Review code for security like a specialist, automate the checks with SAST and secret scanning, write custom rules and triage findings without drowning in noise
Created by Jonas Lindqvist
Security tools are only as good as the process around them. Many teams switch on a static analysis scanner, receive hundreds of findings, fix a few and then quietly ignore the rest. This course teaches a better approach: manual review skills where they matter most, automation for everything repeatable, and a triage process that keeps the signal high.
We work with a realistic multi service sample application written in Python and TypeScript, containing a set of planted security bugs. You will find some by reading code and others with tools, then write rules that would have caught each one automatically. Every rule you write is tested against positive and negative examples, the same way you test application code.
This is an advanced course. You should be comfortable reading code in at least one of the languages and know the common web vulnerability classes, for example from an OWASP Top 10 course.
Application security engineer helping developers write, review and test secure code
I sit between development and security teams, reviewing code, tuning scanners and teaching developers how common vulnerabilities actually appear in real code bases.
My courses are written for developers first. We read vulnerable code, exploit it in a safe lab, fix it and add a test or rule so it stays fixed. Examples use Python, JavaScript and Java because that is what most teams I meet write.
I focus on the OWASP Top 10, API security, authentication, and tooling such as Semgrep, CodeQL and secret scanners. My aim is that security becomes part of your normal review, not a separate step at the end.
The routine and comment examples made our developers far more confident reviewing security relevant changes.
Writing taint rules for our own request wrapper removed most of our false positives in a week.
Our backlog of ignored findings is gone. Suppressions with reasons and diff aware blocking changed the culture.
Rotation first, history later. Clear, practical and exactly what we needed after a leak last year.
Excellent CodeQL section. You need solid security knowledge before starting, as the description says.
Content is accurate. Most CI examples use GitHub, so GitLab users need to adapt a few steps.