Free module
Secure software development
Learn secure software development hands on: safe design, input checks, parameters, password hashing, dependencies and code review.
The lessons
Each lesson is free to read in full. Create a free account to run its commands in a live lab and to sit its quizzes and tasks.
1 · Container lab
Secure design principles
I can apply basic secure design rules to a piece of software.
Read the lesson2 · Container lab
Input validation with allow lists
I can check input against clear rules before the program trusts it.
Read the lesson3 · Container lab
Stopping SQL injection with parameters
I can write a database query so that typed text cannot change it.
Read the lesson4 · Container lab
Password hashing and session security
I can store passwords and check sessions safely in code.
Read the lesson5 · Container lab
Dependency risk and secrets in code
I can judge the risk of the libraries a project uses.
Read the lesson6 · Container lab
Secure code review checklist
I can review code for security faults.
Read the lesson
Worked in a real lab
Every lesson of this module is worked in a lab started for you alone. The labs it uses:
Teaching a class? Set this module for your students with a teacher guide, marked assignments and a lab for every student.