socketsecurity 2.2.33__tar.gz → 2.2.36__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.33 → socketsecurity-2.2.36}/PKG-INFO +9 -2
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/README.md +8 -1
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/pyproject.toml +1 -1
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/__init__.py +1 -1
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/__init__.py +70 -18
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm/github.py +1 -1
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/tools/reachability.py +5 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/socketcli.py +2 -1
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/CODEOWNERS +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/workflows/docker-stable.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/workflows/pr-preview.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/workflows/release.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.github/workflows/version-check.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.gitignore +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.hooks/sync_version.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.pre-commit-config.yaml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/.python-version +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/Dockerfile +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/LICENSE +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/Makefile +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/docs/README.md +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/pytest.ini +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/build_container.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/build_container_flexible.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/deploy-test-docker.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/deploy-test-pypi.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/docker-entrypoint.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/scripts/run.sh +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/config.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/classes.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/cli_client.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/exceptions.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/git_interface.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/helper/__init__.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/lazy_file_loader.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/logging.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/messages.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/resource_utils.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm/__init__.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm/base.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm/client.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm/gitlab.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/scm_comments.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/socket_config.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/core/utils.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/output.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/__init__.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/base.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/jira.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/manager.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/slack.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/teams.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/socketsecurity/plugins/webhook.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/__init__.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/conftest.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/create_diff_input.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/test_diff_generation.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/test_package_and_alerts.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/test_sdk_methods.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/core/test_supporting_methods.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/create_response.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/diff/stream_diff.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/metadata.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/new_scan/metadata.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/repos/repo_info_error.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/repos/repo_info_no_head.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/repos/repo_info_success.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/settings/security-policy.json +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/__init__.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_cli_config.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_client.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_config.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_gitlab_auth.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_gitlab_auth_fallback.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/unit/test_output.py +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/uv.lock +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/workflows/bitbucket-pipelines.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/workflows/github-actions.yml +0 -0
- {socketsecurity-2.2.33 → socketsecurity-2.2.36}/workflows/gitlab-ci.yml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: socketsecurity
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.36
|
|
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>
|
|
@@ -300,7 +300,9 @@ The CLI now automatically detects repository information from your git environme
|
|
|
300
300
|
- **Committer information**: Git commit author details
|
|
301
301
|
- **Default branch status**: Determined from git repository and CI environment
|
|
302
302
|
- **Changed files**: Files modified in the current commit (for differential scanning)
|
|
303
|
-
|
|
303
|
+
> **Note on merge commits**:
|
|
304
|
+
> Standard merges (two parents) are supported.
|
|
305
|
+
> For *octopus merges* (three or more parents), Git only reports changes relative to the first parent. This can lead to incomplete or empty file lists if changes only exist relative to other parents. In these cases, differential scanning may be skipped. To ensure coverage, use `--ignore-commit-files` to force a full scan or specify files explicitly with `--files`.
|
|
304
306
|
### Default Branch Detection
|
|
305
307
|
|
|
306
308
|
The CLI uses intelligent default branch detection with the following priority:
|
|
@@ -485,6 +487,11 @@ The manifest archive feature is useful for:
|
|
|
485
487
|
|
|
486
488
|
> **Note**: The tar.gz archive preserves the original directory structure, making it easy to extract and examine the files in their proper context.
|
|
487
489
|
|
|
490
|
+
### Differential scan skipped on octopus merge
|
|
491
|
+
|
|
492
|
+
When your repo uses an **octopus merge** (3+ parents), the CLI may not detect all changed files.
|
|
493
|
+
This is expected Git behavior: the default diff only compares the merge result to the first parent.
|
|
494
|
+
|
|
488
495
|
## Development
|
|
489
496
|
|
|
490
497
|
This project uses `pyproject.toml` as the primary dependency specification.
|
|
@@ -243,7 +243,9 @@ The CLI now automatically detects repository information from your git environme
|
|
|
243
243
|
- **Committer information**: Git commit author details
|
|
244
244
|
- **Default branch status**: Determined from git repository and CI environment
|
|
245
245
|
- **Changed files**: Files modified in the current commit (for differential scanning)
|
|
246
|
-
|
|
246
|
+
> **Note on merge commits**:
|
|
247
|
+
> Standard merges (two parents) are supported.
|
|
248
|
+
> For *octopus merges* (three or more parents), Git only reports changes relative to the first parent. This can lead to incomplete or empty file lists if changes only exist relative to other parents. In these cases, differential scanning may be skipped. To ensure coverage, use `--ignore-commit-files` to force a full scan or specify files explicitly with `--files`.
|
|
247
249
|
### Default Branch Detection
|
|
248
250
|
|
|
249
251
|
The CLI uses intelligent default branch detection with the following priority:
|
|
@@ -428,6 +430,11 @@ The manifest archive feature is useful for:
|
|
|
428
430
|
|
|
429
431
|
> **Note**: The tar.gz archive preserves the original directory structure, making it easy to extract and examine the files in their proper context.
|
|
430
432
|
|
|
433
|
+
### Differential scan skipped on octopus merge
|
|
434
|
+
|
|
435
|
+
When your repo uses an **octopus merge** (3+ parents), the CLI may not detect all changed files.
|
|
436
|
+
This is expected Git behavior: the default diff only compares the merge result to the first parent.
|
|
437
|
+
|
|
431
438
|
## Development
|
|
432
439
|
|
|
433
440
|
This project uses `pyproject.toml` as the primary dependency specification.
|
|
@@ -442,12 +442,13 @@ class Core:
|
|
|
442
442
|
Returns:
|
|
443
443
|
List containing path to a temporary empty file
|
|
444
444
|
"""
|
|
445
|
-
# Create a temporary
|
|
446
|
-
|
|
445
|
+
# Create a temporary directory and then create our specific filename
|
|
446
|
+
temp_dir = tempfile.gettempdir()
|
|
447
|
+
temp_path = os.path.join(temp_dir, '.socket.facts.json')
|
|
447
448
|
|
|
448
|
-
#
|
|
449
|
-
|
|
450
|
-
|
|
449
|
+
# Create the empty file
|
|
450
|
+
with open(temp_path, 'w') as f:
|
|
451
|
+
pass # Creates an empty file
|
|
451
452
|
|
|
452
453
|
log.debug(f"Created temporary empty file for baseline scan: {temp_path}")
|
|
453
454
|
return [temp_path]
|
|
@@ -524,18 +525,42 @@ class Core:
|
|
|
524
525
|
if save_manifest_tar_path and all_files and paths:
|
|
525
526
|
self.save_manifest_tar(all_files, save_manifest_tar_path, paths[0])
|
|
526
527
|
|
|
528
|
+
# If no supported files found, create empty scan
|
|
527
529
|
if not all_files:
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
530
|
+
log.info("No supported manifest files found - creating empty scan")
|
|
531
|
+
empty_files = Core.empty_head_scan_file()
|
|
532
|
+
try:
|
|
533
|
+
# Create new scan
|
|
534
|
+
new_scan_start = time.time()
|
|
535
|
+
new_full_scan = self.create_full_scan(empty_files, params, base_paths=base_paths)
|
|
536
|
+
new_scan_end = time.time()
|
|
537
|
+
log.info(f"Total time to create empty full scan: {new_scan_end - new_scan_start:.2f}")
|
|
538
|
+
|
|
539
|
+
# Clean up the temporary empty file
|
|
540
|
+
for temp_file in empty_files:
|
|
541
|
+
try:
|
|
542
|
+
os.unlink(temp_file)
|
|
543
|
+
log.debug(f"Cleaned up temporary file: {temp_file}")
|
|
544
|
+
except OSError as e:
|
|
545
|
+
log.warning(f"Failed to clean up temporary file {temp_file}: {e}")
|
|
546
|
+
except Exception as e:
|
|
547
|
+
# Clean up temp files even if scan creation fails
|
|
548
|
+
for temp_file in empty_files:
|
|
549
|
+
try:
|
|
550
|
+
os.unlink(temp_file)
|
|
551
|
+
except OSError:
|
|
552
|
+
pass
|
|
553
|
+
raise e
|
|
554
|
+
else:
|
|
555
|
+
try:
|
|
556
|
+
# Create new scan
|
|
557
|
+
new_scan_start = time.time()
|
|
558
|
+
new_full_scan = self.create_full_scan(all_files, params, base_paths=base_paths)
|
|
559
|
+
new_scan_end = time.time()
|
|
560
|
+
log.info(f"Total time to create new full scan: {new_scan_end - new_scan_start:.2f}")
|
|
561
|
+
except APIFailure as e:
|
|
562
|
+
log.error(f"Failed to create full scan: {e}")
|
|
563
|
+
raise
|
|
539
564
|
|
|
540
565
|
# Construct report URL
|
|
541
566
|
base_socket = "https://socket.dev/dashboard/org"
|
|
@@ -888,8 +913,11 @@ class Core:
|
|
|
888
913
|
if save_manifest_tar_path and all_files and paths:
|
|
889
914
|
self.save_manifest_tar(all_files, save_manifest_tar_path, paths[0])
|
|
890
915
|
|
|
916
|
+
# If no supported files found, create empty scan for comparison
|
|
917
|
+
scan_files = all_files
|
|
891
918
|
if not all_files:
|
|
892
|
-
|
|
919
|
+
log.info("No supported manifest files found - creating empty scan for diff comparison")
|
|
920
|
+
scan_files = Core.empty_head_scan_file()
|
|
893
921
|
|
|
894
922
|
try:
|
|
895
923
|
# Get head scan ID
|
|
@@ -932,19 +960,43 @@ class Core:
|
|
|
932
960
|
raise e
|
|
933
961
|
|
|
934
962
|
# Create new scan
|
|
963
|
+
temp_files_to_cleanup = []
|
|
964
|
+
if not all_files: # We're using empty scan files
|
|
965
|
+
temp_files_to_cleanup = scan_files
|
|
966
|
+
|
|
935
967
|
try:
|
|
936
968
|
new_scan_start = time.time()
|
|
937
|
-
new_full_scan = self.create_full_scan(
|
|
969
|
+
new_full_scan = self.create_full_scan(scan_files, params, base_paths=base_paths)
|
|
938
970
|
new_scan_end = time.time()
|
|
939
971
|
log.info(f"Total time to create new full scan: {new_scan_end - new_scan_start:.2f}")
|
|
940
972
|
except APIFailure as e:
|
|
941
973
|
log.error(f"API Error: {e}")
|
|
974
|
+
# Clean up temp files if any
|
|
975
|
+
for temp_file in temp_files_to_cleanup:
|
|
976
|
+
try:
|
|
977
|
+
os.unlink(temp_file)
|
|
978
|
+
except OSError:
|
|
979
|
+
pass
|
|
942
980
|
sys.exit(1)
|
|
943
981
|
except Exception as e:
|
|
944
982
|
import traceback
|
|
945
983
|
log.error(f"Error creating new full scan: {str(e)}")
|
|
946
984
|
log.error(f"Stack trace:\n{traceback.format_exc()}")
|
|
985
|
+
# Clean up temp files if any
|
|
986
|
+
for temp_file in temp_files_to_cleanup:
|
|
987
|
+
try:
|
|
988
|
+
os.unlink(temp_file)
|
|
989
|
+
except OSError:
|
|
990
|
+
pass
|
|
947
991
|
raise
|
|
992
|
+
finally:
|
|
993
|
+
# Clean up temporary empty files if they were created
|
|
994
|
+
for temp_file in temp_files_to_cleanup:
|
|
995
|
+
try:
|
|
996
|
+
os.unlink(temp_file)
|
|
997
|
+
log.debug(f"Cleaned up temporary file: {temp_file}")
|
|
998
|
+
except OSError as e:
|
|
999
|
+
log.warning(f"Failed to clean up temporary file {temp_file}: {e}")
|
|
948
1000
|
|
|
949
1001
|
# Handle diff generation - now we always have both scans
|
|
950
1002
|
scans_ready = self.check_full_scans_status(head_full_scan_id, new_full_scan.id)
|
|
@@ -100,7 +100,7 @@ class Github:
|
|
|
100
100
|
sys.exit(2)
|
|
101
101
|
|
|
102
102
|
def check_event_type(self) -> str:
|
|
103
|
-
if self.config.event_name.lower()
|
|
103
|
+
if self.config.event_name.lower() in ["push", "workflow_dispatch"]:
|
|
104
104
|
if not self.config.pr_number:
|
|
105
105
|
return "main"
|
|
106
106
|
return "diff"
|
|
@@ -100,6 +100,7 @@ class ReachabilityAnalyzer:
|
|
|
100
100
|
concurrency: Optional[int] = None,
|
|
101
101
|
additional_params: Optional[List[str]] = None,
|
|
102
102
|
allow_unverified: bool = False,
|
|
103
|
+
enable_debug: bool = False,
|
|
103
104
|
) -> Dict[str, Any]:
|
|
104
105
|
"""
|
|
105
106
|
Run reachability analysis.
|
|
@@ -123,6 +124,7 @@ class ReachabilityAnalyzer:
|
|
|
123
124
|
concurrency: Concurrency level for analysis (must be >= 1)
|
|
124
125
|
additional_params: Additional parameters to pass to coana CLI
|
|
125
126
|
allow_unverified: Disable SSL certificate verification (sets NODE_TLS_REJECT_UNAUTHORIZED=0)
|
|
127
|
+
enable_debug: Enable debug mode (passes -d flag to coana CLI)
|
|
126
128
|
|
|
127
129
|
Returns:
|
|
128
130
|
Dict containing scan_id and report_path
|
|
@@ -173,6 +175,9 @@ class ReachabilityAnalyzer:
|
|
|
173
175
|
if concurrency:
|
|
174
176
|
cmd.extend(["--concurrency", str(concurrency)])
|
|
175
177
|
|
|
178
|
+
if enable_debug:
|
|
179
|
+
cmd.append("-d")
|
|
180
|
+
|
|
176
181
|
# Add any additional parameters provided by the user
|
|
177
182
|
if additional_params:
|
|
178
183
|
cmd.extend(additional_params)
|
|
@@ -288,7 +288,8 @@ def main_code():
|
|
|
288
288
|
version=config.reach_version,
|
|
289
289
|
concurrency=config.reach_concurrency,
|
|
290
290
|
additional_params=config.reach_additional_params,
|
|
291
|
-
allow_unverified=config.allow_unverified
|
|
291
|
+
allow_unverified=config.allow_unverified,
|
|
292
|
+
enable_debug=config.enable_debug
|
|
292
293
|
)
|
|
293
294
|
|
|
294
295
|
log.info(f"Reachability analysis completed successfully")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{socketsecurity-2.2.33 → socketsecurity-2.2.36}/.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.33 → socketsecurity-2.2.36}/tests/data/fullscans/diff/stream_diff_full.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/metadata.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/stream_scan.json
RENAMED
|
File without changes
|
{socketsecurity-2.2.33 → socketsecurity-2.2.36}/tests/data/fullscans/head_scan/stream_scan_full.json
RENAMED
|
File without changes
|
|
File without changes
|
{socketsecurity-2.2.33 → socketsecurity-2.2.36}/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
|
|
File without changes
|