tamperward 2.11.0 → 2.11.1
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 +5 -2
- package/dist/cli/index.js +20 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -210,8 +210,11 @@ pinned Tamperward version, and label permissions restricted to trusted humans.
|
|
|
210
210
|
The default local verifier is checkpointed same-host execution, not OS isolation.
|
|
211
211
|
An optional digest-pinned container backend isolates final verification with no network,
|
|
212
212
|
host dependency tree, HOME, temp, credential or socket sharing. Tamperward still is not a
|
|
213
|
-
semantic-correctness oracle
|
|
214
|
-
|
|
213
|
+
semantic-correctness oracle: verifier output reports `oracle_assurance: suite-exit-only`
|
|
214
|
+
because candidate source still executes inside the configured suite process and can
|
|
215
|
+
terminate or interpose on that in-process oracle. `isolated-container` therefore means
|
|
216
|
+
execution-domain isolation, not semantic/oracle isolation. `tamperward run` also does
|
|
217
|
+
not pretend that a same-identity host agent is isolated from the Docker daemon.
|
|
215
218
|
|
|
216
219
|
Full assumptions and residual risks: [SPEC.md](./SPEC.md),
|
|
217
220
|
[SECURITY-ENVELOPE.md](./SECURITY-ENVELOPE.md), and the
|
package/dist/cli/index.js
CHANGED
|
@@ -8991,6 +8991,14 @@ function runContainerStage(backend, dir, command, budgetSecs) {
|
|
|
8991
8991
|
}
|
|
8992
8992
|
|
|
8993
8993
|
// src/cli/verify.ts
|
|
8994
|
+
function oracleAssuranceReport() {
|
|
8995
|
+
return {
|
|
8996
|
+
level: "suite-exit-only",
|
|
8997
|
+
semantic_isolation: false,
|
|
8998
|
+
candidate_code_executes_in_oracle_process: true,
|
|
8999
|
+
limitation: "candidate source executes inside the configured suite process and may terminate or interpose on that in-process oracle; isolated-container is execution-domain isolation, not semantic/oracle isolation"
|
|
9000
|
+
};
|
|
9001
|
+
}
|
|
8994
9002
|
var OVERLAY_CLASSES = ["tests", "snapshots", "config"];
|
|
8995
9003
|
var VERIFICATION_SURFACE = [
|
|
8996
9004
|
// Python / pytest — read from the rootdir, and conftest at any depth
|
|
@@ -9398,7 +9406,8 @@ function runVerify(opts) {
|
|
|
9398
9406
|
out2(JSON.stringify({
|
|
9399
9407
|
verdict: "CANNOT_VERIFY",
|
|
9400
9408
|
reason: "VERIFIER_BACKEND_UNAVAILABLE",
|
|
9401
|
-
verifier_backend: backendReport()
|
|
9409
|
+
verifier_backend: backendReport(),
|
|
9410
|
+
oracle_assurance: oracleAssuranceReport()
|
|
9402
9411
|
}));
|
|
9403
9412
|
} else {
|
|
9404
9413
|
out2("verify: isolated verifier backend is unavailable \u2014 failing closed");
|
|
@@ -9419,7 +9428,8 @@ function runVerify(opts) {
|
|
|
9419
9428
|
verdict: "CANNOT_VERIFY",
|
|
9420
9429
|
reason: "DEPENDENCY_ENVIRONMENT_UNATTESTABLE",
|
|
9421
9430
|
verifier_backend: backendReport(),
|
|
9422
|
-
dependency_environment: dependencyReport()
|
|
9431
|
+
dependency_environment: dependencyReport(),
|
|
9432
|
+
oracle_assurance: oracleAssuranceReport()
|
|
9423
9433
|
}));
|
|
9424
9434
|
} else {
|
|
9425
9435
|
out2("verify: dependency environment is not attestable \u2014 failing closed");
|
|
@@ -9469,7 +9479,8 @@ function runVerify(opts) {
|
|
|
9469
9479
|
reason: "VERIFIER_BACKEND_RUNTIME_FAILURE",
|
|
9470
9480
|
stage: "visible",
|
|
9471
9481
|
detail: visible.reason,
|
|
9472
|
-
verifier_backend: backendReport()
|
|
9482
|
+
verifier_backend: backendReport(),
|
|
9483
|
+
oracle_assurance: oracleAssuranceReport()
|
|
9473
9484
|
}));
|
|
9474
9485
|
} else {
|
|
9475
9486
|
out2("verify: isolated verifier backend failed while running the visible stage \u2014 failing closed");
|
|
@@ -9520,7 +9531,8 @@ function runVerify(opts) {
|
|
|
9520
9531
|
reason: "VERIFIER_BACKEND_RUNTIME_FAILURE",
|
|
9521
9532
|
stage: "pristine",
|
|
9522
9533
|
detail: pristine.reason,
|
|
9523
|
-
verifier_backend: backendReport()
|
|
9534
|
+
verifier_backend: backendReport(),
|
|
9535
|
+
oracle_assurance: oracleAssuranceReport()
|
|
9524
9536
|
}));
|
|
9525
9537
|
} else {
|
|
9526
9538
|
out2("verify: isolated verifier backend failed while running the pristine stage \u2014 failing closed");
|
|
@@ -9572,6 +9584,7 @@ function runVerify(opts) {
|
|
|
9572
9584
|
added_protected_removed: removedAdded,
|
|
9573
9585
|
verifier_backend: backendReport(),
|
|
9574
9586
|
dependency_environment: dependencyReport(),
|
|
9587
|
+
oracle_assurance: oracleAssuranceReport(),
|
|
9575
9588
|
...signedOff ? { oob_signoff: signedOff } : {},
|
|
9576
9589
|
...opts.keep ? { visible_dir: visDir, pristine_dir: priDir } : {}
|
|
9577
9590
|
})
|
|
@@ -9585,6 +9598,9 @@ function runVerify(opts) {
|
|
|
9585
9598
|
};
|
|
9586
9599
|
out2(`tamperward verify \u2014 ${lines[verdict2]}`);
|
|
9587
9600
|
out2(`verifier backend: ${verifierBackendSummary(verifierBackend)}`);
|
|
9601
|
+
out2(
|
|
9602
|
+
"oracle assurance: suite-exit-only (candidate source executes inside the suite process; execution-domain isolation is not semantic/oracle isolation)"
|
|
9603
|
+
);
|
|
9588
9604
|
out2(
|
|
9589
9605
|
dependencyEnvironment ? `dependency environment: ${dependencyEnvironmentSummary(dependencyEnvironment)}` + (opts.allowDepDrift && dependencyEnvironment.status === "unattestable" ? " (operator override)" : "") : `dependency environment: verifier-owned by ${verifierBackend.image ?? "isolated image"}`
|
|
9590
9606
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamperward",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.1",
|
|
4
4
|
"description": "The deterministic agent-integrity gate. One ruleset, evaluated on the actual diff/commands as a verdict, enforced everywhere a change can be made.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "hexrift",
|