Repository navigation
chore(proof-interceptor): install from the root npm workspace - #1008
ofir-starkware wants to merge 2 commits into
Conversation
| "dev": true, | ||
| "license": "MIT" | ||
| }, | ||
| "proof-interceptor/node_modules/vite": { |
There was a problem hiding this comment.
High severity vulnerability may affect your project—review required:
Line 9625 lists a dependency (vite) with a known High severity vulnerability.
ℹ️ Why this matters
Affected versions of vite and vite-plus are vulnerable to Exposure of Sensitive Information to an Unauthorized Actor / Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'). Vite's server.fs.deny blocklist—which protects sensitive files such as .env and certificate files from being served—can be bypassed on Windows using alternate path representations (NTFS Alternate Data Stream syntax like /.env::$DATA?raw, or 8.3 short filenames), allowing an attacker to read otherwise-denied files when the dev server is exposed to the network.
References: https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-38303, GHSA, CVE
To resolve this comment:
Check if you expose the Vite dev server or vite-plus to the network by configuring a non-loopback address using the --host CLI flag on Windows.
- If you're affected, upgrade this dependency to at least version 6.4.3 at package-lock.json.
- If you're not affected, comment
/fp we don't use this [condition]
💬 Ignore this finding
To ignore this, reply with:
/fp <comment>for false positive/ar <comment>for acceptable risk/other <comment>for all other reasons
You can view more details on this finding in the Semgrep AppSec Platform here.
| @@ -6160,6 +7302,16 @@ | |||
| "url": "https://github.com/sponsors/SuperchupuDev" | |||
| } | |||
| }, | |||
| "node_modules/tinypool": { | |||
There was a problem hiding this comment.
Critical severity vulnerability introduced by a package you're using:
Line 7305 lists a dependency (tinypool) with a known Critical severity vulnerability. Fixing requires upgrading or replacing the dependency.
ℹ️ Why this matters
Affected versions of tinypool are vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution'). Tinypool builds worker options by spreading them into a plain object, so inherited properties from a polluted Object.prototype (such as execArgv or env.NODE_OPTIONS) are passed to every spawned worker. An attacker who can pollute Object.prototype anywhere in the process can gain arbitrary code execution in all pool workers, including those created internally by Vitest.
References: https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-91718, GHSA, CVE
To resolve this comment:
Upgrade this dependency to at least version 2.1.1 at package-lock.json.
💬 Ignore this finding
To ignore this, reply with:
/fp <comment>for false positive/ar <comment>for acceptable risk/other <comment>for all other reasons
You can view more details on this finding in the Semgrep AppSec Platform here.
| } | ||
| } | ||
| }, | ||
| "proof-interceptor/node_modules/vitest": { |
There was a problem hiding this comment.
Critical severity vulnerability may affect your project—review required:
Line 9701 lists a dependency (vitest) with a known Critical severity vulnerability.
ℹ️ Why this matters
Affected versions of vitest are vulnerable to Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') / Missing Authorization. When the Vitest UI server is listening, the deprecated isFileServingAllowed check is applied without normalizing the URL before filesystem operations, allowing path traversal that lets an attacker read, write, and execute arbitrary files outside the project directory.
References: https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-44391, GHSA, CVE
To resolve this comment:
Check if you run the Vitest UI on Windows, or you expose the Vitest UI server to the network with the --api.host flag or api.host config option.
- If you're affected, upgrade this dependency to at least version 3.2.6 at package-lock.json.
- If you're not affected, comment
/fp we don't use this [condition]
💬 Ignore this finding
To ignore this, reply with:
/fp <comment>for false positive/ar <comment>for acceptable risk/other <comment>for all other reasons
You can view more details on this finding in the Semgrep AppSec Platform here.
689d756 to
4112d0b
Compare
4112d0b to
29b2d96
Compare
Add proof-interceptor to the root workspace: its SDK dependency becomes a semver range linked to the local sdk/, and its lockfile merges into the root one without introducing new package versions. The Docker image now installs sdk and proof-interceptor with one workspace npm ci. proxy-ci and e2e-devnet install from the root, and the proxy-ci and proof-interceptor-docker path filters cover the root manifests the build reads. (via claude code)
…he image's install layer proof-interceptor is private and only ever consumes the in-repo SDK, so it depends on it with "*", which links sdk/ whatever version it carries. The Dockerfile copies only the root, sdk and proof-interceptor manifests before `npm ci`, then the sources, so a source edit no longer reruns the install. The other members' manifests turned out to be unnecessary, so the client manifest copy is dropped. proxy-ci installs only the sdk and proof-interceptor members. (via claude code)
29b2d96 to
1960724
Compare
Stacked on #1007 (PR 2 of the npm-workspace stack).
What
proof-interceptorto the root workspace. Its SDK dependency changes fromfile:../sdkto^0.14.3-rc.8, which npm resolves by linking the localsdk/.proof-interceptor/package-lock.jsoninto the root lockfile, adding no package versions that weren't already locked.starknetstays a single shared copy. 100 entries that conflict with versions already hoisted at the root stay underproof-interceptor/node_modules.npm ci -w sdk -w proof-interceptor, then build and prune both. The image drops from 339 MB to 291 MB.proxy-ciinstalls from the root.e2e-devnetbuilds the interceptor withnpm run build -w proof-interceptor.proxy-ciandproof-interceptor-dockernow include the rootpackage.jsonand lockfile.Why
file:links between packages in the workspace.Verification
npm ciworks.sdk: build and lint pass, andtest:fastpasses 27/27 files.client: build and lint pass, and tests pass 66/66.proof-interceptor: build and lint pass, and tests pass 200/200./healthreturns 200, and dev dependencies are confirmed pruned.🤖 Generated with Claude Code
This change is