Cybersecurity Fundamentals

Lesson 7 of 7

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:

  1. 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").
  2. For each vulnerability, explain how an attacker could exploit it in plain language, one or two sentences is enough.
  3. For each vulnerability, propose a specific fix, referencing techniques from this course (parameterized queries, output escaping, password hashing, authorization checks, etc.).
  4. Rank the four vulnerabilities by severity (which would you fix first, and why?).
  5. 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! 🔒

This lesson ends in a project. Build it on your own machine, there's nowhere to submit it here, but the brief above is everything you need.