mirror of
https://github.com/denoland/deno.git
synced 2025-01-15 02:20:15 -05:00
74fc66da11
`--allow-run` even with an allow list has essentially been `--allow-all`... this locks it down more. 1. Resolves allow list for `--allow-run=` on startup to an absolute path, then uses these paths when evaluating if a command can execute. Also, adds these paths to `--deny-write` 1. Resolves the environment (cwd and env vars) before evaluating permissions and before executing a command. Then uses this environment to evaluate the permissions and then evaluate the command.
18 lines
382 B
TypeScript
18 lines
382 B
TypeScript
const binaryName = Deno.build.os === "windows" ? "deno.exe" : "deno";
|
|
Deno.copyFileSync(Deno.execPath(), binaryName);
|
|
|
|
console.log("Running...");
|
|
new Deno.Command(
|
|
Deno.execPath(),
|
|
{
|
|
args: [
|
|
"run",
|
|
"--allow-write",
|
|
"--allow-read",
|
|
`--allow-run=${binaryName}`,
|
|
"sub.ts",
|
|
],
|
|
stderr: "inherit",
|
|
stdout: "inherit",
|
|
},
|
|
).outputSync();
|