sandbox-cli 0.2.48__tar.gz → 0.2.49__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.48 → sandbox_cli-0.2.49}/PKG-INFO +2 -2
  2. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/pyproject.toml +2 -2
  3. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/scanner/__init__.py +10 -0
  4. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/scanner/advanced.py +7 -0
  5. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/.gitignore +0 -0
  6. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/LICENSE +0 -0
  7. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/NOTICE +0 -0
  8. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/README.md +0 -0
  9. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/__main__.py +0 -0
  10. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/__init__.py +0 -0
  11. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/downloader.py +0 -0
  12. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/images.py +0 -0
  13. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/reporter.py +0 -0
  14. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/rules/__init__.py +0 -0
  15. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/cli/unpack.py +0 -0
  16. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/console.py +0 -0
  17. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/internal/__init__.py +0 -0
  18. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/internal/config.py +0 -0
  19. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/internal/helpers.py +0 -0
  20. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/models/__init__.py +0 -0
  21. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/models/detections.py +0 -0
  22. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/models/sandbox_arguments.py +0 -0
  23. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/__init__.py +0 -0
  24. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/compiler/__init__.py +0 -0
  25. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/compiler/abc.py +0 -0
  26. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/compiler/docker.py +0 -0
  27. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/compiler/ssh.py +0 -0
  28. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/downloader/__init__.py +0 -0
  29. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/extractors.py +0 -0
  30. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/merge_dll_hooks.py +0 -0
  31. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/scanner/__init__.py +0 -0
  32. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/scanner/rescan.py +0 -0
  33. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/unpack/__init__.py +0 -0
  34. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/unpack/plugins/__init__.py +0 -0
  35. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/unpack/plugins/abc.py +0 -0
  36. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/sandbox_cli/utils/unpack/plugins/correlation.py +0 -0
  37. {sandbox_cli-0.2.48 → sandbox_cli-0.2.49}/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.48
3
+ Version: 0.2.49
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
@@ -17,7 +17,7 @@ Requires-Dist: colorama>=0.4.6
17
17
  Requires-Dist: cryptography>=46.0.5
18
18
  Requires-Dist: cyclopts>=4.10.2
19
19
  Requires-Dist: docker>=7.1.0
20
- Requires-Dist: ptsandbox>=5.0.10
20
+ Requires-Dist: ptsandbox>=5.0.11
21
21
  Requires-Dist: pyzipper>=0.3.6
22
22
  Requires-Dist: rich>=14.3.3
23
23
  Requires-Dist: zstandard>=0.25.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sandbox-cli"
3
- version = "0.2.48"
3
+ version = "0.2.49"
4
4
  description = "Command line tool for interaction with sandboxes"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -14,7 +14,7 @@ dependencies = [
14
14
  "cryptography>=46.0.5",
15
15
  "cyclopts>=4.10.2",
16
16
  "docker>=7.1.0",
17
- "ptsandbox>=5.0.10",
17
+ "ptsandbox>=5.0.11",
18
18
  "pyzipper>=0.3.6",
19
19
  "rich>=14.3.3",
20
20
  "zstandard>=0.25.0",
@@ -674,6 +674,15 @@ async def scan_new(
674
674
  negative="",
675
675
  ),
676
676
  ] = None,
677
+ file_type_as_ext: Annotated[
678
+ bool | None,
679
+ Parameter(
680
+ name=["--file-type-as-ext", "-fe"],
681
+ help="Use a file type as an extension for a file",
682
+ group="Sandbox Options",
683
+ negative="",
684
+ ),
685
+ ] = None,
677
686
  all: Annotated[
678
687
  bool,
679
688
  Parameter(
@@ -829,4 +838,5 @@ async def scan_new(
829
838
  outbound_connections=outbound_connections,
830
839
  amsi=amsi,
831
840
  dex=dex,
841
+ file_type_as_ext=file_type_as_ext,
832
842
  )
@@ -105,6 +105,7 @@ async def _prepare_sandbox_new_scan(
105
105
  skip_sample_run: bool,
106
106
  vnc_mode: VNCMode,
107
107
  outbound_connections: list[str] | None,
108
+ file_type_as_ext: bool | None,
108
109
  ) -> tuple[Sandbox, SandboxOptionsAdvanced, set[VMImage | str]]:
109
110
  sandbox = Sandbox(key=sandbox_key)
110
111
 
@@ -200,6 +201,10 @@ async def _prepare_sandbox_new_scan(
200
201
  progress.console.print(f"{console.INFO} Commandline: {custom_command}")
201
202
  sandbox_options.custom_command = custom_command
202
203
 
204
+ if file_type_as_ext is not None:
205
+ progress.console.print(f"{console.INFO} Using magic types from the sandbox")
206
+ sandbox_options.debug_options["file_type_as_ext"] = file_type_as_ext
207
+
203
208
  # add extra options
204
209
  sandbox_options.debug_options["allowed_outbound_connections"] = outbound_connections or []
205
210
  sandbox_options.procdump_new_processes_on_finish = not no_procdumps_on_finish
@@ -255,6 +260,7 @@ async def scan_internal_advanced(
255
260
  open_browser: bool,
256
261
  preserve_filename: bool,
257
262
  outbound_connections: list[str] | None,
263
+ file_type_as_ext: bool | None,
258
264
  ) -> None:
259
265
  key = get_key_by_name(key_name)
260
266
  sandbox_sem = asyncio.Semaphore(value=key.max_workers)
@@ -428,6 +434,7 @@ async def scan_internal_advanced(
428
434
  skip_sample_run=skip_sample_run,
429
435
  vnc_mode=vnc_mode,
430
436
  outbound_connections=outbound_connections,
437
+ file_type_as_ext=file_type_as_ext,
431
438
  )
432
439
  max_image_length = max(len(x) for x in images)
433
440
  for i, image_id in enumerate(images):
File without changes
File without changes
File without changes
File without changes