rabadon

overview / blind spots / the project root deleted by its own name

the project root deleted by its own name

From inside, naming the root instead of the law.

the shapes

1 of the 21 shapes rabadon's gate allows although they destroy .rabadon/guard.json, measured and declared by the binary:

rm -rf "$PWD"

From the kLawBlind table in native/gate.cpp; rabadon-gate --law-blind prints it.

why the gate cannot see them

Shapes that destroy the law and are allowed. baseline-law-unmade judges a command's operands. Each shape below removes <project>/.rabadon/guard.json without an operand naming it, so it is ALLOWED. Deliberately not closed: refusing a recursive walk or rm -rf ./old-project would fence users inside their own project (docs/guard.md). They are disclosed on the blind spots: screen and by --law-blind; native/law_blind_test.sh holds this table equal to the gate's behaviour over native/lawblind_corpus.txt.

what to do

What to do: commit .rabadon/ to git. That copy survives all twenty-one, and git checkout .rabadon puts the law back. Under rabadon exec a protectedPaths entry is additionally fenced by the kernel.

rules

baseline-law-unmade