socketsecurity 2.4.5__tar.gz → 2.4.6__tar.gz
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.
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/CHANGELOG.md +15 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/PKG-INFO +1 -1
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/docs/cli-reference.md +18 -7
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/pyproject.toml +1 -1
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/__init__.py +1 -1
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/uv.lock +64 -50
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/CODEOWNERS +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/actions/setup-docker/action.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/actions/setup-hatch/action.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/actions/setup-sfw/action.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/dependabot.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/dependency-review.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/docker-stable.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/e2e-test.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/pr-preview.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/python-tests.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/release.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/workflows/version-check.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.github/zizmor.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.gitignore +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.hooks/sync_version.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.pre-commit-config.yaml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/.python-version +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/Dockerfile +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/LICENSE +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/Makefile +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/README.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/docs/ci-cd.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/docs/development.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/docs/troubleshooting.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-dashboard-parity.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-dashboard-parity.toml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-diff-ci-cd.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-diff-ci-cd.toml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-instance-detail.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/examples/config/sarif-instance-detail.toml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/instructions/gitlab-commit-status/uat.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/pytest.ini +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/build_container.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/build_container_flexible.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/deploy-test-docker.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/deploy-test-pypi.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/docker-entrypoint.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/scripts/run.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/session.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socket.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/config.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/alert_selection.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/classes.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/cli_client.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/exceptions.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/git_interface.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/helper/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/helper/socket_facts_loader.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/lazy_file_loader.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/logging.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/messages.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/resource_utils.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm/base.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm/client.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm/github.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm/gitlab.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/scm_comments.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/socket_config.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/tools/reachability.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/utils.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/fossa_compat.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/output.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/base.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/formatters/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/formatters/slack.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/jira.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/manager.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/slack.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/teams.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/plugins/webhook.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/socketcli.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/conftest.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/create_diff_input.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_diff_alerts.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_diff_generation.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_facts_compression.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_has_manifest_files.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_package_and_alerts.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_sdk_methods.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/core/test_supporting_methods.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/create_response.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/diff/stream_diff.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/head_scan/metadata.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/new_scan/metadata.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/repos/repo_info_error.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/repos/repo_info_no_head.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/repos/repo_info_success.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/settings/security-policy.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/fixtures/simple-npm/index.js +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/fixtures/simple-npm/package.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/fixtures/simple-pypi/requirements.txt +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/validate-gitlab.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/validate-json.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/validate-reachability.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/validate-sarif.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/validate-scan.sh +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/README.md +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-analyze-empty.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-analyze-populated.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-sbom-empty-deep.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-sbom-populated.json +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/__init__.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_alert_selection.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_cli_config.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_client.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_config.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_dependency_overview.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_disable_ignore.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_exclude_paths.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_fossa_compat.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_fossa_parity.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_gitlab_auth.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_gitlab_auth_fallback.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_gitlab_commit_status.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_gitlab_format.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_ignore_telemetry_filtering.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_output.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_reachability.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_slack_plugin.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_socketcli.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/unit/test_tier1_finalize.py +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/workflows/bitbucket-pipelines.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/workflows/buildkite.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/workflows/github-actions.yml +0 -0
- {socketsecurity-2.4.5 → socketsecurity-2.4.6}/workflows/gitlab-ci.yml +0 -0
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.4.6
|
|
4
|
+
|
|
5
|
+
### Docs: reachability reference corrections
|
|
6
|
+
|
|
7
|
+
- Documented the `uv` and Enterprise-plan prerequisites the CLI enforces **before** running
|
|
8
|
+
reachability (exit code 3 if unmet), and clarified that per-ecosystem build toolchains
|
|
9
|
+
(JDK / .NET / Go / a compatible Python interpreter) are checked by the analysis engine at
|
|
10
|
+
runtime, not pre-checked by the CLI.
|
|
11
|
+
- Corrected the `--reach-min-severity` values to `info, low, moderate, high, critical`.
|
|
12
|
+
- Documented the previously-undocumented reachability flags: `--reach-enable-analysis-splitting`,
|
|
13
|
+
`--reach-detailed-analysis-log-file`, `--reach-lazy-mode`, and `--reach-use-only-pregenerated-sboms`.
|
|
14
|
+
- Clarified that `--only-facts-file` submits only the facts file when **creating** the full scan
|
|
15
|
+
(it does not require a pre-existing scan).
|
|
16
|
+
- Documentation-only; no functional code changes.
|
|
17
|
+
|
|
3
18
|
## 2.4.5
|
|
4
19
|
|
|
5
20
|
### Changed: Bump required SDK version to `>=3.2.1`
|
|
@@ -154,7 +154,8 @@ socketcli [-h] [--api-token API_TOKEN] [--repo REPO] [--workspace WORKSPACE] [--
|
|
|
154
154
|
[--ignore-commit-files] [--disable-blocking] [--disable-ignore] [--enable-diff] [--scm SCM] [--timeout TIMEOUT] [--include-module-folders]
|
|
155
155
|
[--reach] [--reach-version REACH_VERSION] [--reach-analysis-timeout REACH_ANALYSIS_TIMEOUT]
|
|
156
156
|
[--reach-analysis-memory-limit REACH_ANALYSIS_MEMORY_LIMIT] [--reach-concurrency REACH_CONCURRENCY] [--reach-ecosystems REACH_ECOSYSTEMS]
|
|
157
|
-
[--reach-min-severity
|
|
157
|
+
[--reach-min-severity <level>] [--reach-skip-cache] [--reach-disable-analytics] [--reach-enable-analysis-splitting] [--reach-detailed-analysis-log-file]
|
|
158
|
+
[--reach-lazy-mode] [--reach-use-only-pregenerated-sboms] [--reach-debug] [--reach-disable-external-tool-checks]
|
|
158
159
|
[--reach-output-file REACH_OUTPUT_FILE] [--only-facts-file] [--version]
|
|
159
160
|
````
|
|
160
161
|
|
|
@@ -238,25 +239,35 @@ If you don't want to provide the Socket API Token every time then you can use th
|
|
|
238
239
|
#### Reachability Analysis
|
|
239
240
|
| Parameter | Required | Default | Description |
|
|
240
241
|
|:---------------------------------|:---------|:--------|:---------------------------------------------------------------------------------------------------------------------------|
|
|
241
|
-
| `--reach` | False | False | Enable reachability analysis to identify which vulnerable functions are actually called by your code
|
|
242
|
+
| `--reach` | False | False | Enable reachability analysis to identify which vulnerable functions are actually called by your code. Creates a tier-1 full-application reachability scan (`scan_type=socket_tier1`). |
|
|
242
243
|
| `--reach-version` | False | latest | Version of @coana-tech/cli to use for analysis |
|
|
243
244
|
| `--reach-analysis-timeout` | False | *coana* | Timeout in seconds for the reachability analysis. Omitted by default, so coana applies its own (currently 600s). Alias: `--reach-timeout` |
|
|
244
245
|
| `--reach-analysis-memory-limit` | False | *coana* | Memory limit in MB for the reachability analysis. Omitted by default, so coana applies its own (currently 8192). Alias: `--reach-memory-limit` |
|
|
245
246
|
| `--reach-concurrency` | False | *coana* | Control parallel analysis execution (must be >= 1). Omitted by default, so coana applies its own (currently 1) |
|
|
246
247
|
| `--reach-additional-params` | False | | Pass custom parameters to the coana CLI tool |
|
|
247
248
|
| `--reach-ecosystems` | False | | Comma-separated list of ecosystems to analyze (e.g., "npm,pypi"). If not specified, all supported ecosystems are analyzed |
|
|
248
|
-
| `--reach-min-severity` | False | | Minimum severity level for reporting reachability results (low,
|
|
249
|
+
| `--reach-min-severity` | False | | Minimum severity level for reporting reachability results (info, low, moderate, high, critical) |
|
|
249
250
|
| `--reach-skip-cache` | False | False | Skip cache and force fresh reachability analysis |
|
|
250
251
|
| `--reach-disable-analytics` | False | False | Disable analytics collection during reachability analysis |
|
|
252
|
+
| `--reach-enable-analysis-splitting` | False | False | Enable analysis splitting/bucketing (a legacy performance feature). Splitting is disabled by default. |
|
|
253
|
+
| `--reach-detailed-analysis-log-file` | False | False | Write a detailed analysis log file; its path is printed to stdout |
|
|
254
|
+
| `--reach-lazy-mode` | False | False | Enable lazy mode (experimental performance feature) |
|
|
255
|
+
| `--reach-use-only-pregenerated-sboms` | False | False | Build the scan only from pre-generated CycloneDX (CDX) and SPDX files in your project (requires --reach) |
|
|
251
256
|
| `--reach-debug` | False | False | Enable coana debug output (`--debug`) for the analysis, independent of the global `--enable-debug` |
|
|
252
257
|
| `--reach-disable-external-tool-checks` | False | False | Disable coana's external tool availability checks (passes `--disable-external-tool-checks`) |
|
|
253
258
|
| `--reach-output-file` | False | .socket.facts.json | Path where reachability analysis results should be saved |
|
|
254
259
|
| `--reach-exclude-paths` | False | | **[DEPRECATED — use `--exclude-paths`]** Comma-separated paths to exclude from reachability analysis. Still honored (unioned with `--exclude-paths`) but will be hidden in a future release |
|
|
255
|
-
| `--only-facts-file` | False | False | Submit only the .socket.facts.json file
|
|
260
|
+
| `--only-facts-file` | False | False | Submit only the .socket.facts.json file when creating the full scan (requires --reach) |
|
|
256
261
|
|
|
257
262
|
**Reachability Analysis Requirements:**
|
|
258
|
-
|
|
259
|
-
|
|
263
|
+
|
|
264
|
+
The Python CLI verifies the following **up front** (before invoking the analysis engine) and exits with code **3** if any are unmet:
|
|
265
|
+
- `npm` - Required to install and run `@coana-tech/cli` (the analysis engine)
|
|
266
|
+
- `npx` - Required to execute `@coana-tech/cli`
|
|
267
|
+
- `uv` - Required by the analysis engine
|
|
268
|
+
- An **Enterprise** Socket organization plan (any `enterprise*` plan, including Enterprise trials)
|
|
269
|
+
|
|
270
|
+
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`.
|
|
260
271
|
|
|
261
272
|
## Config file support
|
|
262
273
|
|
|
@@ -302,7 +313,7 @@ Sample config files:
|
|
|
302
313
|
|
|
303
314
|
For CI-specific examples and guidance, see [`ci-cd.md`](ci-cd.md).
|
|
304
315
|
|
|
305
|
-
The CLI will automatically install `@coana-tech/cli` if not present. Use `--reach` to enable reachability analysis during a full scan, or
|
|
316
|
+
The CLI will automatically install `@coana-tech/cli` if not present. Use `--reach` to enable reachability analysis during a full scan, or add `--only-facts-file` (with `--reach`) to submit only the reachability facts file (`.socket.facts.json`) when creating the full scan.
|
|
306
317
|
|
|
307
318
|
#### Advanced Configuration
|
|
308
319
|
| Parameter | Required | Default | Description |
|
|
@@ -556,11 +556,11 @@ wheels = [
|
|
|
556
556
|
|
|
557
557
|
[[package]]
|
|
558
558
|
name = "filelock"
|
|
559
|
-
version = "3.
|
|
559
|
+
version = "3.29.1"
|
|
560
560
|
source = { registry = "https://pypi.org/simple" }
|
|
561
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
561
|
+
sdist = { url = "https://files.pythonhosted.org/packages/1f/f9/f38573ed5844586db374d085911740a501ccfa373b455fc9413f09f85237/filelock-3.29.1.tar.gz", hash = "sha256:d97e6b1b9757569626c58caa07dc4beb1613f4a2938b1e8cc81afca398906c9e", size = 59335, upload-time = "2026-06-03T15:19:04.053Z" }
|
|
562
562
|
wheels = [
|
|
563
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
563
|
+
{ url = "https://files.pythonhosted.org/packages/4c/a0/614c5fe402fd88951df45f4dda2fa3b4e17a99ecd92340771929169b3b95/filelock-3.29.1-py3-none-any.whl", hash = "sha256:85199dfd706869641b72b2e8955d5416a4b2b7dc4b0e8e6d97b4cc1299a6983b", size = 40750, upload-time = "2026-06-03T15:19:02.959Z" },
|
|
564
564
|
]
|
|
565
565
|
|
|
566
566
|
[[package]]
|
|
@@ -598,7 +598,7 @@ wheels = [
|
|
|
598
598
|
|
|
599
599
|
[[package]]
|
|
600
600
|
name = "hatch"
|
|
601
|
-
version = "1.16.
|
|
601
|
+
version = "1.16.5"
|
|
602
602
|
source = { registry = "https://pypi.org/simple" }
|
|
603
603
|
dependencies = [
|
|
604
604
|
{ name = "backports-zstd", marker = "python_full_version < '3.14'" },
|
|
@@ -611,6 +611,7 @@ dependencies = [
|
|
|
611
611
|
{ name = "pexpect" },
|
|
612
612
|
{ name = "platformdirs" },
|
|
613
613
|
{ name = "pyproject-hooks" },
|
|
614
|
+
{ name = "python-discovery" },
|
|
614
615
|
{ name = "rich" },
|
|
615
616
|
{ name = "shellingham" },
|
|
616
617
|
{ name = "tomli-w" },
|
|
@@ -619,9 +620,9 @@ dependencies = [
|
|
|
619
620
|
{ name = "uv" },
|
|
620
621
|
{ name = "virtualenv" },
|
|
621
622
|
]
|
|
622
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
623
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d2/02/ce9c4c439fa3f195b21b4b5bb18b44d1076297c86477ef7e3d2de6064ec3/hatch-1.16.5.tar.gz", hash = "sha256:57bdeeaa72577859ce37091a5449583875331c06f9cb6af9077947ad40b3a1de", size = 5220741, upload-time = "2026-02-27T18:45:31.21Z" }
|
|
623
624
|
wheels = [
|
|
624
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
625
|
+
{ url = "https://files.pythonhosted.org/packages/e4/8a/11ae7e271870f0ad8fa0012e4265982bebe0fdc21766b161fb8b8fc3aefc/hatch-1.16.5-py3-none-any.whl", hash = "sha256:d9b8047f2cd10d3349eb6e8f278ad728a04f91495aace305c257d5c2747188fb", size = 141269, upload-time = "2026-02-27T18:45:29.573Z" },
|
|
625
626
|
]
|
|
626
627
|
|
|
627
628
|
[[package]]
|
|
@@ -795,11 +796,11 @@ wheels = [
|
|
|
795
796
|
|
|
796
797
|
[[package]]
|
|
797
798
|
name = "markdown"
|
|
798
|
-
version = "3.10"
|
|
799
|
+
version = "3.10.2"
|
|
799
800
|
source = { registry = "https://pypi.org/simple" }
|
|
800
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
801
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" }
|
|
801
802
|
wheels = [
|
|
802
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
803
|
+
{ url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" },
|
|
803
804
|
]
|
|
804
805
|
|
|
805
806
|
[[package]]
|
|
@@ -885,11 +886,11 @@ wheels = [
|
|
|
885
886
|
|
|
886
887
|
[[package]]
|
|
887
888
|
name = "packaging"
|
|
888
|
-
version = "
|
|
889
|
+
version = "26.2"
|
|
889
890
|
source = { registry = "https://pypi.org/simple" }
|
|
890
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
891
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" }
|
|
891
892
|
wheels = [
|
|
892
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
893
|
+
{ url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" },
|
|
893
894
|
]
|
|
894
895
|
|
|
895
896
|
[[package]]
|
|
@@ -933,7 +934,7 @@ wheels = [
|
|
|
933
934
|
|
|
934
935
|
[[package]]
|
|
935
936
|
name = "pre-commit"
|
|
936
|
-
version = "4.
|
|
937
|
+
version = "4.6.0"
|
|
937
938
|
source = { registry = "https://pypi.org/simple" }
|
|
938
939
|
dependencies = [
|
|
939
940
|
{ name = "cfgv" },
|
|
@@ -942,9 +943,9 @@ dependencies = [
|
|
|
942
943
|
{ name = "pyyaml" },
|
|
943
944
|
{ name = "virtualenv" },
|
|
944
945
|
]
|
|
945
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
946
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/22/2de9408ac81acbb8a7d05d4cc064a152ccf33b3d480ebe0cd292153db239/pre_commit-4.6.0.tar.gz", hash = "sha256:718d2208cef53fdc38206e40524a6d4d9576d103eb16f0fec11c875e7716e9d9", size = 198525, upload-time = "2026-04-21T20:31:41.613Z" }
|
|
946
947
|
wheels = [
|
|
947
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
948
|
+
{ url = "https://files.pythonhosted.org/packages/80/6e/4b28b62ecb6aae56769c34a8ff1d661473ec1e9519e2d5f8b2c150086b26/pre_commit-4.6.0-py2.py3-none-any.whl", hash = "sha256:e2cf246f7299edcabcf15f9b0571fdce06058527f0a06535068a86d38089f29b", size = 226472, upload-time = "2026-04-21T20:31:40.092Z" },
|
|
948
949
|
]
|
|
949
950
|
|
|
950
951
|
[[package]]
|
|
@@ -1013,29 +1014,29 @@ wheels = [
|
|
|
1013
1014
|
|
|
1014
1015
|
[[package]]
|
|
1015
1016
|
name = "pytest-asyncio"
|
|
1016
|
-
version = "1.
|
|
1017
|
+
version = "1.4.0"
|
|
1017
1018
|
source = { registry = "https://pypi.org/simple" }
|
|
1018
1019
|
dependencies = [
|
|
1019
1020
|
{ name = "pytest" },
|
|
1020
1021
|
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
1021
1022
|
]
|
|
1022
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1023
|
+
sdist = { url = "https://files.pythonhosted.org/packages/43/7c/d36d04db312ecf4298932ef77e6e4a9e8ad017906e24e34f0b0c361a2473/pytest_asyncio-1.4.0.tar.gz", hash = "sha256:c6c0d2259945122819f171a32ecea2c349ead889ee28176caaf492143424be42", size = 58514, upload-time = "2026-05-26T09:56:04.083Z" }
|
|
1023
1024
|
wheels = [
|
|
1024
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1025
|
+
{ url = "https://files.pythonhosted.org/packages/03/e2/08a497ef684b88559c9cc5f4ad53a37e7b99e727094a86d6ea32536d5d3c/pytest_asyncio-1.4.0-py3-none-any.whl", hash = "sha256:933ca923a23075a87fb7070c0ec272a6848489824d887c85c812670932835aa1", size = 16930, upload-time = "2026-05-26T09:56:02.576Z" },
|
|
1025
1026
|
]
|
|
1026
1027
|
|
|
1027
1028
|
[[package]]
|
|
1028
1029
|
name = "pytest-cov"
|
|
1029
|
-
version = "7.
|
|
1030
|
+
version = "7.1.0"
|
|
1030
1031
|
source = { registry = "https://pypi.org/simple" }
|
|
1031
1032
|
dependencies = [
|
|
1032
1033
|
{ name = "coverage", extra = ["toml"] },
|
|
1033
1034
|
{ name = "pluggy" },
|
|
1034
1035
|
{ name = "pytest" },
|
|
1035
1036
|
]
|
|
1036
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1037
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" }
|
|
1037
1038
|
wheels = [
|
|
1038
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1039
|
+
{ url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" },
|
|
1039
1040
|
]
|
|
1040
1041
|
|
|
1041
1042
|
[[package]]
|
|
@@ -1062,6 +1063,19 @@ dependencies = [
|
|
|
1062
1063
|
]
|
|
1063
1064
|
sdist = { url = "https://files.pythonhosted.org/packages/36/47/ab65fc1d682befc318c439940f81a0de1026048479f732e84fe714cd69c0/pytest-watch-4.2.0.tar.gz", hash = "sha256:06136f03d5b361718b8d0d234042f7b2f203910d8568f63df2f866b547b3d4b9", size = 16340, upload-time = "2018-05-20T19:52:16.194Z" }
|
|
1064
1065
|
|
|
1066
|
+
[[package]]
|
|
1067
|
+
name = "python-discovery"
|
|
1068
|
+
version = "1.4.0"
|
|
1069
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1070
|
+
dependencies = [
|
|
1071
|
+
{ name = "filelock" },
|
|
1072
|
+
{ name = "platformdirs" },
|
|
1073
|
+
]
|
|
1074
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/12/38c1a0b1e64806780c9563e3fc9f6e472251839662587cfbe9bfaf2ae10a/python_discovery-1.4.0.tar.gz", hash = "sha256:eb8bc7daad3c226c147e45bb4e970a1feb1bf4048ee178e6db59e197b8010ce3", size = 68455, upload-time = "2026-05-28T01:15:37.639Z" }
|
|
1075
|
+
wheels = [
|
|
1076
|
+
{ url = "https://files.pythonhosted.org/packages/c8/8d/3d316429f65029532bb1e28ff77b797d86b5ac3915bb44ca4e19aa283d43/python_discovery-1.4.0-py3-none-any.whl", hash = "sha256:26ed78d703e234879a66244c7d4114563fb13ec5cd30a2d1357e5fb4850782da", size = 33217, upload-time = "2026-05-28T01:15:36.573Z" },
|
|
1077
|
+
]
|
|
1078
|
+
|
|
1065
1079
|
[[package]]
|
|
1066
1080
|
name = "python-dotenv"
|
|
1067
1081
|
version = "1.2.2"
|
|
@@ -1151,7 +1165,7 @@ wheels = [
|
|
|
1151
1165
|
|
|
1152
1166
|
[[package]]
|
|
1153
1167
|
name = "requests"
|
|
1154
|
-
version = "2.
|
|
1168
|
+
version = "2.34.2"
|
|
1155
1169
|
source = { registry = "https://pypi.org/simple" }
|
|
1156
1170
|
dependencies = [
|
|
1157
1171
|
{ name = "certifi" },
|
|
@@ -1159,9 +1173,9 @@ dependencies = [
|
|
|
1159
1173
|
{ name = "idna" },
|
|
1160
1174
|
{ name = "urllib3" },
|
|
1161
1175
|
]
|
|
1162
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1176
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" }
|
|
1163
1177
|
wheels = [
|
|
1164
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1178
|
+
{ url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" },
|
|
1165
1179
|
]
|
|
1166
1180
|
|
|
1167
1181
|
[[package]]
|
|
@@ -1200,28 +1214,27 @@ wheels = [
|
|
|
1200
1214
|
|
|
1201
1215
|
[[package]]
|
|
1202
1216
|
name = "ruff"
|
|
1203
|
-
version = "0.14
|
|
1204
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1205
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1206
|
-
wheels = [
|
|
1207
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1208
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1209
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1210
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1211
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1212
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1213
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1214
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1215
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1216
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1217
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1218
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1219
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1220
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1221
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1222
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1223
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1224
|
-
{ url = "https://files.pythonhosted.org/packages/74/31/b0e29d572670dca3674eeee78e418f20bdf97fa8aa9ea71380885e175ca0/ruff-0.14.10-py3-none-win_arm64.whl", hash = "sha256:e51d046cf6dda98a4633b8a8a771451107413b0f07183b2bef03f075599e44e6", size = 13729839, upload-time = "2025-12-18T19:28:48.636Z" },
|
|
1217
|
+
version = "0.15.14"
|
|
1218
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1219
|
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/8a/8bce2894573e9dae6ff4d77fe34ad727d79b9e6238ad288c5638990d90f6/ruff-0.15.14.tar.gz", hash = "sha256:48e866b165be4a9bdbf310f7d3c9a07edef2fe8cd63ffeb4e00bb590506ebf9f", size = 4700910, upload-time = "2026-05-21T14:34:55.177Z" }
|
|
1220
|
+
wheels = [
|
|
1221
|
+
{ url = "https://files.pythonhosted.org/packages/b9/c8/74a92c6ff9fcfb4f1f947126d3ebee8389276e161ecc85de5bda7cda51bd/ruff-0.15.14-py3-none-linux_armv6l.whl", hash = "sha256:8dd2db9416e487c8d4b01fa7056bb02c4d05969d4f8d17a08c229c2f4ff3c108", size = 10739177, upload-time = "2026-05-21T14:34:37.332Z" },
|
|
1222
|
+
{ url = "https://files.pythonhosted.org/packages/45/91/254a35c20acc38a7223c9d2d594af12e794432464f2cdeb52af1dc4a892d/ruff-0.15.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:be4ff55af755bd71a00ab3dc6bd7ffc467bd76e0df6881e286c2e3d23e8fb43b", size = 11144969, upload-time = "2026-05-21T14:34:43.978Z" },
|
|
1223
|
+
{ url = "https://files.pythonhosted.org/packages/56/9e/d13e40f83b8d0a94430e6778ce1d94a43b38cf2efe63278bdd2b4c65abbf/ruff-0.15.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:48d5909d7d06276ce7dde6d32bfa4b0d4cb2651145cd8ee4b440722cbc77832f", size = 10478207, upload-time = "2026-05-21T14:34:48.378Z" },
|
|
1224
|
+
{ url = "https://files.pythonhosted.org/packages/8d/f1/b15a7839fa4f332f8acec78e20564f26bb2d866e3d21710b877fd0263000/ruff-0.15.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca8cbfa94c4f90984a67561978602746d4cd27103568f745fa90eee3f0d4107d", size = 10818459, upload-time = "2026-05-21T14:34:22.318Z" },
|
|
1225
|
+
{ url = "https://files.pythonhosted.org/packages/45/33/53d651177f84f94b400a0e27f8824eeada3dddc9d5ee8aeb048f4352a520/ruff-0.15.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a6bbc0333f1ab053423bcbf6226477d266ca7cec7738c4c8e3f55647803f3c4", size = 10541800, upload-time = "2026-05-21T14:34:20.209Z" },
|
|
1226
|
+
{ url = "https://files.pythonhosted.org/packages/b8/a6/868f87e0bf9786ed24b5d0d0ad8676b8a94fd1912f42cddf9cfc7857818a/ruff-0.15.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a24a4f7605d7003a6674d4387651effd939dead3fddd0f36561eb77a9a2e542", size = 11342149, upload-time = "2026-05-21T14:34:46.365Z" },
|
|
1227
|
+
{ url = "https://files.pythonhosted.org/packages/a7/8b/38cd5c19faffdcc05a408d2b78edccc69492ab9720eadb49ea15ef80d768/ruff-0.15.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:049b5326e53ed80978f2fc041a280603f69dd6b0c95464342a2bb4572d9d9e2f", size = 12212563, upload-time = "2026-05-21T14:34:28.579Z" },
|
|
1228
|
+
{ url = "https://files.pythonhosted.org/packages/3e/4d/a3c5b874a556d5731e3e657aaf04311bb76f0a5c3ec220ed43051be6b64b/ruff-0.15.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4ed42e6696c8dfa5f06728e6441993901f548eb92d73bc472cb5a38d1395fbf", size = 11493299, upload-time = "2026-05-21T14:34:41.836Z" },
|
|
1229
|
+
{ url = "https://files.pythonhosted.org/packages/1e/c0/56472c251d09858a53e51efbd485b09e1995d8731668b76d52e5dd6ee0f1/ruff-0.15.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:715c543cf450c4888251f91c52f1942a800541d9bddd7ac060aa4e6b77ae7cba", size = 11455931, upload-time = "2026-05-21T14:34:57.276Z" },
|
|
1230
|
+
{ url = "https://files.pythonhosted.org/packages/2c/4a/e2e7b4d8dbf233d4eace59c75bc3435fa6d8bd3bae82d351d4e4300c0fd1/ruff-0.15.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:72ebab6013ec887d439d8b7593737a0a4ffb06d45d209d4e4bf2e92813082d3f", size = 11400794, upload-time = "2026-05-21T14:34:39.773Z" },
|
|
1231
|
+
{ url = "https://files.pythonhosted.org/packages/97/c7/83c0539fe34c3e09136204d1e75d6052492364e0b3cb05e9465423f567d7/ruff-0.15.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:49072d36abdbe97a8dd7f480afe9c675699c0c495d4c84076e2c1203c4550581", size = 10804759, upload-time = "2026-05-21T14:34:31.045Z" },
|
|
1232
|
+
{ url = "https://files.pythonhosted.org/packages/86/a6/18f2bfc095a2ab4a78745644e428205532ce6653a5d0fa8501572891534d/ruff-0.15.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:958522aee105068640c2c2ceae08f413ae44d922f52a1374ac13d6a96032fc93", size = 10539517, upload-time = "2026-05-21T14:34:53.064Z" },
|
|
1233
|
+
{ url = "https://files.pythonhosted.org/packages/54/3a/5a8b3b69c654d4e4bf1d246ac5b49cbcdac6eaab6905925f8915f31e3b80/ruff-0.15.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f3707da619a143a2e8830e2abab8224478d69ace2d28cb6c20543ae97c36bf61", size = 11065169, upload-time = "2026-05-21T14:34:24.484Z" },
|
|
1234
|
+
{ url = "https://files.pythonhosted.org/packages/ed/c5/8864e4e7925b836ea354b31d57641ec03830564e281a8b6f061f8c3e0ec1/ruff-0.15.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bb01d645694e3ec0102105d07ef2d53703970407d59c04e59d3ba0b7a1d53553", size = 11560214, upload-time = "2026-05-21T14:34:50.975Z" },
|
|
1235
|
+
{ url = "https://files.pythonhosted.org/packages/36/38/012bf76752e1f89ed50b77b99532d90f3a3e287bc7918e1fc0948ac866ac/ruff-0.15.14-py3-none-win32.whl", hash = "sha256:6d0c1ad2a0ab718d39b6d8fd2217981ce4d625cd96a720095f798fb47d8b13e6", size = 10805548, upload-time = "2026-05-21T14:34:33.453Z" },
|
|
1236
|
+
{ url = "https://files.pythonhosted.org/packages/d1/b7/4ea2c170f10ad760fff2a5250beb18897719dc8b52b53a24cddbb9dd3f19/ruff-0.15.14-py3-none-win_amd64.whl", hash = "sha256:802342981e056db3851a7836e5b070f8f15f67d4a685ae2a6160939d364b2902", size = 11939523, upload-time = "2026-05-21T14:34:18.077Z" },
|
|
1237
|
+
{ url = "https://files.pythonhosted.org/packages/62/d5/bc97ff895ec35cf3925d4bd60f3b39d822f377a446906ec9bcc87405e59b/ruff-0.15.14-py3-none-win_arm64.whl", hash = "sha256:ff47b90a9ef6a40c9e2f3b479c1fb78531adf055b94c1eba0a7ba04b31951826", size = 11208607, upload-time = "2026-05-21T14:34:26.525Z" },
|
|
1225
1238
|
]
|
|
1226
1239
|
|
|
1227
1240
|
[[package]]
|
|
@@ -1270,7 +1283,7 @@ wheels = [
|
|
|
1270
1283
|
|
|
1271
1284
|
[[package]]
|
|
1272
1285
|
name = "socketsecurity"
|
|
1273
|
-
version = "2.4.
|
|
1286
|
+
version = "2.4.6"
|
|
1274
1287
|
source = { editable = "." }
|
|
1275
1288
|
dependencies = [
|
|
1276
1289
|
{ name = "brotli", marker = "platform_python_implementation == 'CPython'" },
|
|
@@ -1499,16 +1512,17 @@ wheels = [
|
|
|
1499
1512
|
|
|
1500
1513
|
[[package]]
|
|
1501
1514
|
name = "virtualenv"
|
|
1502
|
-
version = "
|
|
1515
|
+
version = "21.4.2"
|
|
1503
1516
|
source = { registry = "https://pypi.org/simple" }
|
|
1504
1517
|
dependencies = [
|
|
1505
1518
|
{ name = "distlib" },
|
|
1506
1519
|
{ name = "filelock" },
|
|
1507
1520
|
{ name = "platformdirs" },
|
|
1521
|
+
{ name = "python-discovery" },
|
|
1508
1522
|
]
|
|
1509
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1523
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/0d/4e93c8e6d1001a75763f87d8f5ecda8ebc7f4aa2153dddfaf4ae8892821a/virtualenv-21.4.2.tar.gz", hash = "sha256:38e6ee0a555615c0ea9da2ac7e9998fe8dc3b911dd33ad8eaad2020957653b0c", size = 7613326, upload-time = "2026-05-31T17:01:22.827Z" }
|
|
1510
1524
|
wheels = [
|
|
1511
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1525
|
+
{ url = "https://files.pythonhosted.org/packages/bf/c4/557dc082be035381b85fdb2b74e21d3d21b57750b74f2b47a32f3a639ff9/virtualenv-21.4.2-py3-none-any.whl", hash = "sha256:854210ca524a1a4d0d744734f4acbc721c3ffe163b85bbf5d56d14d5ae2f0fae", size = 7594079, upload-time = "2026-05-31T17:01:20.735Z" },
|
|
1512
1526
|
]
|
|
1513
1527
|
|
|
1514
1528
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/socketsecurity/core/helper/socket_facts_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/diff/stream_diff_full.json
RENAMED
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/head_scan/stream_scan.json
RENAMED
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/head_scan/stream_scan_full.json
RENAMED
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/data/fullscans/new_scan/stream_scan.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/e2e/fixtures/simple-pypi/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-analyze-populated.json
RENAMED
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-sbom-empty-deep.json
RENAMED
|
File without changes
|
{socketsecurity-2.4.5 → socketsecurity-2.4.6}/tests/fixtures/fossa/fossa-sbom-populated.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|