Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions scripts/security/clawscan-diagnostic-runtime.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,15 @@ it("binds dependency locks to exact sources while retaining both incident diagno
const modernSource = "ff67692a1b58882a398449a1a5cdba620c88ad57";
const modernLock = "b8d19c16020091af248ec1566d6666de4cf408e4dca193f0c9ead67072da785e";
const javascriptSource = "c0731bff55f735957dda18d3fc29e54d7b9f3b13";
const validatorSource = "aff544dc623c9b2d420bbd13a2c8aab46a90738c";
const javascriptLock = "f4bfc4c3d226c4be309e01b7c5043ca34c53a40975a1ba39cae4c0463c98fb7f";
const originalCandidate = "fd5f18ad3365f623d4165740b124cd7f142d0556";
for (const [source, expectedLock] of [
[baseline, lock],
[originalCandidate, lock],
[modernSource, modernLock],
[javascriptSource, javascriptLock],
[validatorSource, javascriptLock],
]) {
expect(() => validateOriginalScannerBounds(state, mcp, expectedLock!, source!)).not.toThrow();
for (const otherLock of [lock, modernLock, javascriptLock]) {
Expand Down
4 changes: 4 additions & 0 deletions scripts/security/clawscan-diagnostic-runtime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ const LOCK_SHA256_BY_SOURCE = new Map([
"c0731bff55f735957dda18d3fc29e54d7b9f3b13",
"f4bfc4c3d226c4be309e01b7c5043ca34c53a40975a1ba39cae4c0463c98fb7f",
],
[
"aff544dc623c9b2d420bbd13a2c8aab46a90738c",
"f4bfc4c3d226c4be309e01b7c5043ca34c53a40975a1ba39cae4c0463c98fb7f",
],
]);
const hash = (bytes: Uint8Array | string) => createHash("sha256").update(bytes).digest("hex");

Expand Down
2 changes: 1 addition & 1 deletion scripts/security/clawscan-source-commit.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
c0731bff55f735957dda18d3fc29e54d7b9f3b13
aff544dc623c9b2d420bbd13a2c8aab46a90738c
5 changes: 3 additions & 2 deletions specs/security-consumer-model-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,12 @@ paths. Environment-only changes cannot implement this policy: official GPT-6.1
Sol function/tool calls require Responses rather than Chat Completions.

`clawscan-source-commit.txt` pins merged ClawScan commit
`c0731bff55f735957dda18d3fc29e54d7b9f3b13`. The
`aff544dc623c9b2d420bbd13a2c8aab46a90738c`. The
workflow installer fetches that exact commit, verifies HEAD, builds its Go CLI
with Go 1.27.3, and retains the matching source tree for host scanner installation.
No mutable `main`, `latest`, or unapproved public ClawScan release is consumed.
The selected source includes bounded JavaScript value ownership, canonical Bash
The selected source includes bounded JavaScript value ownership and proofs for
native validator storage, function results and effects. It retains canonical Bash
parsing, CSV ownership and immutable preparation-cache/packing repairs. These
preserve explicit incompleteness for unsupported value flows; they do not infer
that an original upload is safe or complete. Diagnostic dependency locks are
Expand Down
Loading