Repository navigation
Conversation
Moves every bundled tool to its latest release: OpenGrep v1.33.1, TruffleHog 3.99.8, Socket npm CLI 1.13.1, Socket Python CLI 2.11.11 (previously proposed in #134), uv 0.13.7, and in the app-tests image gosec v2.30.0 and Go 1.27.3. Trivy is already current on main. OpenGrep moves seven minors, so the Java rule set was re-measured on OWASP BenchmarkJava at the pinned corpus commit. 1.30.0 and 1.33.1 produce the same findings, so docs/java-sast-benchmark.md records 1.33.1 without new numbers.
socketsecurity 2.11.11 pins socketdev==3.6.2 exactly. With the CLI bump here and the SDK bump left to the release PR, the heavy image would run 3.6.2 in its system interpreter and 3.6.1 in the locked venv. Lock 3.6.2 and raise the source-install floor to match. Moved from #134.
Moves every bundled tool to its latest release: OpenGrep v1.33.1, TruffleHog 3.99.8, Socket npm CLI 1.13.1, Socket Python CLI 2.11.11 (previously proposed in #134), uv 0.13.7, and in the app-tests image gosec v2.30.0 and Go 1.27.3. Trivy is already current on main. OpenGrep moves seven minors, so the Java rule set was re-measured on OWASP BenchmarkJava at the pinned corpus commit. 1.30.0 and 1.33.1 produce the same findings, so docs/java-sast-benchmark.md records 1.33.1 without new numbers.
socketsecurity 2.11.11 pins socketdev==3.6.2 exactly. With the CLI bump here and the SDK bump left to the release PR, the heavy image would run 3.6.2 in its system interpreter and 3.6.1 in the locked venv. Lock 3.6.2 and raise the source-install floor to match. Moved from #134.
a500540 to
0ff64fa
Compare
…ble (#118) * chore(deps): refresh bundled scanner and CLI pins Moves every bundled tool to its latest release: OpenGrep v1.33.1, TruffleHog 3.99.8, Socket npm CLI 1.13.1, Socket Python CLI 2.11.11 (previously proposed in #134), uv 0.13.7, and in the app-tests image gosec v2.30.0 and Go 1.27.3. Trivy is already current on main. OpenGrep moves seven minors, so the Java rule set was re-measured on OWASP BenchmarkJava at the pinned corpus commit. 1.30.0 and 1.33.1 produce the same findings, so docs/java-sast-benchmark.md records 1.33.1 without new numbers. * fix(ci): pin Docker images where Dependabot can actually read them All three Dockerfiles pinned their base and tool images as `FROM image:${VERSION}` against an ARG, and the comments claimed Dependabot tracked them through those FROM lines. It never did. Its Dockerfile parser is a regex over FROM lines whose image and tag groups both require literal characters, and it performs no ARG substitution, so every interpolated line matched with no version and was skipped with no error at all. The evidence: no Docker-ecosystem pull request has ever been opened against this repo — all 33 Dependabot PRs are `python:uv` or `github-actions` — and `git log -L` on the ARG pins shows they have only ever moved in hand-written PRs. That is how uv came to sit 16 patch releases behind. Images are now pinned as literal tags on their FROM lines, which is the only form the parser reads. `node` and `uv` join the app-tests allow list, since an `allow:` list silently drops images it does not name, and `securego/gosec` leaves it: gosec is installed by a shell script and has no FROM line to match. tests/test_dockerfile_pins.py transcribes the upstream regexes and asserts every trackable FROM line parses to a version, that the allow lists cover every image pinned, and that the one duplicated pin — the trufflehog label ARG, which exists because a LABEL cannot read a FROM tag back — equals its FROM tag. Two deliberate trade-offs: `--build-arg TRUFFLEHOG_VERSION=` no longer has any effect, and TRIVY_IMAGE stays interpolated on purpose, because Socket's Trivy build is digest-pinned and must not move independently. Verified by building the heavy image with the documented public-Trivy override: opengrep 1.33.1, trufflehog 3.99.8, socket 1.13.1, socketcli 2.11.11, uv 0.13.7, and the labels carry the same versions. * docs: document Socket Tier 1's network requirements Socket npm CLI 1.9.0 and later fetch the Coana reachability engine from Socket instead of npm: a signed URL from api.socket.dev, served from storage.googleapis.com, with no npm fallback. Restricted networks that allowed only an npm registry or mirror now fail Tier 1. The heavy image's Python CLI made the same change in 2.11.0, which shipped undocumented in 3.4.1. docs/parameters.md gains a "Network access for Tier 1" section covering both hosts, the engine cache, the retired SOCKET_CLI_COANA_LAUNCHER and the --reach-version limit. The action, Docker, local install and README docs point to it where Tier 1 comes up, and the changelog carries it as an upgrade note. * chore(deps): bump socketdev to 3.6.2 alongside the Python CLI socketsecurity 2.11.11 pins socketdev==3.6.2 exactly. With the CLI bump here and the SDK bump left to the release PR, the heavy image would run 3.6.2 in its system interpreter and 3.6.1 in the locked venv. Lock 3.6.2 and raise the source-install floor to match. Moved from #134. * docs: correct Tier 1 network requirements from a live run A Tier 1 scan behind a DNS allowlist showed three gaps in the earlier docs: - The engine needs the scanned ecosystem's package registry to install dependencies. Without it Tier 1 still reports success, but every vulnerability comes back as INSTALL ERROR, unless the workspace already has its dependencies installed. - The Socket CLI ignores HTTPS_PROXY and SOCKET_CLI_API_PROXY for these requests (1.1.165 and 1.13.1 alike), so the hosts must be allowed at the network level. - A Tier 1 failure does not change the scan's exit code. The api.socket.dev and storage.googleapis.com requirements, the ENOTFOUND error when storage is blocked, and the cache directory skipping the download on a warm run were all confirmed. * docs: give the Tier 1 proxy workaround and cover the Python CLI Live runs of both CLIs behind a logging proxy and a DNS allowlist: - The Socket npm CLI does not apply HTTPS_PROXY or SOCKET_CLI_API_PROXY to its own requests and fails to resolve api.socket.dev. Setting NODE_USE_ENV_PROXY=1 next to HTTPS_PROXY routes them through the proxy and a full Tier 1 scan completes. - The Python CLI (socketcli 2.11.11, heavy image) honors HTTPS_PROXY on its own, uses the same three hosts, degrades to INSTALL ERROR without the package registry, and exits 3 when storage.googleapis.com is blocked. Also corrects the Python CLI version: 2.11.0 was never published, so 2.11.1 is the first release that fetches the engine from Socket. * fix(docker): route Socket Tier 1 through HTTPS_PROXY The Socket npm CLI does not apply HTTPS_PROXY to its own requests, so behind a proxy Tier 1 fails with `getaddrinfo EAI_AGAIN api.socket.dev`. All three images now set NODE_USE_ENV_PROXY=1, which makes Node apply HTTPS_PROXY, HTTP_PROXY and NO_PROXY and does nothing when none is set. Verified with the standard image on a network whose only egress is a logging proxy: with only HTTPS_PROXY set, Tier 1 completes with full results (1 reachable, 4 unreachable) and every request goes through the proxy. Without a proxy, results are unchanged. The docs drop the per-run NODE_USE_ENV_PROXY instruction for the images and keep it for native installs. * chore(deps): bump Socket npm CLI to 1.14.0 1.14.0 carries reachability fixes for --dynamic-sbom-inference builds and the same Coana CLI (15.14.1) and Node requirement as 1.13.1. Verified with the standard image: a Tier 1 scan returns full results (1 reachable, 4 unreachable) directly and on a network whose only egress is an HTTPS_PROXY.
0ff64fa to
d36afc0
Compare
2.11.12 bumps the pinned Coana CLI to 15.14.2. 2.11.13 rejects an owner/repo value for --repo up front (the API already rejected it) and deprecates --pending-head. It still pins socketdev==3.6.2.
Bump the release to 3.5.0 with scripts/prep_release.py and stamp [Unreleased] as the 3.5.0 changelog. The section opens with why this is a minor release and condenses the #125 entry into upgrade notes and a fix.
Python CLI 2.11.14 bumps the pinned Coana CLI to 15.15.0. 2.12.0 changes only the CLI's own Docker image, and still pins socketdev==3.6.2. npm CLI 1.14.1 and 1.15.0 bump Coana to 15.15.0, grade scan reports from alert actions, record every resolved Maven dependency edge, and document the network access reachability needs.
d36afc0 to
94dbc23
Compare
Restamp the 3.5.0 changelog section with the new release date, and note that Tier 1 now runs Coana 15.15.0, which both bundled Socket CLIs pin.
|
bugbot run |
PR SummaryMedium Risk Overview The new CHANGELOG section calls out why this is not a patch: prior Tier 1 work changes Docs and examples across README and Reviewed by Cursor Bugbot for commit 4e7c84e. Configure here. |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4e7c84e. Configure here.
Prepare Socket Basics 3.5.0: bump the Socket Python CLI to 2.12.0 and the Socket npm CLI to 1.15.0, set the release version, and write the changelog. #118 and #125 are merged, and this branch is rebuilt on main (through #138).
Version choice
3.5.0, not a patch. Both Tier 1 changes can break an existing setup: #125 changes how
socket_additional_paramsis parsed, and #118's Socket CLI bump changes the network access Tier 1 needs.Changes
owner/repovalue for--repoup front (the API already rejected it, so no working pipeline breaks) and deprecates--pending-head. 2.12.0 changes only the CLI's own Docker image. It still pinssocketdev==3.6.2.[3.5.0]bundled-tools andsocketdeventries and the version examples indocs/parameters.mdanddocs/local-install-docker.mdnow say 2.12.0 and 1.15.0.scripts/prep_release.py --version 3.5.0bumps the package versions, the action image tag, the lockfile's project entry and the current-release docs. The changelog section is dated 2026-11-13.Changedentry notes that Tier 1 now runs Coana 15.15.0, which both bundled Socket CLIs pin.Validation
check_core_tools.py --mode buildreads the new pins: Socket Python CLI 2.12.0, Socket npm CLI 1.15.0.check_release_docs.py --checkin sync for 3.5.0;uv lock --checkclean.Note
Low Risk
Release housekeeping: version strings, changelog, and image pin updates; behavior changes are documented for adopters but not implemented in this diff.
Overview
Socket Basics 3.5.0 is prepared as a minor release:
pyproject.toml,socket_basicspackage metadata,uv.lock, the GitHub Action (action.yml→ghcr.io/socketdev/socket-basics:3.5.0), and repo docs/examples now all point at 3.5.0 instead of 3.4.1.Changelog adds a dated [3.5.0] - 2026-11-06 section explaining why this is minor (Tier 1
socket_additional_paramsparsing and network/egress expectations from #125/#118 can break existing setups). Upgrade notes call outapi.socket.devandstorage.googleapis.com, comma-vs-=for option values, and repeating--exclude-paths. The Fixed entry describes preserving commas/quotes insocket_additional_params; bundled-tool lines now show Socket Python CLI 2.11.13 (and align socketdev pinning text).Heavy and app-tests Dockerfiles bump
SOCKET_PYTHON_CLI_VERSIONfrom 2.11.11 to 2.11.13. README, GitHub Action guide, local Docker, pre-commit, parameters snippet, and PR-comment guide examples are updated to@v3.5.0/ghcr.io/socketdev/socket-basics:3.5.0(and heavy variant) for consistent pinning guidance.Reviewed by Cursor Bugbot for commit d36afc0. Configure here.