socketsecurity 2.11.2__tar.gz → 2.11.3__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 (175) hide show
  1. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/dependency-review.yml +10 -1
  2. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/CHANGELOG.md +15 -0
  3. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/Dockerfile +6 -0
  4. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/PKG-INFO +3 -2
  5. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/pyproject.toml +6 -2
  6. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/__init__.py +1 -1
  7. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/uv.lock +8 -5
  8. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/CODEOWNERS +0 -0
  9. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
  10. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
  11. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
  12. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  13. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/actions/setup-docker/action.yml +0 -0
  14. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/actions/setup-hatch/action.yml +0 -0
  15. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/actions/setup-sfw/action.yml +0 -0
  16. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/dependabot.yml +0 -0
  17. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/dependency-audit.yml +0 -0
  18. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/docker-stable.yml +0 -0
  19. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/e2e-test.yml +0 -0
  20. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/package-check.yml +0 -0
  21. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/pr-preview.yml +0 -0
  22. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/python-tests.yml +0 -0
  23. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/release.yml +0 -0
  24. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/workflows/version-check.yml +0 -0
  25. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.github/zizmor.yml +0 -0
  26. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.gitignore +0 -0
  27. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.hooks/sync_version.py +0 -0
  28. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.pre-commit-config.yaml +0 -0
  29. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/.python-version +0 -0
  30. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/CONTRIBUTING.md +0 -0
  31. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/Dockerfile.preview +0 -0
  32. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/LICENSE +0 -0
  33. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/Makefile +0 -0
  34. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/README.md +0 -0
  35. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/benchmarks/manifest_discovery.py +0 -0
  36. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/docs/ci-cd.md +0 -0
  37. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/docs/cli-reference.md +0 -0
  38. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/docs/development.md +0 -0
  39. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/docs/troubleshooting.md +0 -0
  40. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-dashboard-parity.json +0 -0
  41. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-dashboard-parity.toml +0 -0
  42. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-diff-ci-cd.json +0 -0
  43. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-diff-ci-cd.toml +0 -0
  44. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-instance-detail.json +0 -0
  45. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/examples/config/sarif-instance-detail.toml +0 -0
  46. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/instructions/gitlab-commit-status/uat.md +0 -0
  47. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/pytest.ini +0 -0
  48. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/build_container.sh +0 -0
  49. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/build_container_flexible.sh +0 -0
  50. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/deploy-test-docker.sh +0 -0
  51. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/deploy-test-pypi.sh +0 -0
  52. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/docker-entrypoint.sh +0 -0
  53. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/scripts/run.sh +0 -0
  54. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/session.md +0 -0
  55. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socket.yml +0 -0
  56. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/config.py +0 -0
  57. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/__init__.py +0 -0
  58. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/alert_selection.py +0 -0
  59. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/classes.py +0 -0
  60. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/cli_client.py +0 -0
  61. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/cli_run.py +0 -0
  62. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/exceptions.py +0 -0
  63. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/git_interface.py +0 -0
  64. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/git_remote.py +0 -0
  65. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/helper/__init__.py +0 -0
  66. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/helper/socket_facts_loader.py +0 -0
  67. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/lazy_file_loader.py +0 -0
  68. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/log_uploader.py +0 -0
  69. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/logging.py +0 -0
  70. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/messages.py +0 -0
  71. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/pull_request.py +0 -0
  72. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/resource_utils.py +0 -0
  73. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm/__init__.py +0 -0
  74. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm/base.py +0 -0
  75. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm/client.py +0 -0
  76. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm/github.py +0 -0
  77. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm/gitlab.py +0 -0
  78. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/scm_comments.py +0 -0
  79. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/socket_config.py +0 -0
  80. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/streaming.py +0 -0
  81. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/tools/coana-cache.mjs +0 -0
  82. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/tools/reachability.py +0 -0
  83. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/core/utils.py +0 -0
  84. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/fossa_compat.py +0 -0
  85. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/output.py +0 -0
  86. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/__init__.py +0 -0
  87. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/base.py +0 -0
  88. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/formatters/__init__.py +0 -0
  89. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/formatters/slack.py +0 -0
  90. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/jira.py +0 -0
  91. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/manager.py +0 -0
  92. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/slack.py +0 -0
  93. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/teams.py +0 -0
  94. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/plugins/webhook.py +0 -0
  95. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/socketsecurity/socketcli.py +0 -0
  96. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/__init__.py +0 -0
  97. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/conftest.py +0 -0
  98. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/create_diff_input.json +0 -0
  99. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_diff_alerts.py +0 -0
  100. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_diff_generation.py +0 -0
  101. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_diff_scan_polling.py +0 -0
  102. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_facts_compression.py +0 -0
  103. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_full_scan_outputs.py +0 -0
  104. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_has_manifest_files.py +0 -0
  105. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_invalid_facts_marker.py +0 -0
  106. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_package_and_alerts.py +0 -0
  107. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_sdk_methods.py +0 -0
  108. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/core/test_supporting_methods.py +0 -0
  109. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/create_response.json +0 -0
  110. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/diff/stream_diff.json +0 -0
  111. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
  112. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/head_scan/metadata.json +0 -0
  113. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
  114. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
  115. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/new_scan/metadata.json +0 -0
  116. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
  117. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/repos/repo_info_error.json +0 -0
  118. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/repos/repo_info_no_head.json +0 -0
  119. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/repos/repo_info_success.json +0 -0
  120. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/data/settings/security-policy.json +0 -0
  121. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/fixtures/simple-npm/index.js +0 -0
  122. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/fixtures/simple-npm/package.json +0 -0
  123. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/fixtures/simple-pypi/requirements.txt +0 -0
  124. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/reach-facts-probe.sh +0 -0
  125. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/validate-gitlab.sh +0 -0
  126. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/validate-json.sh +0 -0
  127. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/validate-reachability.sh +0 -0
  128. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/validate-sarif.sh +0 -0
  129. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/e2e/validate-scan.sh +0 -0
  130. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/fixtures/fossa/README.md +0 -0
  131. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/fixtures/fossa/fossa-analyze-empty.json +0 -0
  132. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/fixtures/fossa/fossa-analyze-populated.json +0 -0
  133. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/fixtures/fossa/fossa-sbom-empty-deep.json +0 -0
  134. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/fixtures/fossa/fossa-sbom-populated.json +0 -0
  135. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/__init__.py +0 -0
  136. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_alert_selection.py +0 -0
  137. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_cli_config.py +0 -0
  138. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_cli_run.py +0 -0
  139. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_client.py +0 -0
  140. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_commit_message_truncation.py +0 -0
  141. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_config.py +0 -0
  142. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_dependency_overview.py +0 -0
  143. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_disable_ignore.py +0 -0
  144. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_exclude_paths.py +0 -0
  145. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_fossa_compat.py +0 -0
  146. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_fossa_parity.py +0 -0
  147. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_full_scan_retry.py +0 -0
  148. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_git_interface.py +0 -0
  149. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_git_remote.py +0 -0
  150. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_github_buildkite_config.py +0 -0
  151. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_gitlab_auth.py +0 -0
  152. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_gitlab_auth_fallback.py +0 -0
  153. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_gitlab_commit_status.py +0 -0
  154. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_gitlab_format.py +0 -0
  155. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_ignore_authorization.py +0 -0
  156. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_ignore_telemetry_filtering.py +0 -0
  157. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_include_dirs.py +0 -0
  158. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_log_uploader.py +0 -0
  159. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_manifest_discovery.py +0 -0
  160. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_messages.py +0 -0
  161. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_output.py +0 -0
  162. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_pr_comment_rendering.py +0 -0
  163. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_pull_request_context.py +0 -0
  164. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_reachability.py +0 -0
  165. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_scan_scope.py +0 -0
  166. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_slack_plugin.py +0 -0
  167. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_slack_severity_normalization.py +0 -0
  168. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_socketcli.py +0 -0
  169. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_streaming.py +0 -0
  170. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_summary_text.py +0 -0
  171. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/tests/unit/test_tier1_finalize.py +0 -0
  172. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/workflows/bitbucket-pipelines.yml +0 -0
  173. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/workflows/buildkite.yml +0 -0
  174. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/workflows/github-actions.yml +0 -0
  175. {socketsecurity-2.11.2 → socketsecurity-2.11.3}/workflows/gitlab-ci.yml +0 -0
@@ -598,7 +598,8 @@ jobs:
598
598
 
599
599
  # The eMudhra test hosts serve certificates from the compromised
600
600
  # intermediates. Require the specific rejection, not just any failure, so
601
- # a DNS or network error cannot pass as "rejected".
601
+ # a DNS or network error cannot pass as "rejected". pip is checked on its
602
+ # own because it uses its vendored CA bundle, not the system store.
602
603
  - name: Check TLS clients reject the compromised eMudhra intermediates
603
604
  run: |
604
605
  docker run --rm --entrypoint sh socket-python-cli:dependabot-smoke -c '
@@ -640,6 +641,14 @@ jobs:
640
641
  echo "::error::python requests on $host: $result"
641
642
  status=1
642
643
  fi
644
+ if python -m pip download --no-deps --no-cache-dir --retries 0 --timeout 30 \
645
+ --dest /tmp/pip-tls --index-url "https://$host/simple/" certifi 2>&1 \
646
+ | grep -q CERTIFICATE_VERIFY_FAILED; then
647
+ echo "pip rejects $host"
648
+ else
649
+ echo "::error::pip on $host did not fail certificate verification"
650
+ status=1
651
+ fi
643
652
  done
644
653
  for url in https://api.socket.dev/v0/ https://registry.npmjs.org/ https://pypi.org/simple/; do
645
654
  if curl -sS -m 30 -o /dev/null "$url"; then
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.11.3
4
+
5
+ ### Fixed: finish rejecting the compromised eMudhra intermediate CAs
6
+
7
+ - `socketsecurity` now requires `certifi>=2026.10.19`. Previously only the
8
+ Docker image's lockfile pinned it, so `pip install socketsecurity` could keep
9
+ an older CA bundle that trusts the compromised intermediates.
10
+ - The Docker image upgrades `pip` to `26.2.2` or newer. Earlier versions use
11
+ their own vendored CA bundle, which still trusted them.
12
+
13
+ ### Changed: bump the Socket Python SDK to 3.6.1
14
+
15
+ - Bumped the pinned Socket Python SDK (`socketdev`) from `3.6.0` to `3.6.1`,
16
+ which also requires `certifi>=2026.10.19`.
17
+
3
18
  ## 2.11.2
4
19
 
5
20
  ### Fixed: stop trusting the compromised eMudhra intermediate CAs
@@ -28,6 +28,12 @@ RUN apk update && apk add --no-cache \
28
28
  apk upgrade --no-cache ca-certificates && \
29
29
  [ "$(apk version -t "$(apk list -I ca-certificates | awk '{print $1}' | sed 's/^ca-certificates-//')" 20261020-r0)" != "<" ]
30
30
 
31
+ # pip uses its own vendored CA bundle, not the system store, and the base image's
32
+ # pip trusts the compromised eMudhra intermediates. 26.2.2 vendors certifi
33
+ # 2026.10.19. Upgrade it against the system store fixed above.
34
+ RUN python -m pip install --no-cache-dir --cert /etc/ssl/certs/ca-certificates.crt --upgrade "pip>=26.2.2" && \
35
+ python -c 'import sys, pip; sys.exit(tuple(map(int, pip.__version__.split(".")[:3])) < (26, 2, 2))'
36
+
31
37
  # npm, npx and yarn are symlinks in the node image. COPY would dereference them
32
38
  # into flat files and break their relative requires, so recreate the links.
33
39
  COPY --from=node /usr/local/bin/node /usr/local/bin/node
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: socketsecurity
3
- Version: 2.11.2
3
+ Version: 2.11.3
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>
@@ -36,6 +36,7 @@ Requires-Python: >=3.11
36
36
  Requires-Dist: beautifulsoup4==4.15.0
37
37
  Requires-Dist: brotli==1.2.0; platform_python_implementation == 'CPython'
38
38
  Requires-Dist: brotlicffi==1.2.0.2; platform_python_implementation != 'CPython'
39
+ Requires-Dist: certifi>=2026.10.19
39
40
  Requires-Dist: gitpython==3.2.0
40
41
  Requires-Dist: markdown==3.11.1
41
42
  Requires-Dist: mdutils==1.8.1
@@ -43,7 +44,7 @@ Requires-Dist: packaging==26.3
43
44
  Requires-Dist: prettytable==3.18.0
44
45
  Requires-Dist: python-dotenv==1.2.4
45
46
  Requires-Dist: requests==2.34.2
46
- Requires-Dist: socketdev==3.6.0
47
+ Requires-Dist: socketdev==3.6.1
47
48
  Provides-Extra: dev
48
49
  Requires-Dist: hatch==1.18.1; extra == 'dev'
49
50
  Requires-Dist: pre-commit==4.7.0; extra == 'dev'
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "socketsecurity"
9
- version = "2.11.2"
9
+ version = "2.11.3"
10
10
  requires-python = ">= 3.11"
11
11
  license = {"file" = "LICENSE"}
12
12
  dependencies = [
@@ -16,11 +16,15 @@ dependencies = [
16
16
  "gitpython==3.2.0",
17
17
  "packaging==26.3",
18
18
  "python-dotenv==1.2.4",
19
- "socketdev==3.6.0",
19
+ "socketdev==3.6.1",
20
20
  "beautifulsoup4==4.15.0",
21
21
  "markdown==3.11.1",
22
22
  "brotli==1.2.0; platform_python_implementation == 'CPython'",
23
23
  "brotlicffi==1.2.0.2; platform_python_implementation != 'CPython'",
24
+ # requests' CA bundle. A floor rather than an exact pin, so later trust-store
25
+ # fixes still reach installs; 2026.10.19 drops the roots behind the
26
+ # compromised eMudhra intermediates.
27
+ "certifi>=2026.10.19",
24
28
  ]
25
29
  readme = "README.md"
26
30
  description = "Socket Security CLI for CI/CD"
@@ -1,3 +1,3 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '2.11.2'
2
+ __version__ = '2.11.3'
3
3
  USER_AGENT = f'SocketPythonCLI/{__version__}'
@@ -1279,25 +1279,27 @@ wheels = [
1279
1279
 
1280
1280
  [[package]]
1281
1281
  name = "socketdev"
1282
- version = "3.6.0"
1282
+ version = "3.6.1"
1283
1283
  source = { registry = "https://pypi.org/simple" }
1284
1284
  dependencies = [
1285
+ { name = "certifi" },
1285
1286
  { name = "requests" },
1286
1287
  { name = "typing-extensions" },
1287
1288
  ]
1288
- sdist = { url = "https://files.pythonhosted.org/packages/4f/64/7c44c1b1f739db9c40ea0a3d429d27b1810f43153b0680ec4bfc3aada644/socketdev-3.6.0.tar.gz", hash = "sha256:8453da37520db79735479e0892b74cef8ce5bcba52c99f15ffacc6a70f9ea355", size = 201023, upload-time = "2026-09-09T22:44:01.761Z" }
1289
+ sdist = { url = "https://files.pythonhosted.org/packages/c2/de/c62e2e76ae5f7f55901d1d1cefc5b141309342fd1ae19d44f350fd264efc/socketdev-3.6.1.tar.gz", hash = "sha256:4086d6842a51dd4fd91ecf6aa3f1e24e7c7200f110e50c866784bc09e1fc9986", size = 176415, upload-time = "2026-10-21T21:30:12.548Z" }
1289
1290
  wheels = [
1290
- { url = "https://files.pythonhosted.org/packages/fb/c3/e4ac2746b803109eab1fa7b44b02697f365fb418340411df5091e50d4a07/socketdev-3.6.0-py3-none-any.whl", hash = "sha256:fe017aefa72638375bb0fb1697bf5704f64143a5fab634534dfc3e77c851b374", size = 73352, upload-time = "2026-09-09T22:44:00.167Z" },
1291
+ { url = "https://files.pythonhosted.org/packages/27/70/fe1e09c59dd566391aaf7bd0fb89ed9d1011e13f8fc4f4e8cc9376243888/socketdev-3.6.1-py3-none-any.whl", hash = "sha256:2297c7442c5debfa14ac464fd08b2755edbd71063b4cee3844bff173167f30e4", size = 73395, upload-time = "2026-10-21T21:30:10.718Z" },
1291
1292
  ]
1292
1293
 
1293
1294
  [[package]]
1294
1295
  name = "socketsecurity"
1295
- version = "2.11.2"
1296
+ version = "2.11.3"
1296
1297
  source = { editable = "." }
1297
1298
  dependencies = [
1298
1299
  { name = "beautifulsoup4" },
1299
1300
  { name = "brotli", marker = "platform_python_implementation == 'CPython'" },
1300
1301
  { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'" },
1302
+ { name = "certifi" },
1301
1303
  { name = "gitpython" },
1302
1304
  { name = "markdown" },
1303
1305
  { name = "mdutils" },
@@ -1334,6 +1336,7 @@ requires-dist = [
1334
1336
  { name = "beautifulsoup4", specifier = "==4.15.0" },
1335
1337
  { name = "brotli", marker = "platform_python_implementation == 'CPython'", specifier = "==1.2.0" },
1336
1338
  { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'", specifier = "==1.2.0.2" },
1339
+ { name = "certifi", specifier = ">=2026.10.19" },
1337
1340
  { name = "gitpython", specifier = "==3.2.0" },
1338
1341
  { name = "hatch", marker = "extra == 'dev'", specifier = "==1.18.1" },
1339
1342
  { name = "markdown", specifier = "==3.11.1" },
@@ -1349,7 +1352,7 @@ requires-dist = [
1349
1352
  { name = "python-dotenv", specifier = "==1.2.4" },
1350
1353
  { name = "requests", specifier = "==2.34.2" },
1351
1354
  { name = "ruff", marker = "extra == 'dev'", specifier = "==0.17.0" },
1352
- { name = "socketdev", specifier = "==3.6.0" },
1355
+ { name = "socketdev", specifier = "==3.6.1" },
1353
1356
  { name = "twine", marker = "extra == 'dev'", specifier = "==7.0.0" },
1354
1357
  { name = "uv", marker = "extra == 'dev'", specifier = "==0.13.4" },
1355
1358
  ]
File without changes