The on-demand version of our Go training, designed for developers who want to write and review safer Go. Louis uses real-world Go vulnerabilities and CVEs to show how and why bugs happen, the Go quirks that catch experienced developers, the safer APIs and tools to use instead, and how to fix issues so they stay fixed, in short lessons you can watch at your own pace. Most lessons come with a PentesterLab lab, and a lesson counts as complete once you've solved its lab.
34 short lessons across 9 modules, about 2.5 hours of video. Watch at your own pace and pause when Louis asks you to look at the code. Lessons with a PentesterLab lab count as complete once you have solved the lab (labs marked optional are extra practice).
Training a team? Buy in bulk or deploy it in your LMS.
A lot of secure coding trainings are based on the OWASP Top 10, with simplified snippets. This one starts where they stop: the bugs that get past experienced Go developers, and how to catch them in your own code.
The patterns come from vulnerabilities in real Go projects: an overwritten error that bypassed Navidrome's authentication, Vikunja's password reset, go-zero's CORS bypass. You read the vulnerable code, see why it was exploitable, and how it was fixed.
Bugs that hide in the details: a ToLower that changes a string's length and leads to code execution in FrankenPHP, then the bypass of its fix; SSRF checks that fall to DNS rebinding; a gift you can claim twice with a race condition.
That's what this course is for: how real Go vulnerabilities happen, the Go quirks that catch experienced developers, the safer APIs to use instead, and how to fix bugs so they stay fixed.
A foundational understanding of common web vulnerabilities, as this knowledge will be essential for fully grasping the security concepts discussed in the lessons.
Working knowledge of Go. Familiarity with basic git commands helps too, as the CVE analysis lessons compare vulnerable and fixed versions with git.
Louis Nyffenegger is the founder of PentesterLab, a leading educational platform renowned for its comprehensive, hands-on security labs, many of which were personally created by him. Before establishing PentesterLab, Louis honed his expertise in penetration testing across France and Australia. He subsequently specialized in security code reviews at the National Bank of Australia, followed by application security roles at Australia Post and Fitbit, where he regularly performed code reviews. Louis is also a well-regarded speaker, frequently sharing his insights at security conferences such as DEFCON, multiple OWASP events (Auckland, Brisbane, California, Melbourne, ...) and multiple BSides events (Canberra, Perth, Toronto, ...). Additionally, he runs the YouTube channel AppSecSchool, where he shares knowledge and insights on application security.