Repository navigation
Commit 6943fde
committed
improvement(sandbox): verify the workbench CLI inside each command's launch
Every warm workbench call ran a separate CLI integrity check command (ownership
write, launch, stop receipt, settle) before the user's command, about a third of
a warm call's fixed cost.
- The session supervisor's PID 1 now runs the same check as the ordinary user,
after recording itself and before starting the command; a mismatch starts
nothing and is reported on the stop receipt the call already fetches
- A refused launch is repaired under the session lock and relaunched once; a
second refusal fails the call
- The check runs with an isolated interpreter instead of the user's login shell,
never follows links or blocks on non-regular files, and treats an unreadable
artifact as stale so repair overwrites it
- A reused machine runs no separate check command; a new machine still installs
the CLI first
- Gated live test against real E2B covers refusal, repair, hooks, FIFOs, Stop
during a slow check, and the warm-call cost1 parent 3fa33cf commit 6943fde
10 files changed
Lines changed: 675 additions & 65 deletions
File tree
- apps/sim/lib/execution/remote-sandbox
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
646 | 677 | | |
647 | 678 | | |
648 | 679 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
58 | 62 | | |
59 | 63 | | |
60 | 64 | | |
| |||
82 | 86 | | |
83 | 87 | | |
84 | 88 | | |
| 89 | + | |
85 | 90 | | |
86 | 91 | | |
87 | 92 | | |
| |||
319 | 324 | | |
320 | 325 | | |
321 | 326 | | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
322 | 333 | | |
323 | 334 | | |
324 | 335 | | |
325 | 336 | | |
326 | | - | |
| 337 | + | |
327 | 338 | | |
328 | 339 | | |
329 | 340 | | |
| |||
335 | 346 | | |
336 | 347 | | |
337 | 348 | | |
| 349 | + | |
338 | 350 | | |
339 | 351 | | |
340 | 352 | | |
| |||
413 | 425 | | |
414 | 426 | | |
415 | 427 | | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
416 | 432 | | |
417 | 433 | | |
418 | 434 | | |
| |||
441 | 457 | | |
442 | 458 | | |
443 | 459 | | |
| 460 | + | |
444 | 461 | | |
445 | 462 | | |
446 | 463 | | |
| |||
467 | 484 | | |
468 | 485 | | |
469 | 486 | | |
| 487 | + | |
470 | 488 | | |
471 | 489 | | |
472 | 490 | | |
| |||
519 | 537 | | |
520 | 538 | | |
521 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
522 | 559 | | |
523 | 560 | | |
524 | 561 | | |
| |||
537 | 574 | | |
538 | 575 | | |
539 | 576 | | |
540 | | - | |
541 | | - | |
542 | | - | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
543 | 580 | | |
544 | 581 | | |
545 | 582 | | |
| |||
595 | 632 | | |
596 | 633 | | |
597 | 634 | | |
598 | | - | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
599 | 641 | | |
600 | 642 | | |
601 | 643 | | |
| |||
753 | 795 | | |
754 | 796 | | |
755 | 797 | | |
756 | | - | |
| 798 | + | |
757 | 799 | | |
758 | 800 | | |
759 | 801 | | |
760 | 802 | | |
| 803 | + | |
761 | 804 | | |
762 | 805 | | |
763 | 806 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
64 | 69 | | |
65 | 70 | | |
66 | 71 | | |
| |||
87 | 92 | | |
88 | 93 | | |
89 | 94 | | |
| 95 | + | |
90 | 96 | | |
91 | 97 | | |
92 | 98 | | |
| |||
259 | 265 | | |
260 | 266 | | |
261 | 267 | | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
262 | 304 | | |
263 | 305 | | |
264 | 306 | | |
| |||
1008 | 1050 | | |
1009 | 1051 | | |
1010 | 1052 | | |
1011 | | - | |
| 1053 | + | |
1012 | 1054 | | |
1013 | 1055 | | |
1014 | | - | |
1015 | | - | |
1016 | | - | |
1017 | | - | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
1018 | 1060 | | |
1019 | | - | |
1020 | | - | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
1021 | 1074 | | |
1022 | 1075 | | |
1023 | 1076 | | |
| |||
1212 | 1265 | | |
1213 | 1266 | | |
1214 | 1267 | | |
1215 | | - | |
| 1268 | + | |
1216 | 1269 | | |
1217 | 1270 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
1229 | 1283 | | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
1233 | 1298 | | |
1234 | 1299 | | |
1235 | 1300 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
0 commit comments