sandbox-cli 0.2.26__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 (36) hide show
  1. sandbox_cli-0.2.26/.gitignore +169 -0
  2. sandbox_cli-0.2.26/LICENSE +21 -0
  3. sandbox_cli-0.2.26/NOTICE +322 -0
  4. sandbox_cli-0.2.26/PKG-INFO +139 -0
  5. sandbox_cli-0.2.26/README.md +115 -0
  6. sandbox_cli-0.2.26/pyproject.toml +111 -0
  7. sandbox_cli-0.2.26/sandbox_cli/__main__.py +28 -0
  8. sandbox_cli-0.2.26/sandbox_cli/cli/__init__.py +46 -0
  9. sandbox_cli-0.2.26/sandbox_cli/cli/downloader.py +308 -0
  10. sandbox_cli-0.2.26/sandbox_cli/cli/images.py +45 -0
  11. sandbox_cli-0.2.26/sandbox_cli/cli/reporter.py +146 -0
  12. sandbox_cli-0.2.26/sandbox_cli/cli/rules/__init__.py +83 -0
  13. sandbox_cli-0.2.26/sandbox_cli/cli/scanner/__init__.py +681 -0
  14. sandbox_cli-0.2.26/sandbox_cli/cli/unpack.py +50 -0
  15. sandbox_cli-0.2.26/sandbox_cli/console.py +24 -0
  16. sandbox_cli-0.2.26/sandbox_cli/internal/__init__.py +0 -0
  17. sandbox_cli-0.2.26/sandbox_cli/internal/config.py +143 -0
  18. sandbox_cli-0.2.26/sandbox_cli/internal/helpers.py +32 -0
  19. sandbox_cli-0.2.26/sandbox_cli/models/__init__.py +0 -0
  20. sandbox_cli-0.2.26/sandbox_cli/models/detections.py +91 -0
  21. sandbox_cli-0.2.26/sandbox_cli/utils/__init__.py +0 -0
  22. sandbox_cli-0.2.26/sandbox_cli/utils/compiler/__init__.py +60 -0
  23. sandbox_cli-0.2.26/sandbox_cli/utils/compiler/abc.py +51 -0
  24. sandbox_cli-0.2.26/sandbox_cli/utils/compiler/docker.py +136 -0
  25. sandbox_cli-0.2.26/sandbox_cli/utils/compiler/ssh.py +203 -0
  26. sandbox_cli-0.2.26/sandbox_cli/utils/downloader/__init__.py +178 -0
  27. sandbox_cli-0.2.26/sandbox_cli/utils/extractors.py +66 -0
  28. sandbox_cli-0.2.26/sandbox_cli/utils/merge_dll_hooks.py +84 -0
  29. sandbox_cli-0.2.26/sandbox_cli/utils/scanner/__init__.py +310 -0
  30. sandbox_cli-0.2.26/sandbox_cli/utils/scanner/advanced.py +360 -0
  31. sandbox_cli-0.2.26/sandbox_cli/utils/scanner/rescan.py +258 -0
  32. sandbox_cli-0.2.26/sandbox_cli/utils/unpack/__init__.py +96 -0
  33. sandbox_cli-0.2.26/sandbox_cli/utils/unpack/plugins/__init__.py +0 -0
  34. sandbox_cli-0.2.26/sandbox_cli/utils/unpack/plugins/abc.py +18 -0
  35. sandbox_cli-0.2.26/sandbox_cli/utils/unpack/plugins/correlation.py +52 -0
  36. sandbox_cli-0.2.26/sandbox_cli/utils/unpack/plugins/sort_by_plugins.py +30 -0
@@ -0,0 +1,169 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/#use-with-ide
110
+ .pdm.toml
111
+
112
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113
+ __pypackages__/
114
+
115
+ # Celery stuff
116
+ celerybeat-schedule
117
+ celerybeat.pid
118
+
119
+ # SageMath parsed files
120
+ *.sage.py
121
+
122
+ # Environments
123
+ .env
124
+ .venv
125
+ env/
126
+ venv/
127
+ ENV/
128
+ env.bak/
129
+ venv.bak/
130
+
131
+ # Spyder project settings
132
+ .spyderproject
133
+ .spyproject
134
+
135
+ # Rope project settings
136
+ .ropeproject
137
+
138
+ # mkdocs documentation
139
+ /site
140
+
141
+ # mypy
142
+ .mypy_cache/
143
+ .dmypy.json
144
+ dmypy.json
145
+
146
+ # Pyre type checker
147
+ .pyre/
148
+
149
+ # pytype static type analyzer
150
+ .pytype/
151
+
152
+ # Cython debug symbols
153
+ cython_debug/
154
+
155
+ # PyCharm
156
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
159
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
+ #.idea/
161
+
162
+ .vscode/*
163
+
164
+ result
165
+ .pdm-python
166
+ .python-version
167
+ sandbox/*
168
+ compiled-rules.local.tmp/
169
+ .DS_Store
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Security Experts Community
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,322 @@
1
+ AsyncSSH
2
+ Copyright (c) 2013-2024 by Ron Frederick <ronf@timeheart.net> and others.
3
+
4
+ This product includes software developed for AsyncSSH (https://github.com/ronf/asyncssh)
5
+ License:
6
+ Eclipse Public License - v 2.0
7
+
8
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
9
+ PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
10
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
11
+
12
+ 1. DEFINITIONS
13
+
14
+ "Contribution" means:
15
+
16
+ a) in the case of the initial Contributor, the initial content
17
+ Distributed under this Agreement, and
18
+
19
+ b) in the case of each subsequent Contributor:
20
+ i) changes to the Program, and
21
+ ii) additions to the Program;
22
+ where such changes and/or additions to the Program originate from
23
+ and are Distributed by that particular Contributor. A Contribution
24
+ "originates" from a Contributor if it was added to the Program by
25
+ such Contributor itself or anyone acting on such Contributor's behalf.
26
+ Contributions do not include changes or additions to the Program that
27
+ are not Modified Works.
28
+
29
+ "Contributor" means any person or entity that Distributes the Program.
30
+
31
+ "Licensed Patents" mean patent claims licensable by a Contributor which
32
+ are necessarily infringed by the use or sale of its Contribution alone
33
+ or when combined with the Program.
34
+
35
+ "Program" means the Contributions Distributed in accordance with this
36
+ Agreement.
37
+
38
+ "Recipient" means anyone who receives the Program under this Agreement
39
+ or any Secondary License (as applicable), including Contributors.
40
+
41
+ "Derivative Works" shall mean any work, whether in Source Code or other
42
+ form, that is based on (or derived from) the Program and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship.
45
+
46
+ "Modified Works" shall mean any work in Source Code or other form that
47
+ results from an addition to, deletion from, or modification of the
48
+ contents of the Program, including, for purposes of clarity any new file
49
+ in Source Code form that contains any contents of the Program. Modified
50
+ Works shall not include works that contain only declarations,
51
+ interfaces, types, classes, structures, or files of the Program solely
52
+ in each case in order to link to, bind by name, or subclass the Program
53
+ or Modified Works thereof.
54
+
55
+ "Distribute" means the acts of a) distributing or b) making available
56
+ in any manner that enables the transfer of a copy.
57
+
58
+ "Source Code" means the form of a Program preferred for making
59
+ modifications, including but not limited to software source code,
60
+ documentation source, and configuration files.
61
+
62
+ "Secondary License" means either the GNU General Public License,
63
+ Version 2.0, or any later versions of that license, including any
64
+ exceptions or additional permissions as identified by the initial
65
+ Contributor.
66
+
67
+ 2. GRANT OF RIGHTS
68
+
69
+ a) Subject to the terms of this Agreement, each Contributor hereby
70
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
71
+ license to reproduce, prepare Derivative Works of, publicly display,
72
+ publicly perform, Distribute and sublicense the Contribution of such
73
+ Contributor, if any, and such Derivative Works.
74
+
75
+ b) Subject to the terms of this Agreement, each Contributor hereby
76
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
77
+ license under Licensed Patents to make, use, sell, offer to sell,
78
+ import and otherwise transfer the Contribution of such Contributor,
79
+ if any, in Source Code or other form. This patent license shall
80
+ apply to the combination of the Contribution and the Program if, at
81
+ the time the Contribution is added by the Contributor, such addition
82
+ of the Contribution causes such combination to be covered by the
83
+ Licensed Patents. The patent license shall not apply to any other
84
+ combinations which include the Contribution. No hardware per se is
85
+ licensed hereunder.
86
+
87
+ c) Recipient understands that although each Contributor grants the
88
+ licenses to its Contributions set forth herein, no assurances are
89
+ provided by any Contributor that the Program does not infringe the
90
+ patent or other intellectual property rights of any other entity.
91
+ Each Contributor disclaims any liability to Recipient for claims
92
+ brought by any other entity based on infringement of intellectual
93
+ property rights or otherwise. As a condition to exercising the
94
+ rights and licenses granted hereunder, each Recipient hereby
95
+ assumes sole responsibility to secure any other intellectual
96
+ property rights needed, if any. For example, if a third party
97
+ patent license is required to allow Recipient to Distribute the
98
+ Program, it is Recipient's responsibility to acquire that license
99
+ before distributing the Program.
100
+
101
+ d) Each Contributor represents that to its knowledge it has
102
+ sufficient copyright rights in its Contribution, if any, to grant
103
+ the copyright license set forth in this Agreement.
104
+
105
+ e) Notwithstanding the terms of any Secondary License, no
106
+ Contributor makes additional grants to any Recipient (other than
107
+ those set forth in this Agreement) as a result of such Recipient's
108
+ receipt of the Program under the terms of a Secondary License
109
+ (if permitted under the terms of Section 3).
110
+
111
+ 3. REQUIREMENTS
112
+
113
+ 3.1 If a Contributor Distributes the Program in any form, then:
114
+
115
+ a) the Program must also be made available as Source Code, in
116
+ accordance with section 3.2, and the Contributor must accompany
117
+ the Program with a statement that the Source Code for the Program
118
+ is available under this Agreement, and informs Recipients how to
119
+ obtain it in a reasonable manner on or through a medium customarily
120
+ used for software exchange; and
121
+
122
+ b) the Contributor may Distribute the Program under a license
123
+ different than this Agreement, provided that such license:
124
+ i) effectively disclaims on behalf of all other Contributors all
125
+ warranties and conditions, express and implied, including
126
+ warranties or conditions of title and non-infringement, and
127
+ implied warranties or conditions of merchantability and fitness
128
+ for a particular purpose;
129
+
130
+ ii) effectively excludes on behalf of all other Contributors all
131
+ liability for damages, including direct, indirect, special,
132
+ incidental and consequential damages, such as lost profits;
133
+
134
+ iii) does not attempt to limit or alter the recipients' rights
135
+ in the Source Code under section 3.2; and
136
+
137
+ iv) requires any subsequent distribution of the Program by any
138
+ party to be under a license that satisfies the requirements
139
+ of this section 3.
140
+
141
+ 3.2 When the Program is Distributed as Source Code:
142
+
143
+ a) it must be made available under this Agreement, or if the
144
+ Program (i) is combined with other material in a separate file or
145
+ files made available under a Secondary License, and (ii) the initial
146
+ Contributor attached to the Source Code the notice described in
147
+ Exhibit A of this Agreement, then the Program may be made available
148
+ under the terms of such Secondary Licenses, and
149
+
150
+ b) a copy of this Agreement must be included with each copy of
151
+ the Program.
152
+
153
+ 3.3 Contributors may not remove or alter any copyright, patent,
154
+ trademark, attribution notices, disclaimers of warranty, or limitations
155
+ of liability ("notices") contained within the Program from any copy of
156
+ the Program which they Distribute, provided that Contributors may add
157
+ their own appropriate notices.
158
+
159
+ 4. COMMERCIAL DISTRIBUTION
160
+
161
+ Commercial distributors of software may accept certain responsibilities
162
+ with respect to end users, business partners and the like. While this
163
+ license is intended to facilitate the commercial use of the Program,
164
+ the Contributor who includes the Program in a commercial product
165
+ offering should do so in a manner which does not create potential
166
+ liability for other Contributors. Therefore, if a Contributor includes
167
+ the Program in a commercial product offering, such Contributor
168
+ ("Commercial Contributor") hereby agrees to defend and indemnify every
169
+ other Contributor ("Indemnified Contributor") against any losses,
170
+ damages and costs (collectively "Losses") arising from claims, lawsuits
171
+ and other legal actions brought by a third party against the Indemnified
172
+ Contributor to the extent caused by the acts or omissions of such
173
+ Commercial Contributor in connection with its distribution of the Program
174
+ in a commercial product offering. The obligations in this section do not
175
+ apply to any claims or Losses relating to any actual or alleged
176
+ intellectual property infringement. In order to qualify, an Indemnified
177
+ Contributor must: a) promptly notify the Commercial Contributor in
178
+ writing of such claim, and b) allow the Commercial Contributor to control,
179
+ and cooperate with the Commercial Contributor in, the defense and any
180
+ related settlement negotiations. The Indemnified Contributor may
181
+ participate in any such claim at its own expense.
182
+
183
+ For example, a Contributor might include the Program in a commercial
184
+ product offering, Product X. That Contributor is then a Commercial
185
+ Contributor. If that Commercial Contributor then makes performance
186
+ claims, or offers warranties related to Product X, those performance
187
+ claims and warranties are such Commercial Contributor's responsibility
188
+ alone. Under this section, the Commercial Contributor would have to
189
+ defend claims against the other Contributors related to those performance
190
+ claims and warranties, and if a court requires any other Contributor to
191
+ pay any damages as a result, the Commercial Contributor must pay
192
+ those damages.
193
+
194
+ 5. NO WARRANTY
195
+
196
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
197
+ PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
198
+ BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
199
+ IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
200
+ TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
201
+ PURPOSE. Each Recipient is solely responsible for determining the
202
+ appropriateness of using and distributing the Program and assumes all
203
+ risks associated with its exercise of rights under this Agreement,
204
+ including but not limited to the risks and costs of program errors,
205
+ compliance with applicable laws, damage to or loss of data, programs
206
+ or equipment, and unavailability or interruption of operations.
207
+
208
+ 6. DISCLAIMER OF LIABILITY
209
+
210
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
211
+ PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
212
+ SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
213
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
214
+ PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
215
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
216
+ ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
217
+ EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
218
+ POSSIBILITY OF SUCH DAMAGES.
219
+
220
+ 7. GENERAL
221
+
222
+ If any provision of this Agreement is invalid or unenforceable under
223
+ applicable law, it shall not affect the validity or enforceability of
224
+ the remainder of the terms of this Agreement, and without further
225
+ action by the parties hereto, such provision shall be reformed to the
226
+ minimum extent necessary to make such provision valid and enforceable.
227
+
228
+ If Recipient institutes patent litigation against any entity
229
+ (including a cross-claim or counterclaim in a lawsuit) alleging that the
230
+ Program itself (excluding combinations of the Program with other software
231
+ or hardware) infringes such Recipient's patent(s), then such Recipient's
232
+ rights granted under Section 2(b) shall terminate as of the date such
233
+ litigation is filed.
234
+
235
+ All Recipient's rights under this Agreement shall terminate if it
236
+ fails to comply with any of the material terms or conditions of this
237
+ Agreement and does not cure such failure in a reasonable period of
238
+ time after becoming aware of such noncompliance. If all Recipient's
239
+ rights under this Agreement terminate, Recipient agrees to cease use
240
+ and distribution of the Program as soon as reasonably practicable.
241
+ However, Recipient's obligations under this Agreement and any licenses
242
+ granted by Recipient relating to the Program shall continue and survive.
243
+
244
+ Everyone is permitted to copy and distribute copies of this Agreement,
245
+ but in order to avoid inconsistency the Agreement is copyrighted and
246
+ may only be modified in the following manner. The Agreement Steward
247
+ reserves the right to publish new versions (including revisions) of
248
+ this Agreement from time to time. No one other than the Agreement
249
+ Steward has the right to modify this Agreement. The Eclipse Foundation
250
+ is the initial Agreement Steward. The Eclipse Foundation may assign the
251
+ responsibility to serve as the Agreement Steward to a suitable separate
252
+ entity. Each new version of the Agreement will be given a distinguishing
253
+ version number. The Program (including Contributions) may always be
254
+ Distributed subject to the version of the Agreement under which it was
255
+ received. In addition, after a new version of the Agreement is published,
256
+ Contributor may elect to Distribute the Program (including its
257
+ Contributions) under the new version.
258
+
259
+ Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
260
+ receives no rights or licenses to the intellectual property of any
261
+ Contributor under this Agreement, whether expressly, by implication,
262
+ estoppel or otherwise. All rights in the Program not expressly granted
263
+ under this Agreement are reserved. Nothing in this Agreement is intended
264
+ to be enforceable by any entity that is not a Contributor or Recipient.
265
+ No third-party beneficiary rights are created under this Agreement.
266
+
267
+ Exhibit A - Form of Secondary Licenses Notice
268
+
269
+ "This Source Code may also be made available under the following
270
+ Secondary Licenses when the conditions for such availability set forth
271
+ in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
272
+ version(s), and exceptions or additional permissions here}."
273
+
274
+ Simply including a copy of this Agreement, including this Exhibit A
275
+ is not sufficient to license the Source Code under Secondary Licenses.
276
+
277
+ If it is not possible or desirable to put the notice in a particular
278
+ file, then You may include the notice in a location (such as a LICENSE
279
+ file in a relevant directory) where a recipient would be likely to
280
+ look for such a notice.
281
+
282
+ You may add additional accurate notices of copyright ownership.
283
+
284
+
285
+ ---
286
+
287
+
288
+ zstandard
289
+ Copyright (c) 2016, Gregory Szorc
290
+
291
+ This product includes software developed for zstandard (https://github.com/indygreg/python-zstandard)
292
+ License:
293
+ Copyright (c) 2016, Gregory Szorc
294
+ All rights reserved.
295
+
296
+ Redistribution and use in source and binary forms, with or without modification,
297
+ are permitted provided that the following conditions are met:
298
+
299
+ 1. Redistributions of source code must retain the above copyright notice, this
300
+ list of conditions and the following disclaimer.
301
+
302
+ 2. Redistributions in binary form must reproduce the above copyright notice,
303
+ this list of conditions and the following disclaimer in the documentation
304
+ and/or other materials provided with the distribution.
305
+
306
+ 3. Neither the name of the copyright holder nor the names of its contributors
307
+ may be used to endorse or promote products derived from this software without
308
+ specific prior written permission.
309
+
310
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
311
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
312
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
313
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
314
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
315
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
316
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
317
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
318
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
319
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
320
+
321
+
322
+ ---
@@ -0,0 +1,139 @@
1
+ Metadata-Version: 2.4
2
+ Name: sandbox-cli
3
+ Version: 0.2.26
4
+ Summary: Command line tool for interaction with sandboxes
5
+ Project-URL: Homepage, https://github.com/Security-Experts-Community/sandbox-cli
6
+ Project-URL: Documentation, https://security-experts-community.github.io/sandbox-cli
7
+ Project-URL: Repository, https://github.com/Security-Experts-Community/sandbox-cli
8
+ Project-URL: Issues, https://github.com/Security-Experts-Community/sandbox-cli/issues
9
+ Author: Alexey Kolesnikov
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ Requires-Python: >=3.11
14
+ Requires-Dist: aiofiles>=24.1.0
15
+ Requires-Dist: asyncssh>=2.19.0
16
+ Requires-Dist: cryptography>=44.0.0
17
+ Requires-Dist: cyclopts>=3.9.0
18
+ Requires-Dist: docker>=7.1.0
19
+ Requires-Dist: ptsandbox
20
+ Requires-Dist: pyzipper>=0.3.6
21
+ Requires-Dist: rich>=13.9.4
22
+ Requires-Dist: zstandard>=0.23.0
23
+ Description-Content-Type: text/markdown
24
+
25
+ ![Image](https://raw.githubusercontent.com/Security-Experts-Community/sandbox-cli/refs/heads/main/docs/assets/logo_with_text.svg)
26
+
27
+ <p align="center">
28
+ <em>Work with PT Sandbox like a pro</em>
29
+ </p>
30
+
31
+ ---
32
+
33
+ **Documentation**: <a href="https://security-experts-community.github.io/sandbox-cli">https://security-experts-community.github.io/sandbox-cli</a>
34
+
35
+ **Source Code**: <a href="https://github.com/Security-Experts-Community/sandbox-cli">https://github.com/Security-Experts-Community/sandbox-cli</a>
36
+
37
+ ---
38
+
39
+ > [!NOTE]
40
+ > `python >= 3.11` is required.
41
+
42
+ ## Installation
43
+
44
+ Using `pipx`:
45
+
46
+ ```sh
47
+ pipx install sandbox-cli
48
+ ```
49
+
50
+ Using `PyPi`:
51
+
52
+ ```sh
53
+ pip install sandbox-cli
54
+ ```
55
+
56
+ NixOS:
57
+
58
+ ```
59
+ Add inputs.sandbox-cli.overlays.default to your nixpkgs overlay
60
+ TBA: ...
61
+ ```
62
+
63
+ ### Config
64
+
65
+ You must create default config file as described in `docs/config-examples/config.toml`:
66
+
67
+ Linux/MacOS:
68
+
69
+ ```sh
70
+ ~/.config/sandbox-cli/config.toml
71
+ or
72
+ $XDG_HOME_CONFIG_HOME/sandbox-cli/config.toml
73
+ ```
74
+
75
+ Windows:
76
+
77
+ ```ps1
78
+ %APPDATA%\sandbox-cli\config.toml
79
+ ```
80
+
81
+ ## Available options
82
+
83
+ - `scanner` - Scan with the sandbox.
84
+ - `images` - Get available images in the sandbox.
85
+ - `download` - Download any artifact from the sandbox.
86
+ - `email` - Upload an email and get its headers.
87
+ - `report` - Generate short report from sandbox scans.
88
+ - `unpack`/`conv` - Convert sandbox logs into an analysis-friendly format.
89
+ - `rules` - Working with raw sandbox rules.
90
+
91
+ <p align="middle">
92
+ <img width="50%" src="https://raw.githubusercontent.com/Security-Experts-Community/sandbox-cli/refs/heads/main/docs/assets/pic_right.svg">
93
+ </p>
94
+
95
+ ## Usage examples
96
+
97
+ ### images
98
+
99
+ Get all availables images:
100
+
101
+ ```bash
102
+ sandbox-cli images
103
+ ```
104
+
105
+ ```bash
106
+ ┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
107
+ ┃ Name ┃ ID ┃ Version ┃ Product version ┃
108
+ ┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
109
+ │ altlinux │ altworkstation-10-x64 │ ... │ ... │
110
+ │ astra │ astralinux-smolensk-x64 │ ... │ ... │
111
+ │ redos │ redos-murom-x64 │ ... │ ... │
112
+ │ ubuntu │ ubuntu-jammy-x64 │ ... │ ... │
113
+ │ Windows 10 Pro │ win10-1803-x64 │ ... │ ... │
114
+ │ Windows 10 Enterprise │ win10-22H2-x64 │ ... │ ... │
115
+ │ Windows 10 Pro │ win11-23H2-x64 │ ... │ ... │
116
+ │ Windows 7 Enterprise │ win7-sp1-x64 │ ... │ ... │
117
+ │ Windows 7 Enterprise │ win7-sp1-x64-ics │ ... │ ... │
118
+ └───────────────────────┴─────────────────────────┴────────────┴─────────────────┘
119
+ ```
120
+
121
+ ### scanner
122
+
123
+ Scan the file on all available windows images with timeout 60s and with automatic logs unpacking:
124
+
125
+ ```bash
126
+ sandbox-cli scanner scan-new -i windows -t 60 -U malware.exe
127
+ ```
128
+
129
+ <p align="middle">
130
+ <img width="50%" src="https://raw.githubusercontent.com/Security-Experts-Community/sandbox-cli/refs/heads/main/docs/assets/pic_left.svg">
131
+ </p>
132
+
133
+ ## Development
134
+
135
+ `uv` is used to build the project.
136
+
137
+ ```bash
138
+ uv sync
139
+ ```