socketsecurity 2.2.18__tar.gz → 2.2.23__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.2.18 → socketsecurity-2.2.23}/Dockerfile +6 -1
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/PKG-INFO +2 -2
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/pyproject.toml +2 -2
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/__init__.py +1 -1
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/git_interface.py +1 -2
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/tools/reachability.py +26 -22
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/uv.lock +5 -5
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/CODEOWNERS +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/docker-stable.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/pr-preview.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/release.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/version-check.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.gitignore +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.hooks/sync_version.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.pre-commit-config.yaml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.python-version +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/LICENSE +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/Makefile +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/README.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/docs/README.md +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/pytest.ini +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/build_container.sh +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/deploy-test-docker.sh +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/deploy-test-pypi.sh +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/run.sh +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/config.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/classes.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/cli_client.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/exceptions.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/helper/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/lazy_file_loader.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/logging.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/messages.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/resource_utils.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/base.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/client.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/github.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/gitlab.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm_comments.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/socket_config.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/utils.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/output.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/base.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/jira.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/manager.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/slack.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/teams.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/webhook.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/socketcli.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/conftest.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/create_diff_input.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_diff_generation.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_package_and_alerts.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_sdk_methods.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_supporting_methods.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/create_response.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/diff/stream_diff.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/metadata.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/new_scan/metadata.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_error.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_no_head.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_success.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/settings/security-policy.json +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/__init__.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_cli_config.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_client.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_config.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_gitlab_auth.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_gitlab_auth_fallback.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_output.py +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/bitbucket-pipelines.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/github-actions.yml +0 -0
- {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/gitlab-ci.yml +0 -0
|
@@ -6,7 +6,12 @@ ARG PIP_INDEX_URL=https://pypi.org/simple
|
|
|
6
6
|
ARG PIP_EXTRA_INDEX_URL=https://pypi.org/simple
|
|
7
7
|
|
|
8
8
|
RUN apk update \
|
|
9
|
-
&& apk add --no-cache git nodejs npm yarn
|
|
9
|
+
&& apk add --no-cache git nodejs npm yarn curl \
|
|
10
|
+
&& npm install @coana-tech/cli -g
|
|
11
|
+
|
|
12
|
+
# Install uv
|
|
13
|
+
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
14
|
+
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
10
15
|
|
|
11
16
|
# Install CLI with retries for TestPyPI propagation (10 attempts, 30s each = 5 minutes total)
|
|
12
17
|
RUN for i in $(seq 1 10); do \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: socketsecurity
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.23
|
|
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>
|
|
@@ -40,7 +40,7 @@ Requires-Dist: packaging
|
|
|
40
40
|
Requires-Dist: prettytable
|
|
41
41
|
Requires-Dist: python-dotenv
|
|
42
42
|
Requires-Dist: requests
|
|
43
|
-
Requires-Dist: socketdev<4.0.0,>=3.0.
|
|
43
|
+
Requires-Dist: socketdev<4.0.0,>=3.0.16
|
|
44
44
|
Provides-Extra: dev
|
|
45
45
|
Requires-Dist: hatch; extra == 'dev'
|
|
46
46
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "socketsecurity"
|
|
9
|
-
version = "2.2.
|
|
9
|
+
version = "2.2.23"
|
|
10
10
|
requires-python = ">= 3.10"
|
|
11
11
|
license = {"file" = "LICENSE"}
|
|
12
12
|
dependencies = [
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
|
16
16
|
'GitPython',
|
|
17
17
|
'packaging',
|
|
18
18
|
'python-dotenv',
|
|
19
|
-
'socketdev>=3.0.
|
|
19
|
+
'socketdev>=3.0.16,<4.0.0',
|
|
20
20
|
"bs4>=0.0.2",
|
|
21
21
|
]
|
|
22
22
|
readme = "README.md"
|
|
@@ -97,8 +97,7 @@ class Git:
|
|
|
97
97
|
else:
|
|
98
98
|
# Try to get branch name from git properties
|
|
99
99
|
try:
|
|
100
|
-
self.branch = self.head.reference
|
|
101
|
-
urllib.parse.unquote(str(self.branch))
|
|
100
|
+
self.branch = urllib.parse.unquote(str(self.head.reference))
|
|
102
101
|
log.debug(f"Branch detected from git reference: {self.branch}")
|
|
103
102
|
except Exception as error:
|
|
104
103
|
log.debug(f"Failed to get branch from git reference: {error}")
|
|
@@ -17,10 +17,10 @@ class ReachabilityAnalyzer:
|
|
|
17
17
|
|
|
18
18
|
def _ensure_coana_cli_installed(self, version: Optional[str] = None) -> str:
|
|
19
19
|
"""
|
|
20
|
-
Check if @coana-tech/cli is installed, and install it if
|
|
20
|
+
Check if @coana-tech/cli is installed, and install/update it if needed.
|
|
21
21
|
|
|
22
22
|
Args:
|
|
23
|
-
version: Specific version to install (e.g., '1.2.3')
|
|
23
|
+
version: Specific version to install (e.g., '1.2.3'). If None, updates to latest.
|
|
24
24
|
|
|
25
25
|
Returns:
|
|
26
26
|
str: The package specifier to use with npx
|
|
@@ -28,27 +28,31 @@ class ReachabilityAnalyzer:
|
|
|
28
28
|
# Determine the package specifier
|
|
29
29
|
package_spec = f"@coana-tech/cli@{version}" if version else "@coana-tech/cli"
|
|
30
30
|
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
# If npm list succeeds and mentions the package, it's installed
|
|
42
|
-
if result.returncode == 0 and "@coana-tech/cli" in result.stdout:
|
|
43
|
-
log.debug(f"@coana-tech/cli is already installed globally")
|
|
44
|
-
return package_spec
|
|
31
|
+
# If a specific version is requested, check if it's already installed
|
|
32
|
+
if version:
|
|
33
|
+
try:
|
|
34
|
+
check_cmd = ["npm", "list", "-g", "@coana-tech/cli", "--depth=0"]
|
|
35
|
+
result = subprocess.run(
|
|
36
|
+
check_cmd,
|
|
37
|
+
capture_output=True,
|
|
38
|
+
text=True,
|
|
39
|
+
timeout=10
|
|
40
|
+
)
|
|
45
41
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
# If npm list succeeds and mentions the specific version, it's installed
|
|
43
|
+
if result.returncode == 0 and f"@coana-tech/cli@{version}" in result.stdout:
|
|
44
|
+
log.debug(f"@coana-tech/cli@{version} is already installed globally")
|
|
45
|
+
return package_spec
|
|
46
|
+
|
|
47
|
+
except Exception as e:
|
|
48
|
+
log.debug(f"Could not check for existing @coana-tech/cli installation: {e}")
|
|
49
|
+
|
|
50
|
+
# Install or update the package
|
|
51
|
+
if version:
|
|
52
|
+
log.info(f"Installing reachability analysis plugin (@coana-tech/cli@{version})...")
|
|
53
|
+
else:
|
|
54
|
+
log.info("Updating reachability analysis plugin (@coana-tech/cli) to latest version...")
|
|
55
|
+
log.info("This may take a moment...")
|
|
52
56
|
|
|
53
57
|
try:
|
|
54
58
|
install_cmd = ["npm", "install", "-g", package_spec]
|
|
@@ -1052,20 +1052,20 @@ wheels = [
|
|
|
1052
1052
|
|
|
1053
1053
|
[[package]]
|
|
1054
1054
|
name = "socketdev"
|
|
1055
|
-
version = "3.0.
|
|
1055
|
+
version = "3.0.16"
|
|
1056
1056
|
source = { registry = "https://pypi.org/simple" }
|
|
1057
1057
|
dependencies = [
|
|
1058
1058
|
{ name = "requests" },
|
|
1059
1059
|
{ name = "typing-extensions" },
|
|
1060
1060
|
]
|
|
1061
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1061
|
+
sdist = { url = "https://files.pythonhosted.org/packages/02/0d/6da0e0c34b97eef3a926d55470fa4bda2fcbbc42cc9e26ac51a34c6f117d/socketdev-3.0.16.tar.gz", hash = "sha256:5145300945e4e8d2d7f71db9c55cb44cc1449874f9d6416cc1d6ec129c64d638", size = 132505, upload-time = "2025-11-07T03:24:16.231Z" }
|
|
1062
1062
|
wheels = [
|
|
1063
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1063
|
+
{ url = "https://files.pythonhosted.org/packages/a3/91/8486b2a62ba71d62a8f4f2f9ad22c61fcaabb461c5f269bbe0734eae76f9/socketdev-3.0.16-py3-none-any.whl", hash = "sha256:f5e413f5f2f8c0c938d5654da7f0a157c0be02a25e14d94af62c252e9fb3b502", size = 58567, upload-time = "2025-11-07T03:24:14.965Z" },
|
|
1064
1064
|
]
|
|
1065
1065
|
|
|
1066
1066
|
[[package]]
|
|
1067
1067
|
name = "socketsecurity"
|
|
1068
|
-
version = "2.2.
|
|
1068
|
+
version = "2.2.18"
|
|
1069
1069
|
source = { editable = "." }
|
|
1070
1070
|
dependencies = [
|
|
1071
1071
|
{ name = "bs4" },
|
|
@@ -1111,7 +1111,7 @@ requires-dist = [
|
|
|
1111
1111
|
{ name = "python-dotenv" },
|
|
1112
1112
|
{ name = "requests" },
|
|
1113
1113
|
{ name = "ruff", marker = "extra == 'dev'", specifier = ">=0.3.0" },
|
|
1114
|
-
{ name = "socketdev", specifier = ">=3.0.
|
|
1114
|
+
{ name = "socketdev", specifier = ">=3.0.16,<4.0.0" },
|
|
1115
1115
|
{ name = "twine", marker = "extra == 'dev'" },
|
|
1116
1116
|
{ name = "uv", marker = "extra == 'dev'", specifier = ">=0.1.0" },
|
|
1117
1117
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/improvement.md
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
|
|
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.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/diff/stream_diff_full.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/metadata.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan_full.json
RENAMED
|
File without changes
|
|
File without changes
|
{socketsecurity-2.2.18 → socketsecurity-2.2.23}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|