Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
1850e14
feat: US-001 - Remove dangerous builtins from DEFAULT_ALLOWED_NODE_BU…
NathanFlurry Apr 5, 2026
9508f92
feat: US-002 - Block Pyodide import js FFI sandbox escape
NathanFlurry Apr 5, 2026
20cc371
feat: US-003 - Enable Node.js --permission flag for Pyodide host process
NathanFlurry Apr 5, 2026
8424275
feat: US-004 - Scrub AGENT_OS_* environment variables from guest proc…
NathanFlurry Apr 5, 2026
6b2ad37
feat: US-005 - Virtualize process.cwd() to return kernel CWD
NathanFlurry Apr 5, 2026
8007194
feat: [US-006] - Virtualize process.execPath, argv[0], pid, ppid, get…
NathanFlurry Apr 5, 2026
4dab9cd
feat: US-007 - Intercept process signal handlers and deny native addo…
NathanFlurry Apr 5, 2026
e5701b3
feat: [US-008] - [Fix exec/execSync bypass in wrapChildProcessModule]
NathanFlurry Apr 5, 2026
830dce2
feat: [US-009] - [Translate host paths in require.resolve() and error…
NathanFlurry Apr 5, 2026
98701dc
feat: [US-010] - Replace in-band control message parsing with side ch…
NathanFlurry Apr 5, 2026
5cc43e8
feat: US-011 - Make ALLOWED_NODE_BUILTINS configurable from AgentOsOp…
NathanFlurry Apr 5, 2026
d9650a2
feat: US-012 - Build SharedArrayBuffer RPC bridge for synchronous ker…
NathanFlurry Apr 5, 2026
51b4f32
feat: [US-013] - [Port os module polyfill with kernel-provided values]
NathanFlurry Apr 5, 2026
f6abdc1
feat: [US-014] - [Port fs.promises async methods through kernel VFS RPC]
NathanFlurry Apr 5, 2026
b132248
feat: US-015 - Port fs sync methods through SharedArrayBuffer bridge
NathanFlurry Apr 5, 2026
be3f7c8
feat: [US-016] - [Port fs fd-based operations and streams through ker…
NathanFlurry Apr 5, 2026
ad3600b
feat: US-017 - Port child_process polyfill through kernel process table
NathanFlurry Apr 5, 2026
68b7d90
feat: [US-018] - [Port net.Socket polyfill via kernel socket table]
NathanFlurry Apr 5, 2026
7e88fa2
feat: [US-019] - [Port net.createServer polyfill via kernel socket li…
NathanFlurry Apr 5, 2026
e58c43e
feat: [Story ID] - [Story Title]
NathanFlurry Apr 5, 2026
9ba730a
feat: US-021 - Port dns polyfill via kernel DNS resolver
NathanFlurry Apr 5, 2026
55466ea
feat: [US-022] - [Port tls polyfill via kernel networking]
NathanFlurry Apr 5, 2026
69af54e
feat: [US-023] - [Port http/https/http2 on top of polyfilled net and …
NathanFlurry Apr 5, 2026
7827f0a
feat: US-027 - Wire options.permissions through to sidecar bridge
NathanFlurry Apr 5, 2026
1bd3e40
feat: [US-028] - [Validate CWD within sandbox root]
NathanFlurry Apr 5, 2026
230b8b9
feat: US-024 - Add Drop impl, timeout, and kill for PythonExecution
NathanFlurry Apr 5, 2026
581694d
feat: [US-025] - [Add Python spawn_waiter thread and bounded stdout/s…
NathanFlurry Apr 5, 2026
5a79389
feat: US-030 - Fix --allow-child-process unconditional escalation
NathanFlurry Apr 5, 2026
a79eea5
feat: [US-031] - [Resolve symlinks before permission checks and fix l…
NathanFlurry Apr 5, 2026
86c63ff
feat: US-038 - Fix plugin SSRF and add mount permission checks
NathanFlurry Apr 5, 2026
a82f962
feat: [US-041] - Enforce WASM permission tiers
NathanFlurry Apr 5, 2026
b9af723
feat: [US-033] - [Add filesystem size and inode limits to ResourceLim…
NathanFlurry Apr 5, 2026
eef777c
feat: [US-034] - [Add WASM fuel/memory limits and socket/connection l…
NathanFlurry Apr 5, 2026
5679e2d
feat: US-029 - Per-VM import cache paths to prevent cross-VM poisoning
NathanFlurry Apr 5, 2026
cf9ace7
feat: [US-032] - [Fix host PID reuse in signal_runtime_process and du…
NathanFlurry Apr 5, 2026
94ed791
feat: US-026 - Add VFS RPC path validation and sync bridge timeout
NathanFlurry Apr 5, 2026
b5631d0
feat: [Story ID] - [Story Title]
NathanFlurry Apr 5, 2026
5fe52c5
feat: US-040 - Fix hardenProperty fallback and zombie reaper exit cod…
NathanFlurry Apr 5, 2026
9ab1ac7
feat: US-043 - Low-priority robustness fixes
NathanFlurry Apr 5, 2026
78ba05b
feat: US-035 - Fix Pyodide hardening order and VFS RPC queue bounds
NathanFlurry Apr 5, 2026
f061961
feat: [US-036] - [Add missing Pyodide integration tests]
NathanFlurry Apr 5, 2026
73d6595
feat: US-042 - Extract Pyodide embedded JS and deduplicate cross-runt…
NathanFlurry Apr 5, 2026
7e215f4
feat: US-037 - Add security audit logging
NathanFlurry Apr 5, 2026
d792860
feat: US-044 - Implement kernel-controlled DNS resolver instead of ho…
NathanFlurry Apr 5, 2026
3575031
feat: [US-045] - [Implement real getConnections() and enforce server …
NathanFlurry Apr 5, 2026
dcf9cdd
feat: US-046 - Add Unix domain socket support to net polyfill
NathanFlurry Apr 5, 2026
deb0002
feat: US-047 - Add external networking CI tests
NathanFlurry Apr 5, 2026
6796500
feat: US-048 - Audit and verify network permission checks on socket o…
NathanFlurry Apr 5, 2026
45be628
feat: US-049 - Block remaining process properties that leak host info…
NathanFlurry Apr 5, 2026
1e38746
feat: [US-050] - [Prevent CJS require() from resolving host node_modu…
NathanFlurry Apr 5, 2026
43a767c
feat: [US-051] - [Fix os polyfill fallbacks that default to host values]
NathanFlurry Apr 5, 2026
652383c
feat: [US-052] - [Strip AGENT_OS_* variables from child process spawn…
NathanFlurry Apr 5, 2026
8e76918
feat: US-053 - Add permission check to unmount_filesystem
NathanFlurry Apr 5, 2026
cf9b51b
feat: US-054 - Change KernelVmConfig default permissions to deny-all
NathanFlurry Apr 5, 2026
2c7b589
feat: US-055 - Add SSRF protection with private IP address validation…
NathanFlurry Apr 5, 2026
90e9326
feat: US-056 - Add per-operation size limits for pread, fd_write, env…
NathanFlurry Apr 5, 2026
5647fec
feat: US-057 - Protect RPC channel FDs from guest manipulation
NathanFlurry Apr 5, 2026
0fcea3f
feat: US-058 - Add WASM module parser size limits and DoS protection
NathanFlurry Apr 5, 2026
6a53adf
feat: US-059 - Implement SIGCHLD delivery on child process exit
NathanFlurry Apr 5, 2026
e7570f7
feat: [US-060] - Implement SIGPIPE delivery on broken pipe write
NathanFlurry Apr 5, 2026
d12a659
feat: US-061 - Implement waitpid flags: WNOHANG, WUNTRACED, WCONTINUE…
NathanFlurry Apr 5, 2026
286e9f2
feat: US-062 - Implement advisory file locking (flock)
NathanFlurry Apr 5, 2026
c31979b
feat: [US-063] - [Implement O_CREAT|O_EXCL atomicity and O_APPEND ato…
NathanFlurry Apr 5, 2026
bcb7438
feat: US-064 - Implement non-blocking I/O (O_NONBLOCK) and PIPE_BUF a…
NathanFlurry Apr 5, 2026
7b90bc4
feat: [US-065] - [Implement select/poll for FD multiplexing]
NathanFlurry Apr 5, 2026
cbf3ac2
feat: US-066 - Implement process reparenting to init and fix process …
NathanFlurry Apr 5, 2026
d433263
feat: US-067 - Implement OverlayFS opaque directories and persistent …
NathanFlurry Apr 5, 2026
0a70846
feat: US-068 - Fix overlay hardlink copy-up, rmdir ENOTEMPTY, and cro…
NathanFlurry Apr 5, 2026
37db42d
feat: US-069 - Implement /proc filesystem with essential entries
NathanFlurry Apr 5, 2026
c93996b
feat: [US-070] - [Fix /dev/zero and /dev/urandom to return requested …
NathanFlurry Apr 5, 2026
4b59ff8
feat: US-071 - Implement shebang parsing for script execution
NathanFlurry Apr 5, 2026
1809aa2
feat: US-072 - Add JavaScript sync RPC timeout and response backpressure
NathanFlurry Apr 5, 2026
217229e
feat: [US-073] - [Add network port binding restrictions and VM networ…
NathanFlurry Apr 5, 2026
c1a3e95
feat: US-074 - Fix guestVisiblePathFromHostPath to never fall back to…
NathanFlurry Apr 5, 2026
a36e869
feat: US-075 - Implement SIGSTOP/SIGCONT job control and SIGWINCH for…
NathanFlurry Apr 5, 2026
dc0c9d0
feat: [US-076] - [Add missing errno checks: EISDIR, ENOTDIR, ENAMETOO…
NathanFlurry Apr 5, 2026
980dc9f
feat: US-077 - Implement umask and stat blocks/dev fields
NathanFlurry Apr 5, 2026
a3d950d
feat: [US-078] - [Add WASM module path symlink TOCTOU protection and …
NathanFlurry Apr 5, 2026
55ef3a7
feat: US-079 - Add Pyodide process memory and execution timeout limits
NathanFlurry Apr 5, 2026
4eba681
feat: US-080 - Enforce WASM runtime memory limits and pass fuel to No…
NathanFlurry Apr 5, 2026
c4ce778
feat: US-081 - Make WASI conditional based on permission tier
NathanFlurry Apr 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
549 changes: 549 additions & 0 deletions .agent/notes/kernel-security-audit-2026-04-05.md

Large diffs are not rendered by default.

310 changes: 310 additions & 0 deletions .agent/todo/node-isolation-gaps.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ jobs:
- run: pnpm check-types
- run: pnpm build
- run: pnpm test
env:
AGENTOS_E2E_NETWORK: '1'
1 change: 1 addition & 0 deletions AGENTS.md
127 changes: 124 additions & 3 deletions CLAUDE.md

Large diffs are not rendered by default.

Loading
Loading