import{c as a,Q as s,j as t,m as i}from"./chunks/framework.BPKcPtvA.js";const u=JSON.parse('{"title":"L3a: L4 Whitelist Hook","description":"","frontmatter":{},"headers":[],"relativePath":"labs/l3-whitelist-hook.md","filePath":"labs/l3-whitelist-hook.md","lastUpdated":null}'),l={name:"labs/l3-whitelist-hook.md"};function n(o,e,r,p,h,c){return s(),t("div",null,[...e[0]||(e[0]=[i(`
Implement a production-grade L4 security whitelist hook.
Module: M3 Safety & Security
Est. Time: 60 min
Files: starter.py, solution.py
Block ALL bash commands except 10 safelisted patterns. This prevents the L3 marque break (agent writing and running scripts).
cd course/labs/L3-whitelist-hook/
python starter.pyThe starter has:
python solution.py^npm test$ not ^npm .*$^python .*$ allows running any scriptnpm test → ALLOW
git status → ALLOW
rm -rf target/ → BLOCK
python cleanup.py → BLOCK (L3 marque break)
npm test && rm -rf / → BLOCK (compound operator)