nawabari 0.7.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +264 -29
- package/dist/cli-command-registry.d.ts +50 -0
- package/dist/cli-command-registry.js +509 -0
- package/dist/cli-command-registry.js.map +1 -0
- package/dist/cli.d.ts +18 -0
- package/dist/cli.js +302 -583
- package/dist/cli.js.map +1 -1
- package/dist/contract.d.ts +6 -0
- package/dist/contract.js +296 -192
- package/dist/contract.js.map +1 -1
- package/dist/domain/cgroups-v2.d.ts +77 -0
- package/dist/domain/cgroups-v2.js +434 -0
- package/dist/domain/cgroups-v2.js.map +1 -0
- package/dist/domain/doctor.d.ts +4 -1
- package/dist/domain/doctor.js +64 -13
- package/dist/domain/doctor.js.map +1 -1
- package/dist/domain/errors.d.ts +1 -1
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/landlock.d.ts +55 -0
- package/dist/domain/landlock.js +279 -0
- package/dist/domain/landlock.js.map +1 -0
- package/dist/domain/runtime.d.ts +12 -0
- package/dist/domain/runtime.js +50 -0
- package/dist/domain/runtime.js.map +1 -0
- package/dist/domain/sandbox-launcher.d.ts +26 -0
- package/dist/domain/sandbox-launcher.js +312 -23
- package/dist/domain/sandbox-launcher.js.map +1 -1
- package/dist/domain/sandbox-seccomp.d.ts +46 -0
- package/dist/domain/sandbox-seccomp.js +302 -0
- package/dist/domain/sandbox-seccomp.js.map +1 -0
- package/dist/domain/sandbox.d.ts +45 -1
- package/dist/domain/sandbox.js +176 -25
- package/dist/domain/sandbox.js.map +1 -1
- package/dist/domain/session-backend.d.ts +4 -1
- package/dist/domain/session-backend.js +256 -3
- package/dist/domain/session-backend.js.map +1 -1
- package/dist/domain/session.d.ts +207 -3
- package/dist/domain/session.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/failure-code-vocabulary.d.ts +20 -0
- package/dist/failure-code-vocabulary.js +216 -0
- package/dist/failure-code-vocabulary.js.map +1 -0
- package/dist/git.js +92 -6
- package/dist/git.js.map +1 -1
- package/dist/operation-authorization.d.ts +1 -1
- package/dist/product-state-manifest.d.ts +152 -0
- package/dist/product-state-manifest.js +240 -0
- package/dist/product-state-manifest.js.map +1 -0
- package/dist/public-contract.d.ts +25 -0
- package/dist/public-contract.js +29 -0
- package/dist/public-contract.js.map +1 -0
- package/dist/public-state.d.ts +75 -0
- package/dist/public-state.js +60 -0
- package/dist/public-state.js.map +1 -0
- package/dist/registry/lock.d.ts +8 -0
- package/dist/registry/lock.js +38 -20
- package/dist/registry/lock.js.map +1 -1
- package/dist/repository-evidence.d.ts +16 -0
- package/dist/repository-evidence.js.map +1 -1
- package/dist/resource-claims.d.ts +2 -2
- package/dist/resource-claims.js +96 -27
- package/dist/resource-claims.js.map +1 -1
- package/dist/session-lifecycle-actions.d.ts +64 -0
- package/dist/session-lifecycle-actions.js +117 -0
- package/dist/session-lifecycle-actions.js.map +1 -0
- package/dist/session-lifecycle-classification.d.ts +120 -0
- package/dist/session-lifecycle-classification.js +88 -0
- package/dist/session-lifecycle-classification.js.map +1 -0
- package/dist/session-registry.d.ts +210 -2
- package/dist/session-registry.js +1330 -87
- package/dist/session-registry.js.map +1 -1
- package/dist/state/index.d.ts +5 -0
- package/dist/state/index.js +4 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/session/actors.d.ts +71 -0
- package/dist/state/session/actors.js +259 -0
- package/dist/state/session/actors.js.map +1 -0
- package/dist/state/session/guards.d.ts +25 -0
- package/dist/state/session/guards.js +108 -0
- package/dist/state/session/guards.js.map +1 -0
- package/dist/state/session/index.d.ts +6 -0
- package/dist/state/session/index.js +5 -0
- package/dist/state/session/index.js.map +1 -0
- package/dist/state/session/machine.d.ts +185 -0
- package/dist/state/session/machine.js +408 -0
- package/dist/state/session/machine.js.map +1 -0
- package/dist/state/session/types.d.ts +94 -0
- package/dist/state/session/types.js +14 -0
- package/dist/state/session/types.js.map +1 -0
- package/package.json +46 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-launcher.js","sourceRoot":"","sources":["../../src/domain/sandbox-launcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandbox-launcher.js","sourceRoot":"","sources":["../../src/domain/sandbox-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type DomainResult } from "./errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* The seccomp policy is deliberately a small deny-list. Development tools
|
|
4
|
+
* need a broad syscall surface (in particular for process creation and file
|
|
5
|
+
* watching), so the profile blocks only operations that would extend the
|
|
6
|
+
* protected topology or expose host-wide kernel/control-plane authority.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SANDBOX_SECCOMP_PROFILE_ID: "nawabari.seccomp.v1";
|
|
9
|
+
export declare const SANDBOX_SECCOMP_PROFILE_VERSION: 1;
|
|
10
|
+
export declare const SANDBOX_SECCOMP_DEFAULT_ACTION: "allow";
|
|
11
|
+
export declare const SANDBOX_SECCOMP_DENIAL_ACTION: "errno:EPERM";
|
|
12
|
+
export declare const SANDBOX_SECCOMP_DENIED_SYSCALLS: readonly ["acct", "add_key", "bpf", "delete_module", "fanotify_init", "fsconfig", "fsmount", "fsopen", "fspick", "init_module", "kexec_file_load", "kexec_load", "keyctl", "mount", "mount_setattr", "move_mount", "open_by_handle_at", "perf_event_open", "pivot_root", "process_vm_readv", "process_vm_writev", "ptrace", "quotactl", "quotactl_fd", "reboot", "request_key", "setns", "swapon", "swapoff", "syslog", "umount2", "unshare", "userfaultfd"];
|
|
13
|
+
export declare const SANDBOX_SECCOMP_PROFILE: Readonly<{
|
|
14
|
+
id: "nawabari.seccomp.v1";
|
|
15
|
+
version: 1;
|
|
16
|
+
default_action: "allow";
|
|
17
|
+
denial_action: "errno:EPERM";
|
|
18
|
+
denied_syscalls: readonly ["acct", "add_key", "bpf", "delete_module", "fanotify_init", "fsconfig", "fsmount", "fsopen", "fspick", "init_module", "kexec_file_load", "kexec_load", "keyctl", "mount", "mount_setattr", "move_mount", "open_by_handle_at", "perf_event_open", "pivot_root", "process_vm_readv", "process_vm_writev", "ptrace", "quotactl", "quotactl_fd", "reboot", "request_key", "setns", "swapon", "swapoff", "syslog", "umount2", "unshare", "userfaultfd"];
|
|
19
|
+
}>;
|
|
20
|
+
export type SandboxSeccompProfileMetadata = {
|
|
21
|
+
readonly id: typeof SANDBOX_SECCOMP_PROFILE_ID;
|
|
22
|
+
readonly version: typeof SANDBOX_SECCOMP_PROFILE_VERSION;
|
|
23
|
+
readonly default_action: typeof SANDBOX_SECCOMP_DEFAULT_ACTION;
|
|
24
|
+
readonly denial_action: typeof SANDBOX_SECCOMP_DENIAL_ACTION;
|
|
25
|
+
readonly denied_syscalls: readonly string[];
|
|
26
|
+
readonly architecture: string;
|
|
27
|
+
};
|
|
28
|
+
export declare const SANDBOX_CAPABILITY_BASELINE_ID: "nawabari.capabilities.v1";
|
|
29
|
+
export declare const SANDBOX_CAPABILITY_BASELINE_VERSION: 1;
|
|
30
|
+
export declare const SANDBOX_AMBIENT_CAPABILITIES: readonly string[];
|
|
31
|
+
export type SandboxCapabilityBaseline = {
|
|
32
|
+
readonly id: typeof SANDBOX_CAPABILITY_BASELINE_ID;
|
|
33
|
+
readonly version: typeof SANDBOX_CAPABILITY_BASELINE_VERSION;
|
|
34
|
+
readonly ambient_capabilities: readonly string[];
|
|
35
|
+
readonly enforcement: "bubblewrap --cap-drop ALL";
|
|
36
|
+
};
|
|
37
|
+
/** Metadata is part of the sandbox capability contract and is JSON-safe. */
|
|
38
|
+
export declare function sandboxSeccompProfileMetadata(architecture?: NodeJS.Architecture): SandboxSeccompProfileMetadata;
|
|
39
|
+
export declare const sandboxCapabilityBaseline: SandboxCapabilityBaseline;
|
|
40
|
+
export declare function sandboxSeccompArchitectureSupported(architecture?: NodeJS.Architecture): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Build the raw sock_filter array expected by bubblewrap's `--seccomp FD`.
|
|
43
|
+
* It intentionally uses ERRNO/EPERM for policy denials: callers get a
|
|
44
|
+
* deterministic, bounded failure and normal subprocess trees keep running.
|
|
45
|
+
*/
|
|
46
|
+
export declare function compileSandboxSeccompProfile(architecture?: string): DomainResult<Uint8Array>;
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { DomainError, failure, success } from "./errors.js";
|
|
3
|
+
/**
|
|
4
|
+
* The seccomp policy is deliberately a small deny-list. Development tools
|
|
5
|
+
* need a broad syscall surface (in particular for process creation and file
|
|
6
|
+
* watching), so the profile blocks only operations that would extend the
|
|
7
|
+
* protected topology or expose host-wide kernel/control-plane authority.
|
|
8
|
+
*/
|
|
9
|
+
export const SANDBOX_SECCOMP_PROFILE_ID = "nawabari.seccomp.v1";
|
|
10
|
+
export const SANDBOX_SECCOMP_PROFILE_VERSION = 1;
|
|
11
|
+
export const SANDBOX_SECCOMP_DEFAULT_ACTION = "allow";
|
|
12
|
+
export const SANDBOX_SECCOMP_DENIAL_ACTION = "errno:EPERM";
|
|
13
|
+
export const SANDBOX_SECCOMP_DENIED_SYSCALLS = Object.freeze([
|
|
14
|
+
"acct",
|
|
15
|
+
"add_key",
|
|
16
|
+
"bpf",
|
|
17
|
+
"delete_module",
|
|
18
|
+
"fanotify_init",
|
|
19
|
+
"fsconfig",
|
|
20
|
+
"fsmount",
|
|
21
|
+
"fsopen",
|
|
22
|
+
"fspick",
|
|
23
|
+
"init_module",
|
|
24
|
+
"kexec_file_load",
|
|
25
|
+
"kexec_load",
|
|
26
|
+
"keyctl",
|
|
27
|
+
"mount",
|
|
28
|
+
"mount_setattr",
|
|
29
|
+
"move_mount",
|
|
30
|
+
"open_by_handle_at",
|
|
31
|
+
"perf_event_open",
|
|
32
|
+
"pivot_root",
|
|
33
|
+
"process_vm_readv",
|
|
34
|
+
"process_vm_writev",
|
|
35
|
+
"ptrace",
|
|
36
|
+
"quotactl",
|
|
37
|
+
"quotactl_fd",
|
|
38
|
+
"reboot",
|
|
39
|
+
"request_key",
|
|
40
|
+
"setns",
|
|
41
|
+
"swapon",
|
|
42
|
+
"swapoff",
|
|
43
|
+
"syslog",
|
|
44
|
+
"umount2",
|
|
45
|
+
"unshare",
|
|
46
|
+
"userfaultfd",
|
|
47
|
+
]);
|
|
48
|
+
export const SANDBOX_SECCOMP_PROFILE = Object.freeze({
|
|
49
|
+
id: SANDBOX_SECCOMP_PROFILE_ID,
|
|
50
|
+
version: SANDBOX_SECCOMP_PROFILE_VERSION,
|
|
51
|
+
default_action: SANDBOX_SECCOMP_DEFAULT_ACTION,
|
|
52
|
+
denial_action: SANDBOX_SECCOMP_DENIAL_ACTION,
|
|
53
|
+
denied_syscalls: SANDBOX_SECCOMP_DENIED_SYSCALLS,
|
|
54
|
+
});
|
|
55
|
+
export const SANDBOX_CAPABILITY_BASELINE_ID = "nawabari.capabilities.v1";
|
|
56
|
+
export const SANDBOX_CAPABILITY_BASELINE_VERSION = 1;
|
|
57
|
+
export const SANDBOX_AMBIENT_CAPABILITIES = Object.freeze([]);
|
|
58
|
+
/** Metadata is part of the sandbox capability contract and is JSON-safe. */
|
|
59
|
+
export function sandboxSeccompProfileMetadata(architecture = process.arch) {
|
|
60
|
+
return {
|
|
61
|
+
id: SANDBOX_SECCOMP_PROFILE_ID,
|
|
62
|
+
version: SANDBOX_SECCOMP_PROFILE_VERSION,
|
|
63
|
+
default_action: SANDBOX_SECCOMP_DEFAULT_ACTION,
|
|
64
|
+
denial_action: SANDBOX_SECCOMP_DENIAL_ACTION,
|
|
65
|
+
denied_syscalls: [...SANDBOX_SECCOMP_DENIED_SYSCALLS],
|
|
66
|
+
architecture,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export const sandboxCapabilityBaseline = Object.freeze({
|
|
70
|
+
id: SANDBOX_CAPABILITY_BASELINE_ID,
|
|
71
|
+
version: SANDBOX_CAPABILITY_BASELINE_VERSION,
|
|
72
|
+
ambient_capabilities: SANDBOX_AMBIENT_CAPABILITIES,
|
|
73
|
+
enforcement: "bubblewrap --cap-drop ALL",
|
|
74
|
+
});
|
|
75
|
+
const BPF_LD = 0x00;
|
|
76
|
+
const BPF_W = 0x00;
|
|
77
|
+
const BPF_ABS = 0x20;
|
|
78
|
+
const BPF_JMP = 0x05;
|
|
79
|
+
const BPF_JEQ = 0x10;
|
|
80
|
+
const BPF_K = 0x00;
|
|
81
|
+
const BPF_RET = 0x06;
|
|
82
|
+
const SECCOMP_RET_KILL_PROCESS = 0x80000000;
|
|
83
|
+
const SECCOMP_RET_ERRNO = 0x00050000;
|
|
84
|
+
const SECCOMP_RET_ALLOW = 0x7fff0000;
|
|
85
|
+
const EPERM = 1;
|
|
86
|
+
const SECCOMP_DATA_NR_OFFSET = 0;
|
|
87
|
+
const SECCOMP_DATA_ARCH_OFFSET = 4;
|
|
88
|
+
const AUDIT_ARCH = Object.freeze({
|
|
89
|
+
x64: 0xc000003e,
|
|
90
|
+
arm64: 0xc00000b7,
|
|
91
|
+
arm: 0x40000028,
|
|
92
|
+
ia32: 0x40000003,
|
|
93
|
+
riscv64: 0xc00000f3,
|
|
94
|
+
});
|
|
95
|
+
/** Syscall numbers needed by the compatibility profile on supported hosts. */
|
|
96
|
+
const SYSCALLS = Object.freeze({
|
|
97
|
+
// Linux arch/x86/entry/syscalls/syscall_64.tbl.
|
|
98
|
+
x64: Object.freeze({
|
|
99
|
+
acct: 163,
|
|
100
|
+
add_key: 248,
|
|
101
|
+
bpf: 321,
|
|
102
|
+
delete_module: 176,
|
|
103
|
+
fanotify_init: 300,
|
|
104
|
+
fsconfig: 431,
|
|
105
|
+
fsmount: 432,
|
|
106
|
+
fsopen: 430,
|
|
107
|
+
fspick: 433,
|
|
108
|
+
init_module: 175,
|
|
109
|
+
kexec_file_load: 320,
|
|
110
|
+
kexec_load: 246,
|
|
111
|
+
keyctl: 250,
|
|
112
|
+
mount: 165,
|
|
113
|
+
mount_setattr: 442,
|
|
114
|
+
move_mount: 429,
|
|
115
|
+
open_by_handle_at: 304,
|
|
116
|
+
perf_event_open: 298,
|
|
117
|
+
pivot_root: 155,
|
|
118
|
+
process_vm_readv: 310,
|
|
119
|
+
process_vm_writev: 311,
|
|
120
|
+
ptrace: 101,
|
|
121
|
+
quotactl: 179,
|
|
122
|
+
quotactl_fd: 443,
|
|
123
|
+
reboot: 169,
|
|
124
|
+
request_key: 249,
|
|
125
|
+
setns: 308,
|
|
126
|
+
swapon: 167,
|
|
127
|
+
swapoff: 168,
|
|
128
|
+
syslog: 103,
|
|
129
|
+
umount2: 166,
|
|
130
|
+
unshare: 272,
|
|
131
|
+
userfaultfd: 323,
|
|
132
|
+
}),
|
|
133
|
+
// Linux include/uapi/asm-generic/unistd.h.
|
|
134
|
+
arm64: Object.freeze({
|
|
135
|
+
acct: 89,
|
|
136
|
+
add_key: 217,
|
|
137
|
+
bpf: 280,
|
|
138
|
+
delete_module: 106,
|
|
139
|
+
fanotify_init: 262,
|
|
140
|
+
fsconfig: 431,
|
|
141
|
+
fsmount: 432,
|
|
142
|
+
fsopen: 430,
|
|
143
|
+
fspick: 433,
|
|
144
|
+
init_module: 105,
|
|
145
|
+
kexec_file_load: 294,
|
|
146
|
+
kexec_load: 104,
|
|
147
|
+
keyctl: 219,
|
|
148
|
+
mount: 40,
|
|
149
|
+
mount_setattr: 442,
|
|
150
|
+
move_mount: 429,
|
|
151
|
+
open_by_handle_at: 265,
|
|
152
|
+
perf_event_open: 241,
|
|
153
|
+
pivot_root: 41,
|
|
154
|
+
process_vm_readv: 270,
|
|
155
|
+
process_vm_writev: 271,
|
|
156
|
+
ptrace: 117,
|
|
157
|
+
quotactl: 60,
|
|
158
|
+
quotactl_fd: 443,
|
|
159
|
+
reboot: 142,
|
|
160
|
+
request_key: 218,
|
|
161
|
+
setns: 268,
|
|
162
|
+
swapon: 224,
|
|
163
|
+
swapoff: 225,
|
|
164
|
+
syslog: 116,
|
|
165
|
+
umount2: 39,
|
|
166
|
+
unshare: 97,
|
|
167
|
+
userfaultfd: 282,
|
|
168
|
+
}),
|
|
169
|
+
// Linux arch/arm/tools/syscall.tbl (EABI).
|
|
170
|
+
arm: Object.freeze({
|
|
171
|
+
acct: 51,
|
|
172
|
+
add_key: 309,
|
|
173
|
+
bpf: 386,
|
|
174
|
+
delete_module: 129,
|
|
175
|
+
fanotify_init: 367,
|
|
176
|
+
fsconfig: 431,
|
|
177
|
+
fsmount: 432,
|
|
178
|
+
fsopen: 430,
|
|
179
|
+
fspick: 433,
|
|
180
|
+
init_module: 128,
|
|
181
|
+
kexec_file_load: 401,
|
|
182
|
+
kexec_load: 347,
|
|
183
|
+
keyctl: 311,
|
|
184
|
+
mount: 21,
|
|
185
|
+
mount_setattr: 442,
|
|
186
|
+
move_mount: 429,
|
|
187
|
+
open_by_handle_at: 371,
|
|
188
|
+
perf_event_open: 364,
|
|
189
|
+
pivot_root: 218,
|
|
190
|
+
process_vm_readv: 376,
|
|
191
|
+
process_vm_writev: 377,
|
|
192
|
+
ptrace: 26,
|
|
193
|
+
quotactl: 131,
|
|
194
|
+
quotactl_fd: 443,
|
|
195
|
+
reboot: 88,
|
|
196
|
+
request_key: 310,
|
|
197
|
+
setns: 375,
|
|
198
|
+
swapon: 87,
|
|
199
|
+
swapoff: 115,
|
|
200
|
+
syslog: 103,
|
|
201
|
+
umount2: 52,
|
|
202
|
+
unshare: 337,
|
|
203
|
+
userfaultfd: 388,
|
|
204
|
+
}),
|
|
205
|
+
// Linux include/uapi/asm-generic/unistd.h.
|
|
206
|
+
riscv64: Object.freeze({
|
|
207
|
+
acct: 89,
|
|
208
|
+
add_key: 217,
|
|
209
|
+
bpf: 280,
|
|
210
|
+
delete_module: 106,
|
|
211
|
+
fanotify_init: 262,
|
|
212
|
+
fsconfig: 431,
|
|
213
|
+
fsmount: 432,
|
|
214
|
+
fsopen: 430,
|
|
215
|
+
fspick: 433,
|
|
216
|
+
init_module: 105,
|
|
217
|
+
kexec_file_load: 294,
|
|
218
|
+
kexec_load: 104,
|
|
219
|
+
keyctl: 219,
|
|
220
|
+
mount: 40,
|
|
221
|
+
mount_setattr: 442,
|
|
222
|
+
move_mount: 429,
|
|
223
|
+
open_by_handle_at: 265,
|
|
224
|
+
perf_event_open: 241,
|
|
225
|
+
pivot_root: 41,
|
|
226
|
+
process_vm_readv: 270,
|
|
227
|
+
process_vm_writev: 271,
|
|
228
|
+
ptrace: 117,
|
|
229
|
+
quotactl: 60,
|
|
230
|
+
quotactl_fd: 443,
|
|
231
|
+
reboot: 142,
|
|
232
|
+
request_key: 218,
|
|
233
|
+
setns: 268,
|
|
234
|
+
swapon: 224,
|
|
235
|
+
swapoff: 225,
|
|
236
|
+
syslog: 116,
|
|
237
|
+
umount2: 39,
|
|
238
|
+
unshare: 97,
|
|
239
|
+
userfaultfd: 282,
|
|
240
|
+
}),
|
|
241
|
+
});
|
|
242
|
+
function statement(code, k) {
|
|
243
|
+
return { code, jt: 0, jf: 0, k };
|
|
244
|
+
}
|
|
245
|
+
function jumpIfEqual(k, jt, jf) {
|
|
246
|
+
return { code: BPF_JMP | BPF_JEQ | BPF_K, jt, jf, k };
|
|
247
|
+
}
|
|
248
|
+
function profileArchitecture(architecture) {
|
|
249
|
+
const audit = AUDIT_ARCH[architecture];
|
|
250
|
+
const syscalls = SYSCALLS[architecture];
|
|
251
|
+
return audit === undefined || syscalls === undefined ? null : { audit, syscalls };
|
|
252
|
+
}
|
|
253
|
+
export function sandboxSeccompArchitectureSupported(architecture = process.arch) {
|
|
254
|
+
return profileArchitecture(architecture) !== null;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Build the raw sock_filter array expected by bubblewrap's `--seccomp FD`.
|
|
258
|
+
* It intentionally uses ERRNO/EPERM for policy denials: callers get a
|
|
259
|
+
* deterministic, bounded failure and normal subprocess trees keep running.
|
|
260
|
+
*/
|
|
261
|
+
export function compileSandboxSeccompProfile(architecture = process.arch) {
|
|
262
|
+
const selected = profileArchitecture(architecture);
|
|
263
|
+
if (selected === null) {
|
|
264
|
+
return failure(new DomainError("SANDBOX_CAPABILITY_UNAVAILABLE", "The seccomp baseline has no compatible architecture profile.", {
|
|
265
|
+
profile_id: SANDBOX_SECCOMP_PROFILE_ID,
|
|
266
|
+
profile_version: SANDBOX_SECCOMP_PROFILE_VERSION,
|
|
267
|
+
architecture,
|
|
268
|
+
}));
|
|
269
|
+
}
|
|
270
|
+
const instructions = [
|
|
271
|
+
statement(BPF_LD | BPF_W | BPF_ABS, SECCOMP_DATA_ARCH_OFFSET),
|
|
272
|
+
jumpIfEqual(selected.audit, 1, 0),
|
|
273
|
+
statement(BPF_RET | BPF_K, SECCOMP_RET_KILL_PROCESS),
|
|
274
|
+
statement(BPF_LD | BPF_W | BPF_ABS, SECCOMP_DATA_NR_OFFSET),
|
|
275
|
+
];
|
|
276
|
+
for (const name of SANDBOX_SECCOMP_DENIED_SYSCALLS) {
|
|
277
|
+
const syscall = selected.syscalls[name];
|
|
278
|
+
if (syscall === null)
|
|
279
|
+
continue;
|
|
280
|
+
if (syscall === undefined || !Number.isSafeInteger(syscall) || syscall < 0 || syscall > 0xffffffff) {
|
|
281
|
+
return failure(new DomainError("SANDBOX_CAPABILITY_UNAVAILABLE", "The seccomp baseline contains an invalid architecture syscall mapping.", {
|
|
282
|
+
profile_id: SANDBOX_SECCOMP_PROFILE_ID,
|
|
283
|
+
profile_version: SANDBOX_SECCOMP_PROFILE_VERSION,
|
|
284
|
+
architecture,
|
|
285
|
+
syscall: name,
|
|
286
|
+
}));
|
|
287
|
+
}
|
|
288
|
+
instructions.push(jumpIfEqual(syscall, 0, 1), statement(BPF_RET | BPF_K, SECCOMP_RET_ERRNO | EPERM));
|
|
289
|
+
}
|
|
290
|
+
instructions.push(statement(BPF_RET | BPF_K, SECCOMP_RET_ALLOW));
|
|
291
|
+
const bytes = new Uint8Array(instructions.length * 8);
|
|
292
|
+
const view = new DataView(bytes.buffer);
|
|
293
|
+
instructions.forEach((instruction, index) => {
|
|
294
|
+
const offset = index * 8;
|
|
295
|
+
view.setUint16(offset, instruction.code, true);
|
|
296
|
+
view.setUint8(offset + 2, instruction.jt);
|
|
297
|
+
view.setUint8(offset + 3, instruction.jf);
|
|
298
|
+
view.setUint32(offset + 4, instruction.k >>> 0, true);
|
|
299
|
+
});
|
|
300
|
+
return success(bytes);
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=sandbox-seccomp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-seccomp.js","sourceRoot":"","sources":["../../src/domain/sandbox-seccomp.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/sandbox.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type DomainResult, type ErrorCode, type JsonObject } from "./errors.js";
|
|
2
|
+
import { type LandlockCapability, type LandlockEffectiveState } from "./landlock.js";
|
|
2
3
|
import type { SessionBackend, SessionContext } from "./session.js";
|
|
4
|
+
import { sandboxCapabilityBaseline, sandboxSeccompProfileMetadata } from "./sandbox-seccomp.js";
|
|
5
|
+
import type { CgroupLimitProfile } from "./cgroups-v2.js";
|
|
3
6
|
/**
|
|
4
7
|
* Versioned identity for the Linux sandbox execution contract (Issue #81).
|
|
5
8
|
* This contract binds exactly one existing Nawabari session to an execution
|
|
@@ -44,7 +47,11 @@ export type SandboxDoctorReport = {
|
|
|
44
47
|
capabilities: SandboxCapabilityCheck[];
|
|
45
48
|
ready: boolean;
|
|
46
49
|
missing_required: SandboxCapabilityId[];
|
|
50
|
+
seccomp_profile: ReturnType<typeof sandboxSeccompProfileMetadata>;
|
|
51
|
+
capability_baseline: typeof sandboxCapabilityBaseline;
|
|
52
|
+
landlock: LandlockCapability;
|
|
47
53
|
};
|
|
54
|
+
export type { LandlockCapability, LandlockEffectiveState, LandlockRule } from "./landlock.js";
|
|
48
55
|
/**
|
|
49
56
|
* The real repository UID/GID is never equated with the namespace-local
|
|
50
57
|
* identity a sandboxed process observes; the two are represented separately.
|
|
@@ -98,11 +105,41 @@ export type SandboxExecutionRequest = {
|
|
|
98
105
|
identity: SandboxIdentity;
|
|
99
106
|
filesystem: SandboxFilesystemTopology;
|
|
100
107
|
required_capabilities: SandboxCapabilityId[];
|
|
108
|
+
seccomp_profile: ReturnType<typeof sandboxSeccompProfileMetadata>;
|
|
109
|
+
capability_baseline: typeof sandboxCapabilityBaseline;
|
|
110
|
+
/** Optional cgroups v2 control/evidence below the session authority. */
|
|
111
|
+
cgroups?: SandboxCgroupConfig;
|
|
112
|
+
/** Optional runtime adapter selected by the canonical profile. */
|
|
113
|
+
landlock_executable?: string | null;
|
|
114
|
+
/** ABI observed by the capability probe, retained for machine diagnostics. */
|
|
115
|
+
landlock_abi?: number | null;
|
|
116
|
+
/** Probe state retained when ABI observation itself failed. */
|
|
117
|
+
landlock_state?: LandlockEffectiveState;
|
|
118
|
+
/** Required only when the selected protected profile mandates Landlock. */
|
|
119
|
+
landlock_required?: boolean;
|
|
101
120
|
};
|
|
121
|
+
export type SandboxCgroupConfig = {
|
|
122
|
+
/** A required profile fails closed when cgroups v2 is unavailable. */
|
|
123
|
+
readonly required: boolean;
|
|
124
|
+
/** Stable execution identity; never a human/display label. */
|
|
125
|
+
readonly execution_id: string;
|
|
126
|
+
readonly limits?: CgroupLimitProfile;
|
|
127
|
+
/** Test/runtime injection; production uses the unified hierarchy. */
|
|
128
|
+
readonly root?: string;
|
|
129
|
+
};
|
|
130
|
+
export type SandboxLandlockRequirement = "optional" | "required";
|
|
102
131
|
export type SandboxExecutionOptions = {
|
|
103
132
|
session_id: string | null;
|
|
104
133
|
/** When true, resolution fails closed instead of returning an unsandboxed request. */
|
|
105
134
|
enforce: boolean;
|
|
135
|
+
/** Canonical protected profile's cgroups policy, when selected. */
|
|
136
|
+
cgroups?: Omit<SandboxCgroupConfig, "execution_id"> & {
|
|
137
|
+
readonly execution_id?: string;
|
|
138
|
+
};
|
|
139
|
+
/** Landlock remains optional by default; required profiles fail closed on setup/support failure. */
|
|
140
|
+
landlock?: SandboxLandlockRequirement;
|
|
141
|
+
/** Explicit compatibility spelling for callers that persist profile flags. */
|
|
142
|
+
landlock_required?: boolean;
|
|
106
143
|
};
|
|
107
144
|
/** Injectable capability probe so doctor/resolution logic stays host-independent and testable. */
|
|
108
145
|
export type SandboxProbe = {
|
|
@@ -123,6 +160,8 @@ export type SandboxProbe = {
|
|
|
123
160
|
hasNamespaceSupport(): boolean;
|
|
124
161
|
hasCgroupsV2(): boolean;
|
|
125
162
|
hasLandlock(): boolean;
|
|
163
|
+
/** Return the supported ABI number when it can be observed, otherwise null. */
|
|
164
|
+
landlockAbi?: () => number | null;
|
|
126
165
|
hasSeccomp(): boolean;
|
|
127
166
|
hasCapabilities(): boolean;
|
|
128
167
|
};
|
|
@@ -133,6 +172,8 @@ export type SandboxProbe = {
|
|
|
133
172
|
*/
|
|
134
173
|
export type SandboxRuntimeLayout = {
|
|
135
174
|
bubblewrap: string | null;
|
|
175
|
+
/** Optional interpreter used only to install Landlock inside bubblewrap. */
|
|
176
|
+
landlock_helper?: string | null;
|
|
136
177
|
/** Host HOME used only to resolve the selected read-only tool directories. */
|
|
137
178
|
user_home?: string | null;
|
|
138
179
|
user_local_bin: string | null;
|
|
@@ -187,4 +228,7 @@ export declare function discoverSandboxRuntimeLayout(environment?: NodeJS.Proces
|
|
|
187
228
|
* unsandboxed path.
|
|
188
229
|
*/
|
|
189
230
|
export declare function resolveSandboxExecutionRequest(backend: SessionBackend, context: SessionContext, options: SandboxExecutionOptions, probe?: SandboxProbe, runtimeLayout?: SandboxRuntimeLayout): Promise<DomainResult<SandboxExecutionRequest>>;
|
|
190
|
-
export {
|
|
231
|
+
export { compileSandboxSeccompProfile, sandboxCapabilityBaseline, sandboxSeccompProfileMetadata, sandboxSeccompArchitectureSupported, SANDBOX_AMBIENT_CAPABILITIES, SANDBOX_CAPABILITY_BASELINE_ID, SANDBOX_CAPABILITY_BASELINE_VERSION, SANDBOX_SECCOMP_DEFAULT_ACTION, SANDBOX_SECCOMP_DENIAL_ACTION, SANDBOX_SECCOMP_DENIED_SYSCALLS, SANDBOX_SECCOMP_PROFILE_ID, SANDBOX_SECCOMP_PROFILE_VERSION, SANDBOX_SECCOMP_PROFILE, type SandboxCapabilityBaseline, type SandboxSeccompProfileMetadata, } from "./sandbox-seccomp.js";
|
|
232
|
+
export { compileSandboxInvocation, deriveLandlockRules, runSandboxedCommand, type SandboxCommand, type SandboxExecutionResult, type SandboxInvocation, type SandboxLauncherOptions, } from "./sandbox-launcher.js";
|
|
233
|
+
export { CGROUPS_V2_CONTRACT_ID, CGROUPS_V2_ROOT, attachProcessToCgroup, cleanupCgroupScope, cgroupLimitEvents, createCgroupScope, deriveCgroupScopeName, readCgroupAccounting, type CgroupAccounting, type CgroupExecutionIdentity, type CgroupFileSystem, type CgroupLimitEvent, type CgroupLimitProfile, type CgroupScope, type CgroupScopeOptions, } from "./cgroups-v2.js";
|
|
234
|
+
export { LANDLOCK_ACCESS_FS, LANDLOCK_ABI_MINIMUM, LANDLOCK_TRAMPOLINE } from "./landlock.js";
|