Repository navigation
[APPS-2945] Update: drop the in-process local execution guard in favor of Node's permission model - #563
Open
tyffical wants to merge 1 commit into
Conversation
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 7, 2026 19:25
9ff1de7 to
267c2ee
Compare
tyffical
changed the base branch from
master
to
tiffany.trinh/apps-2945-follow-terrapin-flag
October 7, 2026 19:25
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 7, 2026 19:37
267c2ee to
7547a80
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 8, 2026 03:14
e898bea to
481364f
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 8, 2026 03:24
7547a80 to
96f4d63
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 8, 2026 03:44
481364f to
e574841
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
2 times, most recently
from
October 8, 2026 15:01
f05dc6f to
1bed9e6
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 13, 2026 00:52
e574841 to
34a9189
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 13, 2026 01:22
1bed9e6 to
1432b86
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 13, 2026 20:08
34a9189 to
abf34ad
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
3 times, most recently
from
October 14, 2026 15:21
2903b26 to
b358421
Compare
🎉 All green!🧪 All tests passed 🔗 Commit SHA: 0b521ee | Docs | View more details | Give us feedback! |
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 14, 2026 23:54
10d99f9 to
121756b
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 15, 2026 01:04
abf34ad to
892bda9
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 15, 2026 02:04
121756b to
e2cb304
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
2 times, most recently
from
October 15, 2026 15:37
bd21790 to
2352fe9
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 15, 2026 16:46
e2cb304 to
c862d97
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 15, 2026 19:07
2352fe9 to
e7d5434
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 15, 2026 21:09
c862d97 to
4154548
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 15, 2026 22:20
e7d5434 to
1fa97d9
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 15, 2026 23:14
4154548 to
7172f41
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
2 times, most recently
from
October 16, 2026 00:47
e44fe4a to
141d960
Compare
tyffical
marked this pull request as ready for review
October 16, 2026 01:26
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 16, 2026 05:06
7172f41 to
8f17d92
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 16, 2026 16:37
04671dd to
696d422
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 16, 2026 16:37
8f17d92 to
2c8d204
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 16, 2026 21:37
696d422 to
a64a6ad
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 16, 2026 21:38
2c8d204 to
dea67f3
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 18, 2026 05:41
a64a6ad to
31ea49f
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 18, 2026 05:41
dea67f3 to
a41bea5
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 20, 2026 19:49
31ea49f to
ea71187
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 20, 2026 22:40
a41bea5 to
0febe46
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 20, 2026 23:58
ea71187 to
e59b683
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 20, 2026 23:59
0febe46 to
ea5cafa
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 22, 2026 16:46
e59b683 to
c499254
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 22, 2026 18:51
ea5cafa to
197d9ef
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 23, 2026 07:29
c499254 to
06018e9
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 23, 2026 07:33
197d9ef to
a24b4d7
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 23, 2026 13:16
06018e9 to
7509268
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 23, 2026 13:20
a24b4d7 to
1bc16e4
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 23, 2026 13:41
7509268 to
eb7a6fb
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 23, 2026 13:43
1bc16e4 to
55ce6f0
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 23, 2026 14:30
eb7a6fb to
92afaf2
Compare
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 23, 2026 15:34
55ce6f0 to
8f7e414
Compare
Live Debugger Runtime BenchmarkSDK-loaded dormant-probe runtime overhead, measured against an uninstrumented bundle in the same browser session.
What do the Tiny and Hot workloads represent? Browser Debugger SDK: Full diagnosticsRaw samples are in the |
tyffical
force-pushed
the
tiffany.trinh/apps-2945-follow-terrapin-flag
branch
from
October 23, 2026 16:19
92afaf2 to
b71e121
Compare
… Node's permission model Local execution's in-process JavaScript guard patched fs, child_process, worker_threads and process.chdir to refuse writes and subprocesses on the paths where a call can't run under Node's permission model. The Node backend runtime itself allows those operations, and comparable local runners don't build a JavaScript file-system guard, so the guard blocked code that runs in production while not being a security boundary. The guard, its tests and its wiring are removed. On the fallback paths (Vite 5, Vite 6.0.0 to 6.0.3, Yarn Plug'n'Play, an unresolvable vite/module-runner, and a call's process on a Node without the permission model or without --allow-inspector while debugging), calls run unrestricted and the dev server warns once per start that production's limits aren't enforced locally and that dev:verify runs functions on the real runtime. A call's own process under the permission model keeps Node's limits. A refusal from one of Node's permission scopes that fails the call is reported with a message naming what was refused, the refused path for a file refusal, and the dev:verify hint, keeping the call's own stack frames. The unused graceful-fs devDependency goes with the guard's tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tyffical
force-pushed
the
tiffany.trinh/apps-2945-local-guard-messages
branch
from
October 23, 2026 16:22
8f7e414 to
0b521ee
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
dev:verifyis the parity check.Architecture
flowchart TD E["/__dd/executeAction"] --> Q{"Vite 6.0.4+ with vite/module-runner, no Yarn PnP?"} Q -->|"yes"| P{"Node's permission model usable?"} P -->|"yes"| C["call's own process under --permission"] C --> H["a refusal fails the call with a dev:verify hint"] P -->|"no, or --inspect without --allow-inspector"| U1["call's own process, unrestricted"] Q -->|"no: Vite 5, Vite 6.0.0 to 6.0.3, Yarn PnP"| U2["dev server's process, unrestricted"] U1 --> W["one warning per dev-server start"] U2 --> WChanges
7 changes across network-guard.ts, index.ts, local-execution*.ts, package.json, README.md and tests
src/vite/network-guard.ts,src/vite/network-guard.test.ts(deleted)index.ts,local-execution.ts,local-execution-child.tsindex.ts,local-execution-process.tslocal-execution-limits.tsgraceful-fsdevDependency.package.jsonREADME.mdlocal-execution-limits.test.ts,local-execution-process.integration.test.tsQA Instructions
0b521ee9https://github.com/DataDog/build-plugins/actions/runs/39986239888/tmp, which a call may write;writeRootUncaughtshows a refused write.Fixtures and staging runs: Vite 8 with and without the permission model, Vite 5, dev:verify
src/guardRefusal.backend.ts:guardRun,useLogger,cacheWriteanduseFetchare unchanged; the Vite 5 app pinsvite@5.4.21.Blast Radius
dev:verifyand builds are untouched.Out of Scope / Follow-ups
3 items deferred
/tmpis writable from a call's own process, since the permission model grants/tmpDocumentation
🤖 Generated with Claude Code