Repository navigation
Commit 7b942ca
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 395a394 commit 7b942ca
10 files changed
Lines changed: 670 additions & 63 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 | | |
| |||
613 | 614 | | |
614 | 615 | | |
615 | 616 | | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
616 | 648 | | |
617 | 649 | | |
618 | 650 | | |
| |||
| 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 | | |
| |||
405 | 417 | | |
406 | 418 | | |
407 | 419 | | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
408 | 424 | | |
409 | 425 | | |
410 | 426 | | |
| |||
433 | 449 | | |
434 | 450 | | |
435 | 451 | | |
| 452 | + | |
436 | 453 | | |
437 | 454 | | |
438 | 455 | | |
| |||
459 | 476 | | |
460 | 477 | | |
461 | 478 | | |
| 479 | + | |
462 | 480 | | |
463 | 481 | | |
464 | 482 | | |
| |||
511 | 529 | | |
512 | 530 | | |
513 | 531 | | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
514 | 551 | | |
515 | 552 | | |
516 | 553 | | |
| |||
529 | 566 | | |
530 | 567 | | |
531 | 568 | | |
532 | | - | |
533 | | - | |
534 | | - | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
535 | 572 | | |
536 | 573 | | |
537 | 574 | | |
| |||
587 | 624 | | |
588 | 625 | | |
589 | 626 | | |
590 | | - | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
591 | 633 | | |
592 | 634 | | |
593 | 635 | | |
| |||
746 | 788 | | |
747 | 789 | | |
748 | 790 | | |
749 | | - | |
| 791 | + | |
750 | 792 | | |
751 | 793 | | |
752 | 794 | | |
753 | 795 | | |
| 796 | + | |
754 | 797 | | |
755 | 798 | | |
756 | 799 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
| |||
82 | 87 | | |
83 | 88 | | |
84 | 89 | | |
| 90 | + | |
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
| |||
254 | 260 | | |
255 | 261 | | |
256 | 262 | | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 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 | + | |
257 | 299 | | |
258 | 300 | | |
259 | 301 | | |
| |||
971 | 1013 | | |
972 | 1014 | | |
973 | 1015 | | |
974 | | - | |
975 | | - | |
976 | | - | |
977 | | - | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
978 | 1020 | | |
979 | | - | |
980 | | - | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
981 | 1032 | | |
982 | 1033 | | |
983 | 1034 | | |
| |||
1168 | 1219 | | |
1169 | 1220 | | |
1170 | 1221 | | |
1171 | | - | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | | - | |
1176 | | - | |
1177 | | - | |
1178 | | - | |
1179 | | - | |
1180 | | - | |
1181 | | - | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
1182 | 1234 | | |
1183 | | - | |
1184 | | - | |
1185 | | - | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
1186 | 1247 | | |
1187 | 1248 | | |
1188 | 1249 | | |
| |||
| 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