Skip to content

Commit 11a4fad

Browse files
committed
Merge main into the --repo and --pending-head branch
Fold this branch's changelog entries into the existing 2.11.13 section.
2 parents 5088b8c + fa50565 commit 11a4fad

3 files changed

Lines changed: 31 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
- `--pending-head` has no effect and logs a deprecation warning. Use
2020
`--default-branch`.
2121

22+
### Docs: reachability network access
23+
24+
- Documented the hosts `--reach` needs: `api.socket.dev`,
25+
`storage.googleapis.com` for the analysis engine download, and each scanned
26+
ecosystem's package registry for dependency installs. Covers what fails when
27+
each is blocked, including dependencies reported as `INSTALL ERROR` while the
28+
scan still completes, and that the CLI and engine honor `HTTPS_PROXY`.
29+
2230
## 2.11.12
2331

2432
### Changed: bump pinned Coana CLI to 15.14.2
@@ -151,6 +159,9 @@ their changes ship here.
151159

152160
## 2.11.1
153161

162+
Version 2.11.0 was never published to PyPI or Docker Hub; its changes ship
163+
here.
164+
154165
### Changed: bump pinned Coana CLI to 15.12.10
155166

156167
- Bumped the pinned reachability engine (the Coana CLI) from `15.12.8` to

‎docs/cli-reference.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,20 @@ The Python CLI verifies the following **up front** (before invoking the analysis
365365
366366
Separately, the analysis engine (coana) needs the **per-ecosystem build toolchain** for whatever languages your project uses — e.g. a compatible Python interpreter (3.11+, or PyPy) for Python, a JDK for Java/Kotlin/Scala, .NET 6+ for C#, the matching Go toolchain for Go, etc. These are validated by the engine **at analysis time** (the CLI does not pre-check them) and that validation can be skipped with `--reach-disable-external-tool-checks`.
367367
368+
**Reachability network access:**
369+
370+
`--reach` downloads the analysis engine on first use and installs your project's dependencies to analyze them. On a restricted network, allow:
371+
372+
| Host | Used for | If blocked |
373+
|---|---|---|
374+
| `api.socket.dev` | Socket API calls, and a signed URL for the engine download | The CLI fails |
375+
| `storage.googleapis.com` | Downloading the engine and its analyzers (about 120 MB) | The CLI exits with code **3**: `Failed to run reachability analysis: HTTPSConnectionPool(host='storage.googleapis.com', ...)` |
376+
| The package registry of each scanned ecosystem, for example `registry.npmjs.org` | Installing your project's dependencies for analysis | The scan still completes, but the affected vulnerabilities are reported as `INSTALL ERROR` with no reachability result |
377+
378+
The engine comes from Socket, not npm, so an npm mirror or registry proxy does not cover the engine download. The registry row does not apply when your dependencies are already installed in the target path, for example a `node_modules` directory from an earlier `npm ci`. The engine is cached as described below; with a warm cache, `storage.googleapis.com` is not contacted.
379+
380+
Behind an HTTP(S) proxy, set `HTTPS_PROXY`. The CLI, the engine download and the engine itself all send their requests through it.
381+
368382
**Reachability analysis types:**
369383
370384
Socket's reachability analysis comes in three forms, referred to by their full names rather than the older "Tier" numbering:

‎docs/troubleshooting.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ total before assuming either path is at fault.
3636
- In `--sarif-scope full` with `--sarif-file`, SARIF JSON is written to file and stdout JSON is suppressed.
3737
- `--sarif-grouping alert` currently applies to `--sarif-scope full`.
3838

39+
## Reachability on a restricted network
40+
41+
- `Failed to run reachability analysis: HTTPSConnectionPool(host='storage.googleapis.com', ...)`: the engine download is blocked. Allow `storage.googleapis.com`, or set `HTTPS_PROXY`. An npm mirror does not cover it.
42+
- Every vulnerability reported as `INSTALL ERROR`: the engine could not install your dependencies. Allow the ecosystem's package registry, or install dependencies in the target path before running `--reach`.
43+
- See **Reachability network access** in the [CLI reference](cli-reference.md) for the full list of hosts.
44+
3945
## Dashboard vs CLI result counts
4046

4147
Differences in result counts can be valid, even when filtering appears similar.

0 commit comments

Comments
 (0)