socketsecurity 2.2.68__tar.gz → 2.2.69__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 (95) hide show
  1. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.gitignore +1 -0
  2. socketsecurity-2.2.69/CHANGELOG.md +20 -0
  3. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/PKG-INFO +1 -1
  4. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/pyproject.toml +1 -1
  5. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/__init__.py +1 -1
  6. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/config.py +26 -2
  7. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/tools/reachability.py +15 -4
  8. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/socketcli.py +3 -1
  9. socketsecurity-2.2.68/CHANGELOG.md +0 -13
  10. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/CODEOWNERS +0 -0
  11. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
  12. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
  13. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
  14. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  15. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/workflows/docker-stable.yml +0 -0
  16. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/workflows/pr-preview.yml +0 -0
  17. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/workflows/release.yml +0 -0
  18. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.github/workflows/version-check.yml +0 -0
  19. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.hooks/sync_version.py +0 -0
  20. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.pre-commit-config.yaml +0 -0
  21. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/.python-version +0 -0
  22. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/Dockerfile +0 -0
  23. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/LICENSE +0 -0
  24. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/Makefile +0 -0
  25. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/README.md +0 -0
  26. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/docs/README.md +0 -0
  27. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/pytest.ini +0 -0
  28. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/build_container.sh +0 -0
  29. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/build_container_flexible.sh +0 -0
  30. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/deploy-test-docker.sh +0 -0
  31. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/deploy-test-pypi.sh +0 -0
  32. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/docker-entrypoint.sh +0 -0
  33. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/scripts/run.sh +0 -0
  34. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/session.md +0 -0
  35. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/__init__.py +0 -0
  36. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/classes.py +0 -0
  37. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/cli_client.py +0 -0
  38. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/exceptions.py +0 -0
  39. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/git_interface.py +0 -0
  40. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/helper/__init__.py +0 -0
  41. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/helper/socket_facts_loader.py +0 -0
  42. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/lazy_file_loader.py +0 -0
  43. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/logging.py +0 -0
  44. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/messages.py +0 -0
  45. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/resource_utils.py +0 -0
  46. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm/__init__.py +0 -0
  47. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm/base.py +0 -0
  48. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm/client.py +0 -0
  49. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm/github.py +0 -0
  50. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm/gitlab.py +0 -0
  51. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/scm_comments.py +0 -0
  52. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/socket_config.py +0 -0
  53. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/core/utils.py +0 -0
  54. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/output.py +0 -0
  55. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/__init__.py +0 -0
  56. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/base.py +0 -0
  57. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/formatters/__init__.py +0 -0
  58. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/formatters/slack.py +0 -0
  59. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/jira.py +0 -0
  60. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/manager.py +0 -0
  61. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/slack.py +0 -0
  62. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/teams.py +0 -0
  63. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/socketsecurity/plugins/webhook.py +0 -0
  64. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/__init__.py +0 -0
  65. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/conftest.py +0 -0
  66. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/create_diff_input.json +0 -0
  67. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/test_diff_alerts.py +0 -0
  68. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/test_diff_generation.py +0 -0
  69. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/test_package_and_alerts.py +0 -0
  70. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/test_sdk_methods.py +0 -0
  71. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/core/test_supporting_methods.py +0 -0
  72. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/create_response.json +0 -0
  73. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/diff/stream_diff.json +0 -0
  74. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
  75. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/head_scan/metadata.json +0 -0
  76. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
  77. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
  78. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/new_scan/metadata.json +0 -0
  79. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
  80. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/repos/repo_info_error.json +0 -0
  81. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/repos/repo_info_no_head.json +0 -0
  82. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/repos/repo_info_success.json +0 -0
  83. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/data/settings/security-policy.json +0 -0
  84. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/__init__.py +0 -0
  85. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_cli_config.py +0 -0
  86. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_client.py +0 -0
  87. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_config.py +0 -0
  88. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_gitlab_auth.py +0 -0
  89. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_gitlab_auth_fallback.py +0 -0
  90. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_gitlab_format.py +0 -0
  91. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/tests/unit/test_output.py +0 -0
  92. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/uv.lock +0 -0
  93. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/workflows/bitbucket-pipelines.yml +0 -0
  94. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/workflows/github-actions.yml +0 -0
  95. {socketsecurity-2.2.68 → socketsecurity-2.2.69}/workflows/gitlab-ci.yml +0 -0
@@ -1,6 +1,7 @@
1
1
  .idea
2
2
  venv
3
3
  .venv
4
+ .venv-test
4
5
  build
5
6
  dist
6
7
  *.build
@@ -0,0 +1,20 @@
1
+ # Changelog
2
+
3
+ ## 2.2.69
4
+
5
+ - Added `--reach-enable-analysis-splitting` flag to enable analysis splitting (disabled by default).
6
+ - Added `--reach-detailed-analysis-log-file` flag to print detailed analysis log file path.
7
+ - Added `--reach-lazy-mode` flag to enable lazy mode for reachability analysis.
8
+ - Changed default behavior: analysis splitting is now disabled by default. The old `--reach-disable-analysis-splitting` flag is kept as a hidden no-op for backwards compatibility.
9
+
10
+ ## 2.2.64
11
+
12
+ - Included PyPy in the Docker image.
13
+
14
+ ## 2.2.57
15
+
16
+ - Fixed Dockerfile to set `GOROOT` to `/usr/lib/go` when using system Go (`GO_VERSION=system`) instead of always using `/usr/local/go`.
17
+
18
+ ## 2.2.56
19
+
20
+ - Removed process timeout from reachability analysis subprocess. Timeouts are now only passed to the Coana CLI via the `--analysis-timeout` flag.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socketsecurity
3
- Version: 2.2.68
3
+ Version: 2.2.69
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>
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "socketsecurity"
9
- version = "2.2.68"
9
+ version = "2.2.69"
10
10
  requires-python = ">= 3.10"
11
11
  license = {"file" = "LICENSE"}
12
12
  dependencies = [
@@ -1,3 +1,3 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '2.2.68'
2
+ __version__ = '2.2.69'
3
3
  USER_AGENT = f'SocketPythonCLI/{__version__}'
@@ -72,7 +72,10 @@ class CliConfig:
72
72
  reach_analysis_memory_limit: Optional[int] = None
73
73
  reach_analysis_timeout: Optional[int] = None
74
74
  reach_disable_analytics: bool = False
75
- reach_disable_analysis_splitting: bool = False
75
+ reach_disable_analysis_splitting: bool = False # Deprecated, kept for backwards compatibility
76
+ reach_enable_analysis_splitting: bool = False
77
+ reach_detailed_analysis_log_file: bool = False
78
+ reach_lazy_mode: bool = False
76
79
  reach_ecosystems: Optional[List[str]] = None
77
80
  reach_exclude_paths: Optional[List[str]] = None
78
81
  reach_skip_cache: bool = False
@@ -148,6 +151,9 @@ class CliConfig:
148
151
  'reach_analysis_memory_limit': args.reach_analysis_memory_limit,
149
152
  'reach_disable_analytics': args.reach_disable_analytics,
150
153
  'reach_disable_analysis_splitting': args.reach_disable_analysis_splitting,
154
+ 'reach_enable_analysis_splitting': args.reach_enable_analysis_splitting,
155
+ 'reach_detailed_analysis_log_file': args.reach_detailed_analysis_log_file,
156
+ 'reach_lazy_mode': args.reach_lazy_mode,
151
157
  'reach_ecosystems': args.reach_ecosystems.split(',') if args.reach_ecosystems else None,
152
158
  'reach_exclude_paths': args.reach_exclude_paths.split(',') if args.reach_exclude_paths else None,
153
159
  'reach_skip_cache': args.reach_skip_cache,
@@ -642,7 +648,25 @@ def create_argument_parser() -> argparse.ArgumentParser:
642
648
  "--reach-disable-analysis-splitting",
643
649
  dest="reach_disable_analysis_splitting",
644
650
  action="store_true",
645
- help="Disable analysis splitting/bucketing for reachability analysis"
651
+ help=argparse.SUPPRESS # Deprecated, kept for backwards compatibility (no-op)
652
+ )
653
+ reachability_group.add_argument(
654
+ "--reach-enable-analysis-splitting",
655
+ dest="reach_enable_analysis_splitting",
656
+ action="store_true",
657
+ help="Enable analysis splitting/bucketing for reachability analysis (disabled by default). This is a legacy feature for improving performance"
658
+ )
659
+ reachability_group.add_argument(
660
+ "--reach-detailed-analysis-log-file",
661
+ dest="reach_detailed_analysis_log_file",
662
+ action="store_true",
663
+ help="Create a detailed analysis log file for reachability analysis. The output path is written to stdout"
664
+ )
665
+ reachability_group.add_argument(
666
+ "--reach-lazy-mode",
667
+ dest="reach_lazy_mode",
668
+ action="store_true",
669
+ help="Enable lazy mode for reachability analysis. This is an experimental feature for improving performance"
646
670
  )
647
671
  reachability_group.add_argument(
648
672
  "--reach-output-file",
@@ -93,7 +93,9 @@ class ReachabilityAnalyzer:
93
93
  min_severity: Optional[str] = None,
94
94
  skip_cache: bool = False,
95
95
  disable_analytics: bool = False,
96
- disable_analysis_splitting: bool = False,
96
+ enable_analysis_splitting: bool = False,
97
+ detailed_analysis_log_file: bool = False,
98
+ lazy_mode: bool = False,
97
99
  repo_name: Optional[str] = None,
98
100
  branch_name: Optional[str] = None,
99
101
  version: Optional[str] = None,
@@ -118,7 +120,9 @@ class ReachabilityAnalyzer:
118
120
  min_severity: Minimum severity level (info, low, moderate, high, critical)
119
121
  skip_cache: Skip cache usage
120
122
  disable_analytics: Disable analytics sharing
121
- disable_analysis_splitting: Disable analysis splitting
123
+ enable_analysis_splitting: Enable analysis splitting (disabled by default)
124
+ detailed_analysis_log_file: Print detailed analysis log file path
125
+ lazy_mode: Enable lazy mode for analysis
122
126
  repo_name: Repository name
123
127
  branch_name: Branch name
124
128
  version: Specific version of @coana-tech/cli to use
@@ -156,9 +160,16 @@ class ReachabilityAnalyzer:
156
160
 
157
161
  if disable_analytics:
158
162
  cmd.append("--disable-analytics-sharing")
159
-
160
- if disable_analysis_splitting:
163
+
164
+ # Analysis splitting is disabled by default; only omit the flag if explicitly enabled
165
+ if not enable_analysis_splitting:
161
166
  cmd.append("--disable-analysis-splitting")
167
+
168
+ if detailed_analysis_log_file:
169
+ cmd.append("--print-analysis-log-file")
170
+
171
+ if lazy_mode:
172
+ cmd.append("--lazy-mode")
162
173
 
163
174
  # KEY POINT: Only add manifest tar hash if we have one
164
175
  if tar_hash:
@@ -291,7 +291,9 @@ def main_code():
291
291
  min_severity=config.reach_min_severity,
292
292
  skip_cache=config.reach_skip_cache or False,
293
293
  disable_analytics=config.reach_disable_analytics or False,
294
- disable_analysis_splitting=config.reach_disable_analysis_splitting or False,
294
+ enable_analysis_splitting=config.reach_enable_analysis_splitting or False,
295
+ detailed_analysis_log_file=config.reach_detailed_analysis_log_file or False,
296
+ lazy_mode=config.reach_lazy_mode or False,
295
297
  repo_name=config.repo,
296
298
  branch_name=config.branch,
297
299
  version=config.reach_version,
@@ -1,13 +0,0 @@
1
- # Changelog
2
-
3
- ## 2.2.64
4
-
5
- - Included PyPy in the Docker image.
6
-
7
- ## 2.2.57
8
-
9
- - Fixed Dockerfile to set `GOROOT` to `/usr/lib/go` when using system Go (`GO_VERSION=system`) instead of always using `/usr/local/go`.
10
-
11
- ## 2.2.56
12
-
13
- - Removed process timeout from reachability analysis subprocess. Timeouts are now only passed to the Coana CLI via the `--analysis-timeout` flag.
File without changes
File without changes