Deno's Permission Prompts Are a Security Theater, Not a Sandbox

I'm not a fan of Deno's security model (2024)

Deno markets itself as "secure by default," but its permission system rests on shaky ground. The author shows how malicious code can spoof or hide the terminal prompts that ask for access, and how `--allow-run=uname` is defeated by simply pointing PATH at a fake binary. Even after Deno patched the LD_PRELOAD escape, the deeper flaw remains: the process itself is never actually sandboxed, so permissions offer a false sense of safety. The fix, the author argues, is a real sandbox like bwrap.

Deno process is not actually sandboxed, it only pretends it is.
  1. jFriedensreich

    I was a fan of deno because at least they tried, its not that there was an alternative runtime that tries to do permissions right or that there is an operating system tool that allows async(!) permissions with user interaction. We really need a simple to use "productised" but true open source solution that allows halting any software and evaluating policies for run, fs and network etc and can reason on process and context level.

  2. ximm

    And as far as I can tell, this is the exact same security model that is now used by OpenCode and similar

  3. hoppp

    Deno has 1 year of official support left...

    I liked the security model because at least they had something, unlike node.

  4. phyzome

    I actually have a terminal program that needs to ask for sensitive inputs from the user sometimes, potentially after attacker data has been printed. I've been trying to figure out how I should handle that!

    My plan was to encode to Unicode (lossily), strip out control characters, and add some visual framing. Anything else I should be considering? Is there a standard approach? Haven't actually done the research on this yet, but since it came up here, I figure someone might know.

    (This is https://codeberg.org/timmc/breakmancer if anyone is interested.)

  5. kevin_thibedeau

    > the permission prompt is “partially visible” (you can see an emoji)

    Terminals can be configured to render emoji in text presentation form where they become monochrome glyphs that can be colored like ordinary text with escape sequences. Not something to hinge your security model on.

More from this day

2026-11-08