sandbox-cli 0.2.44__tar.gz → 0.2.45__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 (37) hide show
  1. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/PKG-INFO +1 -1
  2. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/pyproject.toml +1 -1
  3. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/scanner/__init__.py +9 -0
  4. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/scanner/advanced.py +29 -19
  5. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/.gitignore +0 -0
  6. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/LICENSE +0 -0
  7. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/NOTICE +0 -0
  8. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/README.md +0 -0
  9. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/__main__.py +0 -0
  10. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/__init__.py +0 -0
  11. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/downloader.py +0 -0
  12. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/images.py +0 -0
  13. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/reporter.py +0 -0
  14. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/rules/__init__.py +0 -0
  15. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/cli/unpack.py +0 -0
  16. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/console.py +0 -0
  17. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/internal/__init__.py +0 -0
  18. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/internal/config.py +0 -0
  19. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/internal/helpers.py +0 -0
  20. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/models/__init__.py +0 -0
  21. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/models/detections.py +0 -0
  22. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/models/sandbox_arguments.py +0 -0
  23. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/__init__.py +0 -0
  24. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/compiler/__init__.py +0 -0
  25. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/compiler/abc.py +0 -0
  26. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/compiler/docker.py +0 -0
  27. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/compiler/ssh.py +0 -0
  28. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/downloader/__init__.py +0 -0
  29. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/extractors.py +0 -0
  30. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/merge_dll_hooks.py +0 -0
  31. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/scanner/__init__.py +0 -0
  32. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/scanner/rescan.py +0 -0
  33. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/unpack/__init__.py +0 -0
  34. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/unpack/plugins/__init__.py +0 -0
  35. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/unpack/plugins/abc.py +0 -0
  36. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/unpack/plugins/correlation.py +0 -0
  37. {sandbox_cli-0.2.44 → sandbox_cli-0.2.45}/sandbox_cli/utils/unpack/plugins/sort_by_plugins.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sandbox-cli
3
- Version: 0.2.44
3
+ Version: 0.2.45
4
4
  Summary: Command line tool for interaction with sandboxes
5
5
  Project-URL: Homepage, https://github.com/Security-Experts-Community/sandbox-cli
6
6
  Project-URL: Documentation, https://security-experts-community.github.io/sandbox-cli
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sandbox-cli"
3
- version = "0.2.44"
3
+ version = "0.2.45"
4
4
  description = "Command line tool for interaction with sandboxes"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -514,6 +514,14 @@ async def scan_new(
514
514
  group="Sandbox Options",
515
515
  ),
516
516
  ] = None,
517
+ fileextractor_excludes: Annotated[
518
+ Path | None,
519
+ Parameter(
520
+ name=["--fileextractor-excludes", "-fe"],
521
+ help="Path to file with fileextractor excludes",
522
+ group="Sandbox Options",
523
+ ),
524
+ ] = None,
517
525
  custom_command: Annotated[
518
526
  str | None,
519
527
  Parameter(
@@ -749,6 +757,7 @@ async def scan_new(
749
757
  unimon_hooks=unimon_hooks,
750
758
  custom_command=custom_command,
751
759
  dll_hooks_dir=dll_hooks_dir,
760
+ fileextractor_excludes=fileextractor_excludes,
752
761
  fake_name=fake_name,
753
762
  unpack=unpack,
754
763
  priority=priority,
@@ -93,6 +93,7 @@ async def _prepare_sandbox_new_scan(
93
93
  syscall_hooks: Path | None,
94
94
  unimon_hooks: Path | None,
95
95
  dll_hooks_dir: Path | None,
96
+ filextractor_excludes: Path | None,
96
97
  custom_command: str | None,
97
98
  no_procdumps_on_finish: bool,
98
99
  disable_lightweight_dumps: bool,
@@ -187,6 +188,13 @@ async def _prepare_sandbox_new_scan(
187
188
  dll_hooks_uri = (await sandbox.api.upload_file(data)).data.file_uri
188
189
  sandbox_options.debug_options["custom_dll_hooks"] = dll_hooks_uri
189
190
 
191
+ if filextractor_excludes:
192
+ progress.console.print(f"{console.INFO} Upload fileextractor excludes: {filextractor_excludes}")
193
+ async with aiofiles.open(filextractor_excludes, mode="rb") as fd:
194
+ data = await fd.read()
195
+ fileextractor_excludes_uri = (await sandbox.api.upload_file(data)).data.file_uri
196
+ sandbox_options.debug_options["custom_fileextractor_exclude"] = fileextractor_excludes_uri
197
+
190
198
  if custom_command:
191
199
  progress.console.print(f"{console.INFO} Commandline: {custom_command}")
192
200
  sandbox_options.custom_command = custom_command
@@ -218,6 +226,7 @@ async def scan_internal_advanced(
218
226
  syscall_hooks: Path | None,
219
227
  unimon_hooks: Path | None,
220
228
  dll_hooks_dir: Path | None,
229
+ fileextractor_excludes: Path | None,
221
230
  custom_command: str | None,
222
231
  fake_name: str | None,
223
232
  unpack: bool,
@@ -389,25 +398,26 @@ async def scan_internal_advanced(
389
398
  tasks: list[Coroutine[Any, Any, None]] = []
390
399
  with progress:
391
400
  sandbox, sandbox_options, images = await _prepare_sandbox_new_scan(
392
- progress,
393
- scan_images,
394
- rules_dir,
395
- key,
396
- is_local,
397
- analysis_duration,
398
- syscall_hooks,
399
- unimon_hooks,
400
- dll_hooks_dir,
401
- custom_command,
402
- no_procdumps_on_finish,
403
- disable_lightweight_dumps,
404
- bootkitmon,
405
- bootkitmon_duration,
406
- mitm_disabled,
407
- disable_clicker,
408
- skip_sample_run,
409
- vnc_mode,
410
- outbound_connections,
401
+ progress=progress,
402
+ scan_images=scan_images,
403
+ rules_dir=rules_dir,
404
+ sandbox_key=key,
405
+ is_local=is_local,
406
+ analysis_duration=analysis_duration,
407
+ syscall_hooks=syscall_hooks,
408
+ unimon_hooks=unimon_hooks,
409
+ dll_hooks_dir=dll_hooks_dir,
410
+ filextractor_excludes=fileextractor_excludes,
411
+ custom_command=custom_command,
412
+ no_procdumps_on_finish=no_procdumps_on_finish,
413
+ disable_lightweight_dumps=disable_lightweight_dumps,
414
+ bootkitmon=bootkitmon,
415
+ bootkitmon_duration=bootkitmon_duration,
416
+ mitm_disabled=mitm_disabled,
417
+ disable_clicker=disable_clicker,
418
+ skip_sample_run=skip_sample_run,
419
+ vnc_mode=vnc_mode,
420
+ outbound_connections=outbound_connections,
411
421
  )
412
422
  max_image_length = max(len(x) for x in images)
413
423
  for i, image_id in enumerate(images):
File without changes
File without changes
File without changes
File without changes