Final Project: Security Audit Report
Time to put everything together. You'll perform a security audit of a small, deliberately flawed web application and write up your findings like a real security assessment.
Scenario
You're reviewing a simple app with a login form, a comment section, and a "search users" feature. Here's a sketch of how it currently works:
JavaScript
Requirements
Write up a security audit report (as a markdown file in a repo, or a doc, your choice) that includes:
- Identify at least 4 distinct vulnerabilities in the scenario above, name each one using proper terminology (e.g. "SQL injection", "stored XSS", "broken access control", "insecure password storage").
- For each vulnerability, explain how an attacker could exploit it in plain language, one or two sentences is enough.
- For each vulnerability, propose a specific fix, referencing techniques from this course (parameterized queries, output escaping, password hashing, authorization checks, etc.).
- Rank the four vulnerabilities by severity (which would you fix first, and why?).
- Add a short "general recommendations" section with at least 2 practices a team could adopt going forward (e.g. dependency scanning, code review checklists, MFA for admin accounts).
Stretch goals
- Propose a rewritten, safe version of one of the vulnerable code snippets above.
- Research and briefly summarize one real-world breach that resulted from a vulnerability of the same class as one you identified.
Submit a link to your finished report below (a repo, gist, or shared doc), an instructor will review it before you can mark this lesson complete. Good luck! 🔒