@holoscript/holosystem 0.2.2 → 0.2.4
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 +588 -0
- package/bin/holosystem.mjs +434 -7
- package/docs/native-build-threat-model.md +150 -0
- package/docs/vm-launch-threat-model.md +121 -0
- package/native/windows-sandbox/Program.cs +667 -0
- package/native/windows-sandbox/README.md +19 -0
- package/native/windows-sandbox/build.ps1 +18 -0
- package/native/windows-x64/holosystem-sandbox-launcher.exe +0 -0
- package/package.json +4 -2
- package/src/index.mjs +45 -0
- package/src/native-build.mjs +970 -0
- package/src/substrate-debian-release.mjs +852 -0
- package/src/substrate-import-debian.mjs +979 -0
- package/src/substrate-import.mjs +578 -0
- package/src/substrate.mjs +789 -0
- package/src/vm-launch.mjs +1292 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Windows low-integrity Job launcher
|
|
2
|
+
|
|
3
|
+
`Program.cs` is the auditable source for the Windows AMD64 launcher consumed by
|
|
4
|
+
`vm-launch-whpx-sandboxed`. `build.ps1` compiles it with the inbox .NET
|
|
5
|
+
Framework AMD64 compiler and writes the measured artifact to
|
|
6
|
+
`../windows-x64/holosystem-sandbox-launcher.exe`.
|
|
7
|
+
|
|
8
|
+
The release contract pins the executable digest, not an unverified source-build
|
|
9
|
+
claim. The inbox compiler does not offer deterministic output, so a rebuild is
|
|
10
|
+
expected to change the binary digest even when the source is unchanged. Review
|
|
11
|
+
the source and binary delta, update the plan fixture, run the HoloSystem package
|
|
12
|
+
checks, and complete a real two-launch WHPX receipt before publishing a rebuilt
|
|
13
|
+
launcher.
|
|
14
|
+
|
|
15
|
+
The launcher applies only the process controls it reports: maximum-privilege
|
|
16
|
+
filtering, low integrity, an explicit three-handle inheritance list, and a
|
|
17
|
+
pre-resume Job Object with kill, process-count, memory, and UI limits. It is not
|
|
18
|
+
an AppContainer and does not claim filesystem confidentiality or network
|
|
19
|
+
capability isolation.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$ErrorActionPreference = 'Stop'
|
|
2
|
+
|
|
3
|
+
$source = Join-Path $PSScriptRoot 'Program.cs'
|
|
4
|
+
$outputDirectory = Join-Path (Split-Path $PSScriptRoot -Parent) 'windows-x64'
|
|
5
|
+
$output = Join-Path $outputDirectory 'holosystem-sandbox-launcher.exe'
|
|
6
|
+
$compiler = Join-Path $env:SystemRoot 'Microsoft.NET\Framework64\v4.0.30319\csc.exe'
|
|
7
|
+
|
|
8
|
+
if (-not (Test-Path -LiteralPath $compiler -PathType Leaf)) {
|
|
9
|
+
throw 'The Windows .NET Framework AMD64 compiler is unavailable.'
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
New-Item -ItemType Directory -Path $outputDirectory -Force | Out-Null
|
|
13
|
+
& $compiler /nologo /target:exe /platform:x64 /optimize+ /debug- /out:$output $source
|
|
14
|
+
if ($LASTEXITCODE -ne 0) {
|
|
15
|
+
throw "Native sandbox launcher compilation failed with exit code $LASTEXITCODE."
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Get-FileHash -LiteralPath $output -Algorithm SHA256 | Select-Object Path, Hash
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holoscript/holosystem",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Portable bootstrap, consumption catalog, lineage, and bounded-work contract for HoloSystem consumers.",
|
|
5
5
|
"releaseLane": "v0-preview",
|
|
6
6
|
"keywords": [
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"bin",
|
|
36
|
+
"docs",
|
|
37
|
+
"native",
|
|
36
38
|
"src",
|
|
37
39
|
"README.md",
|
|
38
40
|
"LICENSE"
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
"node": ">=18"
|
|
42
44
|
},
|
|
43
45
|
"scripts": {
|
|
44
|
-
"build": "node --check src/index.mjs && node --check src/catalog.mjs && node --check bin/holosystem.mjs",
|
|
46
|
+
"build": "node --check src/index.mjs && node --check src/catalog.mjs && node --check src/substrate.mjs && node --check src/substrate-import.mjs && node --check src/substrate-debian-release.mjs && node --check src/substrate-import-debian.mjs && node --check src/native-build.mjs && node --check src/vm-launch.mjs && node --check bin/holosystem.mjs",
|
|
45
47
|
"test": "node --test test/*.test.mjs",
|
|
46
48
|
"smoke": "node bin/holosystem.mjs --help",
|
|
47
49
|
"check": "pnpm run build && pnpm run test && pnpm run smoke",
|
package/src/index.mjs
CHANGED
|
@@ -1,6 +1,51 @@
|
|
|
1
1
|
export const HOLOSYSTEM_CONFIG_SCHEMA = 'holoscript.holosystem.consumer.v1';
|
|
2
2
|
export const HOLOSYSTEM_INSPECTION_SCHEMA = 'holoscript.holosystem.inspection.v1';
|
|
3
3
|
|
|
4
|
+
export {
|
|
5
|
+
HOLOSYSTEM_REBUILD_ATTESTATION_SCHEMA,
|
|
6
|
+
HOLOSYSTEM_SUBSTRATE_SCHEMA,
|
|
7
|
+
buildSubstrateClosure,
|
|
8
|
+
createRebuildAttestationPayload,
|
|
9
|
+
} from './substrate.mjs';
|
|
10
|
+
|
|
11
|
+
export { HOLOSYSTEM_SUBSTRATE_IMPORT_SCHEMA, importNpmPackageLock } from './substrate-import.mjs';
|
|
12
|
+
export { importDebianPackageSnapshot } from './substrate-import-debian.mjs';
|
|
13
|
+
export {
|
|
14
|
+
HOLOSYSTEM_DEBIAN_RELEASE_AUTH_SCHEMA,
|
|
15
|
+
verifyDebianRepositoryRelease,
|
|
16
|
+
} from './substrate-debian-release.mjs';
|
|
17
|
+
export {
|
|
18
|
+
HOLOSYSTEM_NATIVE_BUILD_PLAN_SCHEMA,
|
|
19
|
+
HOLOSYSTEM_NATIVE_BUILD_RECEIPT_SCHEMA,
|
|
20
|
+
HOLOSYSTEM_NATIVE_BUILD_SOURCE_SCHEMA,
|
|
21
|
+
createNativeRebuildAttestationPayload,
|
|
22
|
+
inspectNativeBuildPlan,
|
|
23
|
+
inspectNativeBuildSource,
|
|
24
|
+
runNativeBuild,
|
|
25
|
+
} from './native-build.mjs';
|
|
26
|
+
export {
|
|
27
|
+
HOLOSYSTEM_VM_ASSET_SCHEMA,
|
|
28
|
+
HOLOSYSTEM_VM_EXECUTOR_SCHEMA,
|
|
29
|
+
HOLOSYSTEM_VM_LAUNCH_PLAN_SCHEMA,
|
|
30
|
+
HOLOSYSTEM_VM_LAUNCH_RECEIPT_SCHEMA,
|
|
31
|
+
HOLOSYSTEM_WHPX_VM_LAUNCH_PLAN_SCHEMA,
|
|
32
|
+
HOLOSYSTEM_WHPX_VM_LAUNCH_RECEIPT_SCHEMA,
|
|
33
|
+
HOLOSYSTEM_WHPX_SANDBOXED_VM_LAUNCH_PLAN_SCHEMA,
|
|
34
|
+
HOLOSYSTEM_WHPX_SANDBOXED_VM_LAUNCH_RECEIPT_SCHEMA,
|
|
35
|
+
HOLOSYSTEM_WINDOWS_SANDBOX_LAUNCHER_DIGEST,
|
|
36
|
+
HOLOSYSTEM_WINDOWS_SANDBOX_LAUNCHER_SCHEMA,
|
|
37
|
+
HOLOSYSTEM_WINDOWS_SANDBOX_PROTOCOL,
|
|
38
|
+
inspectVmExecutor,
|
|
39
|
+
inspectVmLaunchAsset,
|
|
40
|
+
inspectVmLaunchPlan,
|
|
41
|
+
inspectWindowsVmSandboxLauncher,
|
|
42
|
+
inspectWhpxSandboxedVmLaunchPlan,
|
|
43
|
+
inspectWhpxVmLaunchPlan,
|
|
44
|
+
runVmLaunch,
|
|
45
|
+
runWhpxSandboxedVmLaunch,
|
|
46
|
+
runWhpxVmLaunch,
|
|
47
|
+
} from './vm-launch.mjs';
|
|
48
|
+
|
|
4
49
|
export {
|
|
5
50
|
HOLOSYSTEM_CATALOG_SCHEMA,
|
|
6
51
|
HOLOSYSTEM_CONSUMER_INPUT_SCHEMA,
|