socketsecurity 2.4.12__tar.gz → 2.4.14__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.
Files changed (151) hide show
  1. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/CHANGELOG.md +19 -0
  2. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/PKG-INFO +1 -1
  3. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/docs/cli-reference.md +10 -2
  4. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/docs/troubleshooting.md +1 -1
  5. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/pyproject.toml +1 -1
  6. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/__init__.py +1 -1
  7. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/__init__.py +18 -18
  8. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/tools/reachability.py +3 -3
  9. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/uv.lock +1 -1
  10. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/CODEOWNERS +0 -0
  11. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
  12. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
  13. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
  14. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  15. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/actions/setup-docker/action.yml +0 -0
  16. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/actions/setup-hatch/action.yml +0 -0
  17. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/actions/setup-sfw/action.yml +0 -0
  18. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/dependabot.yml +0 -0
  19. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/dependency-review.yml +0 -0
  20. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/docker-stable.yml +0 -0
  21. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/e2e-test.yml +0 -0
  22. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/pr-preview.yml +0 -0
  23. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/python-tests.yml +0 -0
  24. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/release.yml +0 -0
  25. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/workflows/version-check.yml +0 -0
  26. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.github/zizmor.yml +0 -0
  27. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.gitignore +0 -0
  28. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.hooks/sync_version.py +0 -0
  29. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.pre-commit-config.yaml +0 -0
  30. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/.python-version +0 -0
  31. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/Dockerfile +0 -0
  32. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/LICENSE +0 -0
  33. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/Makefile +0 -0
  34. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/README.md +0 -0
  35. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/docs/ci-cd.md +0 -0
  36. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/docs/development.md +0 -0
  37. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-dashboard-parity.json +0 -0
  38. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-dashboard-parity.toml +0 -0
  39. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-diff-ci-cd.json +0 -0
  40. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-diff-ci-cd.toml +0 -0
  41. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-instance-detail.json +0 -0
  42. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/examples/config/sarif-instance-detail.toml +0 -0
  43. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/instructions/gitlab-commit-status/uat.md +0 -0
  44. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/pytest.ini +0 -0
  45. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/build_container.sh +0 -0
  46. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/build_container_flexible.sh +0 -0
  47. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/deploy-test-docker.sh +0 -0
  48. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/deploy-test-pypi.sh +0 -0
  49. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/docker-entrypoint.sh +0 -0
  50. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/scripts/run.sh +0 -0
  51. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/session.md +0 -0
  52. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socket.yml +0 -0
  53. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/config.py +0 -0
  54. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/alert_selection.py +0 -0
  55. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/classes.py +0 -0
  56. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/cli_client.py +0 -0
  57. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/cli_run.py +0 -0
  58. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/exceptions.py +0 -0
  59. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/git_interface.py +0 -0
  60. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/helper/__init__.py +0 -0
  61. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/helper/socket_facts_loader.py +0 -0
  62. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/lazy_file_loader.py +0 -0
  63. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/log_uploader.py +0 -0
  64. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/logging.py +0 -0
  65. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/messages.py +0 -0
  66. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/resource_utils.py +0 -0
  67. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm/__init__.py +0 -0
  68. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm/base.py +0 -0
  69. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm/client.py +0 -0
  70. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm/github.py +0 -0
  71. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm/gitlab.py +0 -0
  72. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/scm_comments.py +0 -0
  73. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/socket_config.py +0 -0
  74. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/streaming.py +0 -0
  75. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/core/utils.py +0 -0
  76. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/fossa_compat.py +0 -0
  77. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/output.py +0 -0
  78. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/__init__.py +0 -0
  79. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/base.py +0 -0
  80. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/formatters/__init__.py +0 -0
  81. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/formatters/slack.py +0 -0
  82. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/jira.py +0 -0
  83. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/manager.py +0 -0
  84. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/slack.py +0 -0
  85. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/teams.py +0 -0
  86. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/plugins/webhook.py +0 -0
  87. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/socketsecurity/socketcli.py +0 -0
  88. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/__init__.py +0 -0
  89. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/conftest.py +0 -0
  90. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/create_diff_input.json +0 -0
  91. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_diff_alerts.py +0 -0
  92. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_diff_generation.py +0 -0
  93. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_facts_compression.py +0 -0
  94. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_has_manifest_files.py +0 -0
  95. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_package_and_alerts.py +0 -0
  96. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_sdk_methods.py +0 -0
  97. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/core/test_supporting_methods.py +0 -0
  98. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/create_response.json +0 -0
  99. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/diff/stream_diff.json +0 -0
  100. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
  101. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/head_scan/metadata.json +0 -0
  102. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
  103. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
  104. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/new_scan/metadata.json +0 -0
  105. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
  106. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/repos/repo_info_error.json +0 -0
  107. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/repos/repo_info_no_head.json +0 -0
  108. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/repos/repo_info_success.json +0 -0
  109. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/data/settings/security-policy.json +0 -0
  110. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/fixtures/simple-npm/index.js +0 -0
  111. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/fixtures/simple-npm/package.json +0 -0
  112. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/fixtures/simple-pypi/requirements.txt +0 -0
  113. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/validate-gitlab.sh +0 -0
  114. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/validate-json.sh +0 -0
  115. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/validate-reachability.sh +0 -0
  116. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/validate-sarif.sh +0 -0
  117. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/e2e/validate-scan.sh +0 -0
  118. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/fixtures/fossa/README.md +0 -0
  119. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/fixtures/fossa/fossa-analyze-empty.json +0 -0
  120. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/fixtures/fossa/fossa-analyze-populated.json +0 -0
  121. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/fixtures/fossa/fossa-sbom-empty-deep.json +0 -0
  122. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/fixtures/fossa/fossa-sbom-populated.json +0 -0
  123. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/__init__.py +0 -0
  124. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_alert_selection.py +0 -0
  125. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_cli_config.py +0 -0
  126. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_cli_run.py +0 -0
  127. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_client.py +0 -0
  128. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_config.py +0 -0
  129. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_dependency_overview.py +0 -0
  130. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_disable_ignore.py +0 -0
  131. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_exclude_paths.py +0 -0
  132. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_fossa_compat.py +0 -0
  133. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_fossa_parity.py +0 -0
  134. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_full_scan_retry.py +0 -0
  135. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_gitlab_auth.py +0 -0
  136. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_gitlab_auth_fallback.py +0 -0
  137. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_gitlab_commit_status.py +0 -0
  138. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_gitlab_format.py +0 -0
  139. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_ignore_telemetry_filtering.py +0 -0
  140. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_include_dirs.py +0 -0
  141. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_log_uploader.py +0 -0
  142. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_output.py +0 -0
  143. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_reachability.py +0 -0
  144. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_slack_plugin.py +0 -0
  145. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_socketcli.py +0 -0
  146. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_streaming.py +0 -0
  147. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/tests/unit/test_tier1_finalize.py +0 -0
  148. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/workflows/bitbucket-pipelines.yml +0 -0
  149. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/workflows/buildkite.yml +0 -0
  150. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/workflows/github-actions.yml +0 -0
  151. {socketsecurity-2.4.12 → socketsecurity-2.4.14}/workflows/gitlab-ci.yml +0 -0
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.4.14
4
+
5
+ ### Changed: bump pinned @coana-tech/cli to 15.5.9
6
+
7
+ - Bumped the pinned `@coana-tech/cli` version to `15.5.9` (previously `15.5.7`).
8
+
9
+ ## 2.4.13
10
+
11
+ ### Changed: reachability analysis types now use full names instead of "Tier 1/2/3"
12
+
13
+ - Reachability analysis types are referred to by their full names instead of the
14
+ "Tier 1/2/3" numbering: **Full application reachability** (formerly Tier 1),
15
+ **Precomputed reachability** (formerly Tier 2), and **Dependency reachability**
16
+ (formerly Tier 3). This updates `--help` text, command output, log messages, and docs
17
+ only — wire-format values such as the `socket_tier1` scan type are unchanged for
18
+ backward compatibility. See the reachability section in `docs/cli-reference.md` for the
19
+ old→new name mapping.
20
+ - Bumped the pinned `@coana-tech/cli` version to `15.5.7`.
21
+
3
22
  ## 2.4.12
4
23
 
5
24
  ### Changed: consolidated coana launcher env vars into `SOCKET_CLI_COANA_LAUNCHER`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socketsecurity
3
- Version: 2.4.12
3
+ Version: 2.4.14
4
4
  Summary: Socket Security CLI for CI/CD
5
5
  Project-URL: Homepage, https://socket.dev
6
6
  Author-email: Douglas Coburn <douglas@socket.dev>
@@ -240,8 +240,8 @@ If you don't want to provide the Socket API Token every time then you can use th
240
240
  #### Reachability Analysis
241
241
  | Parameter | Required | Default | Description |
242
242
  |:---------------------------------|:---------|:--------|:---------------------------------------------------------------------------------------------------------------------------|
243
- | `--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`). |
244
- | `--reach-version` | False | 15.5.0 | Version of @coana-tech/cli to use. Defaults to the pinned version that ships with this CLI release, so the engine only changes when you upgrade the Socket CLI. Pass `latest` to always use the newest published version (opt-in auto-update), or an explicit version (e.g. `1.2.3`) to pin it. |
243
+ | `--reach` | False | False | Enable reachability analysis to identify which vulnerable functions are actually called by your code. Creates a full application reachability scan (`scan_type=socket_tier1`). |
244
+ | `--reach-version` | False | 15.5.9 | Version of @coana-tech/cli to use. Defaults to the pinned version that ships with this CLI release, so the engine only changes when you upgrade the Socket CLI. Pass `latest` to always use the newest published version (opt-in auto-update), or an explicit version (e.g. `1.2.3`) to pin it. |
245
245
  | `--reach-analysis-timeout` | False | 10m | Timeout for each reachability analysis run, e.g. `90s`, `10m` or `1h`. Omitted by default, so coana applies its own default (`10m`). Alias: `--reach-timeout` |
246
246
  | `--reach-analysis-memory-limit` | False | 8GB | Memory limit for each reachability analysis run, e.g. `512MB` or `8GB`. Omitted by default, so coana applies its own default (`8GB`). Alias: `--reach-memory-limit` |
247
247
  | `--reach-concurrency` | False | 1 | Control parallel analysis execution (must be >= 1). Omitted by default, so coana applies its own default. |
@@ -271,6 +271,14 @@ The Python CLI verifies the following **up front** (before invoking the analysis
271
271
 
272
272
  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`.
273
273
 
274
+ **Reachability analysis types:**
275
+
276
+ Socket's reachability analysis comes in three forms, referred to by their full names rather than the older "Tier" numbering:
277
+
278
+ - **Full application reachability** (formerly *Tier 1*) — the full-application analysis enabled by `--reach`.
279
+ - **Precomputed reachability** (formerly *Tier 2*).
280
+ - **Dependency reachability** (formerly *Tier 3*).
281
+
274
282
  ## Config file support
275
283
 
276
284
  Use `--config <path>` to load defaults from a `.toml` or `.json` file.
@@ -22,7 +22,7 @@ Common reasons:
22
22
  - Policy vs dataset:
23
23
  - `--strict-blocking` only affects diff-scope behavior and does not make diff output equivalent to full dashboard data.
24
24
  - Reachability data availability:
25
- - If reachability analysis partially fails and falls back to precomputed tiers, counts can shift.
25
+ - If reachability analysis partially fails and falls back to precomputed reachability, counts can shift.
26
26
 
27
27
  Recommended comparison path:
28
28
 
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "socketsecurity"
9
- version = "2.4.12"
9
+ version = "2.4.14"
10
10
  requires-python = ">= 3.11"
11
11
  license = {"file" = "LICENSE"}
12
12
  dependencies = [
@@ -1,3 +1,3 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '2.4.12'
2
+ __version__ = '2.4.14'
3
3
  USER_AGENT = f'SocketPythonCLI/{__version__}'
@@ -58,7 +58,7 @@ _HUMANIZE_BOUNDARY = re.compile(r"(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z]
58
58
  # whose basename is exactly ``.socket.facts.json.br`` and stores it as plain
59
59
  # ``.socket.facts.json``. Compressing the facts file on upload keeps it well under the
60
60
  # server's per-file size cap (a ~262 MB facts file compresses to roughly 15-30 MB),
61
- # which is required for large reachability (tier 1) scans to succeed.
61
+ # which is required for large full application reachability scans to succeed.
62
62
  #
63
63
  # The server matches the *exact* name ``.socket.facts.json.br``, so we only compress
64
64
  # files whose basename is exactly ``.socket.facts.json`` (a custom ``--reach-output-file``
@@ -72,8 +72,8 @@ SOCKET_FACTS_BROTLI_LGWIN = 24
72
72
  # Stream the facts file in 1 MiB chunks so large files aren't held fully in memory.
73
73
  SOCKET_FACTS_BROTLI_CHUNK_SIZE = 1024 * 1024
74
74
 
75
- # Tier 1 reachability finalize retry policy. The finalize call links the tier1 scan to the
76
- # full scan and can fail transiently (network/API blips); a few backoff retries make it robust.
75
+ # Full application reachability finalize retry policy. The finalize call links the reachability
76
+ # scan to the full scan and can fail transiently (network/API blips); a few backoff retries make it robust.
77
77
  TIER1_FINALIZE_MAX_ATTEMPTS = 3
78
78
  TIER1_FINALIZE_BACKOFF_SECONDS = 1.0
79
79
 
@@ -612,21 +612,21 @@ class Core:
612
612
 
613
613
  def finalize_tier1_scan(self, full_scan_id: str, facts_file_path: str) -> bool:
614
614
  """
615
- Finalize a tier 1 reachability scan by associating it with a full scan.
615
+ Finalize a full application reachability scan by associating it with a full scan.
616
616
 
617
617
  This function reads the tier1ReachabilityScanId from the facts file and
618
618
  calls the SDK to link it with the specified full scan.
619
619
 
620
- Linking the tier 1 scan to the full scan helps the Socket team debug potential issues.
620
+ Linking the reachability scan to the full scan helps the Socket team debug potential issues.
621
621
 
622
622
  Args:
623
- full_scan_id: The ID of the full scan to associate with the tier 1 scan
623
+ full_scan_id: The ID of the full scan to associate with the reachability scan
624
624
  facts_file_path: Path to the .socket.facts.json file containing the tier1ReachabilityScanId
625
625
 
626
626
  Returns:
627
627
  True if successful, False otherwise
628
628
  """
629
- log.debug(f"Finalizing tier 1 scan for full scan {full_scan_id}")
629
+ log.debug(f"Finalizing full application reachability scan for full scan {full_scan_id}")
630
630
 
631
631
  # Read the tier1ReachabilityScanId from the facts file
632
632
  try:
@@ -649,7 +649,7 @@ class Core:
649
649
  log.debug(f"Failed to read tier1ReachabilityScanId from {facts_file_path}: {e}")
650
650
  return False
651
651
 
652
- # Call the SDK to finalize the tier 1 scan, retrying transient failures with backoff.
652
+ # Call the SDK to finalize the full application reachability scan, retrying transient failures with backoff.
653
653
  last_error: Optional[Exception] = None
654
654
  for attempt in range(1, TIER1_FINALIZE_MAX_ATTEMPTS + 1):
655
655
  try:
@@ -659,7 +659,7 @@ class Core:
659
659
  )
660
660
 
661
661
  if success:
662
- log.debug(f"Successfully finalized tier 1 scan {tier1_scan_id} for full scan {full_scan_id}")
662
+ log.debug(f"Successfully finalized full application reachability scan {tier1_scan_id} for full scan {full_scan_id}")
663
663
  return True
664
664
 
665
665
  log.debug(
@@ -669,7 +669,7 @@ class Core:
669
669
  except Exception as e:
670
670
  last_error = e
671
671
  log.debug(
672
- f"Unable to finalize tier 1 scan (attempt {attempt}/{TIER1_FINALIZE_MAX_ATTEMPTS}): {e}"
672
+ f"Unable to finalize full application reachability scan (attempt {attempt}/{TIER1_FINALIZE_MAX_ATTEMPTS}): {e}"
673
673
  )
674
674
 
675
675
  if attempt < TIER1_FINALIZE_MAX_ATTEMPTS:
@@ -677,12 +677,12 @@ class Core:
677
677
 
678
678
  if last_error is not None:
679
679
  log.debug(
680
- f"Giving up finalizing tier 1 scan {tier1_scan_id} after "
680
+ f"Giving up finalizing full application reachability scan {tier1_scan_id} after "
681
681
  f"{TIER1_FINALIZE_MAX_ATTEMPTS} attempts: {last_error}"
682
682
  )
683
683
  else:
684
684
  log.debug(
685
- f"Giving up finalizing tier 1 scan {tier1_scan_id} after "
685
+ f"Giving up finalizing full application reachability scan {tier1_scan_id} after "
686
686
  f"{TIER1_FINALIZE_MAX_ATTEMPTS} attempts"
687
687
  )
688
688
  return False
@@ -846,21 +846,21 @@ class Core:
846
846
  total_time = create_full_end - create_full_start
847
847
  log.debug(f"New Full Scan created in {total_time:.2f} seconds")
848
848
 
849
- # Finalize tier1 scan if reachability analysis was enabled
849
+ # Finalize full application reachability scan if reachability analysis was enabled
850
850
  if self.cli_config and self.cli_config.reach:
851
851
  facts_file_path = os.path.join(
852
- self.cli_config.target_path or ".",
852
+ self.cli_config.target_path or ".",
853
853
  self.cli_config.reach_output_file
854
854
  )
855
- log.debug(f"Reachability analysis enabled, finalizing tier1 scan for full scan {full_scan.id}")
855
+ log.debug(f"Reachability analysis enabled, finalizing full application reachability scan for full scan {full_scan.id}")
856
856
  try:
857
857
  success = self.finalize_tier1_scan(full_scan.id, facts_file_path)
858
858
  if success:
859
- log.debug(f"Successfully finalized tier1 scan for full scan {full_scan.id}")
859
+ log.debug(f"Successfully finalized full application reachability scan for full scan {full_scan.id}")
860
860
  else:
861
- log.debug(f"Failed to finalize tier1 scan for full scan {full_scan.id}")
861
+ log.debug(f"Failed to finalize full application reachability scan for full scan {full_scan.id}")
862
862
  except Exception as e:
863
- log.warning(f"Error finalizing tier1 scan for full scan {full_scan.id}: {e}")
863
+ log.warning(f"Error finalizing full application reachability scan for full scan {full_scan.id}: {e}")
864
864
 
865
865
  return full_scan
866
866
 
@@ -18,7 +18,7 @@ log = logging.getLogger(__name__)
18
18
  # Pinned @coana-tech/cli version. Bumped deliberately per Python CLI release so the
19
19
  # reachability engine version only changes through a standard pip upgrade (advance notice).
20
20
  # Pass --reach-version latest to opt into the newest published version instead.
21
- DEFAULT_COANA_CLI_VERSION: Final = "15.5.0"
21
+ DEFAULT_COANA_CLI_VERSION: Final = "15.5.9"
22
22
 
23
23
  # Resolved @coana-tech/cli script paths from the npm-install fallback, keyed by version.
24
24
  # Lives for the process lifetime so repeated fallback invocations install only once
@@ -55,7 +55,7 @@ class ReachabilityAnalyzer:
55
55
 
56
56
  def _resolve_coana_package_spec(self, version: Optional[str] = None) -> str:
57
57
  """
58
- Resolve the @coana-tech/cli package spec to run (e.g. '@coana-tech/cli@15.5.0').
58
+ Resolve the @coana-tech/cli package spec to run (e.g. '@coana-tech/cli@15.5.9').
59
59
 
60
60
  Args:
61
61
  version: Coana CLI version to use.
@@ -64,7 +64,7 @@ class ReachabilityAnalyzer:
64
64
  - '<semver>': that exact version.
65
65
 
66
66
  Returns:
67
- str: The package specifier to use with npx (e.g. '@coana-tech/cli@15.5.0').
67
+ str: The package specifier to use with npx (e.g. '@coana-tech/cli@15.5.9').
68
68
  """
69
69
  return f"@coana-tech/cli@{self._resolve_coana_version(version)}"
70
70
 
@@ -1283,7 +1283,7 @@ wheels = [
1283
1283
 
1284
1284
  [[package]]
1285
1285
  name = "socketsecurity"
1286
- version = "2.4.12"
1286
+ version = "2.4.14"
1287
1287
  source = { editable = "." }
1288
1288
  dependencies = [
1289
1289
  { name = "brotli", marker = "platform_python_implementation == 'CPython'" },
File without changes