Expand description
Refusing to inject variables that grant code execution in the child.
prk run -- <cmd> puts secret values into a child’s environment. A handful
of variable names are read by the dynamic loader or a language runtime
before the program’s own first instruction, so whoever controls their
value controls what the program does. LD_PRELOAD is the canonical example.
That turns a compromised or hostile server into arbitrary code execution on
every machine that runs prk run. The server is not in the trust boundary
for this: it stores secrets, it does not get to choose what code runs.
So those names are refused by default and require --allow-unsafe-env.
The classification itself lives in prick_core::keyname; this module is
the policy that consumes it.
Structs§
- EnvGuard
- The policy applied to a set of secrets before they reach a child.
Enums§
- Guard
Error - A rejected injection.