✿ Guardian LilyEthical security research · Fictional offline labs

Guardian Lily / PenTest Lab

Security findings & fixes.

Three documented, intentionally insecure offline training examples, each paired with a remediation and automated tests. These are educational demonstrations—not findings from a real-world target or proof of production exploitation.

← Back to digital safety
03Documented exercises
03Remediation examples
13Lab test cases in source

Evidence-based practice

Findings register

Severity labels below are illustrative learning classifications, not scored production risks. Test case counts describe checked-in code, not independently verified passing runs.

GL-001High · illustrative

Broken Object-Level Authorization

Access control · IDOR / BOLA

A fictional account can read another account's note when the code omits an ownership check.

Fix: Validate ownership before returning the object; use trusted authentication context in real systems.

GL-002Medium · illustrative

Unsafe HTML Rendering

Input handling · XSS prevention

Untrusted fictional markup is inserted into HTML without escaping; the lab does not execute browser scripts.

Fix: Encode text in its correct output context, or use safe DOM text APIs.

GL-003High · illustrative

SQL Injection

Injection · CWE-89

String concatenation allows invented input to alter a SQLite filter and return extra fictional records.

Fix: Use parameterized queries and separately enforce authorization.

How the work is structured

Reproduce. Explain. Remediate. Retest.

Every finding includes a controlled reproduction, root-cause analysis, a corrected implementation, and offline regression tests. All accounts and messages are invented. No vulnerable service is running on this site.

Run locally: python -m unittest discover -s pentest-lab/tests -v

View GitHub Actions checks ↗ · Explore the PenTest Lab ↗