tamperward 2.16.3 → 2.16.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 +6 -5
- package/dist/cli/index.js +14 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -220,11 +220,12 @@ BROKEN platform posture rather than misdiagnosing it as a missing Python install
|
|
|
220
220
|
`--agent-budget <seconds>`
|
|
221
221
|
adds an operator-owned wall-clock boundary around the same lifecycle (separate from the
|
|
222
222
|
verifier's `--budget`). A clean timeout is `AGENT_TIMEOUT` / exit 124; enforcement or
|
|
223
|
-
cannot-adjudicate still outranks it.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
223
|
+
cannot-adjudicate still outranks it. **From 2.16.4, `tamperward run` is Linux-only
|
|
224
|
+
for authoritative lifecycle certification.** Windows, macOS and other non-Linux platforms
|
|
225
|
+
fail closed before the agent starts because this release has no OS primitive there that can
|
|
226
|
+
prove the detached execution domain is drained. Standalone `tamperward check` and
|
|
227
|
+
`tamperward verify` remain available on those platforms. Dependency-attestation reuse
|
|
228
|
+
remains disabled on all platforms.
|
|
228
229
|
|
|
229
230
|
`tamperward verify` materialises two temporary copies — they are **not
|
|
230
231
|
sandboxes**, and both execute agent-controlled code. The visible copy runs the
|
package/dist/cli/index.js
CHANGED
|
@@ -10601,6 +10601,9 @@ function parseVerify(args) {
|
|
|
10601
10601
|
// src/cli/run.ts
|
|
10602
10602
|
var out = (s) => process.stdout.write(s + "\n");
|
|
10603
10603
|
var err = (s) => process.stderr.write(s + "\n");
|
|
10604
|
+
function authoritativeRunLifecyclePlatform(platform = process.platform) {
|
|
10605
|
+
return platform === "linux";
|
|
10606
|
+
}
|
|
10604
10607
|
function canReuseAdjacentDependencyAttestation(_lifecycleOwned, _platform = process.platform) {
|
|
10605
10608
|
return false;
|
|
10606
10609
|
}
|
|
@@ -11211,6 +11214,13 @@ function runEnvelope(opts) {
|
|
|
11211
11214
|
return 2;
|
|
11212
11215
|
}
|
|
11213
11216
|
}
|
|
11217
|
+
const lifecyclePlatform = opts.lifecyclePlatformOverride ?? process.platform;
|
|
11218
|
+
if (!authoritativeRunLifecyclePlatform(lifecyclePlatform)) {
|
|
11219
|
+
err(
|
|
11220
|
+
`tamperward run: authoritative agent lifecycle ownership is unavailable on ${lifecyclePlatform}; this release only certifies run on Linux with the trusted subreaper/ECHILD backend. Failing closed before the agent starts. Use standalone tamperward check/verify or an isolated execution domain.`
|
|
11221
|
+
);
|
|
11222
|
+
return 2;
|
|
11223
|
+
}
|
|
11214
11224
|
const verifierBackend = prepareVerifierBackend(frozenPolicy.verify);
|
|
11215
11225
|
out(`tamperward run \u2014 trusted base ${base.slice(0, 10)}; agent exit is untrusted.`);
|
|
11216
11226
|
out(`tamperward run \u2014 verifier backend: ${verifierBackendSummary(verifierBackend)}`);
|
|
@@ -11427,14 +11437,14 @@ function lifecyclePlatformCheck(platform = process.platform, linuxPython = platf
|
|
|
11427
11437
|
if (platform === "win32") {
|
|
11428
11438
|
return {
|
|
11429
11439
|
id: "platform",
|
|
11430
|
-
state: "
|
|
11431
|
-
detail: "Windows: taskkill /T /F is a best-effort tree fallback,
|
|
11440
|
+
state: "BROKEN",
|
|
11441
|
+
detail: "Windows: authoritative tamperward run lifecycle ownership is unavailable; taskkill /T /F is only a best-effort tree fallback, so run fails closed before agent start. Standalone check/verify remain available."
|
|
11432
11442
|
};
|
|
11433
11443
|
}
|
|
11434
11444
|
return {
|
|
11435
11445
|
id: "platform",
|
|
11436
|
-
state: "
|
|
11437
|
-
detail: `${platform}:
|
|
11446
|
+
state: "BROKEN",
|
|
11447
|
+
detail: `${platform}: authoritative tamperward run lifecycle ownership is unavailable because this release has no subreaper/ECHILD-equivalent backend; run fails closed before agent start. Standalone check/verify remain available.`
|
|
11438
11448
|
};
|
|
11439
11449
|
}
|
|
11440
11450
|
var VERIFY_COMMAND = /\btamperward(?:@\S+)?\s+verify\b/;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamperward",
|
|
3
|
-
"version": "2.16.
|
|
3
|
+
"version": "2.16.4",
|
|
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",
|