iotsploit-core
Minimal, standalone core library extracted from zeekr_sat_main.
- What it is: domain models + ports (interfaces) + core orchestration.
- What it is not: Django/ORM/Celery/Channels integrations (those are application-layer adapters).
Install
Poetry (recommended):
cd iotsploit-core
poetry install
Pip editable:
pip install -e iotsploit-core
Use (quick start)
Verify it imports:
import iotsploit_core
print(iotsploit_core.__version__)
Exploit plugins (manager)
You wire this manager with your own adapters that implement iotsploit_core.ports.
from iotsploit_core.core.exploit_manager import ExploitPluginManager
mgr = ExploitPluginManager(
plugin_repo=..., # implements PluginMetaRepository
group_repo=..., # implements PluginGroupRepository
task_runner=..., # implements TaskRunner (optional async delegation)
)
print(mgr.list_plugins())
# mgr.execute_plugin("SomePlugin", target=..., parameters={...})
Default exploit plugin dir:
IOTSPLOIT_EXPLOIT_PLUGINS_DIR- fallback:
None(entry-point discovery only)
Device drivers (manager)
from iotsploit_core.core.device_manager import DeviceDriverManager
dm = DeviceDriverManager(
driver_state_repo=..., # implements DriverStateRepository
)
print(dm.list_drivers())
# dm.scan_devices("drv_xxx")
Default device plugin dir:
IOTSPLOIT_DEVICE_PLUGINS_DIR(or legacySAT_DEVICE_PLUGINS_DIR)- fallback:
<repo_root>/plugins/devices
Streaming (optional)
Core uses a safe Noop backend by default. In a web runtime, inject a real backend:
from iotsploit_core.core.stream_manager import StreamManager
# StreamManager.configure_backend(MyBackend())
Package layout
iotsploit_core.domain: pure dataclasses/enums (no I/O)iotsploit_core.ports: interfaces to be implemented by adaptersiotsploit_core.core: orchestration (plugin/device/tool managers)
Notes
iotsploit_core.core.device_configis deprecated (device config should live in DB via app-layer adapters).
Metadata
Release files for iotsploit-core 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| iotsploit_core-0.0.10.tar.gz | 91.7 kB | Without provenance | Details for iotsploit_core-0.0.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| iotsploit_core-0.0.10-py3-none-any.whl | Python 3 | none | any | Details for iotsploit_core-0.0.10-py3-none-any.whl |
Total release size: 206.1 kB
Release files / iotsploit_core-0.0.10.tar.gz
| Download URL | iotsploit_core-0.0.10.tar.gz |
|---|---|
| Size | 91.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec22fc6aa274bd6ecff2ecbc0dd253c9e09f2bc8c85d2649a46ccd8d72823536
|
|
BLAKE2b-256 checksum How to use checksums |
096d39e73bd04b76b5385deaff2edf5b30a21375c2bc6707730c6586291781a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / iotsploit_core-0.0.10-py3-none-any.whl
| Download URL | iotsploit_core-0.0.10-py3-none-any.whl |
|---|---|
| Size | 114.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1a8b8a4118b8eed8e3fff2253bd8e1c10977cae5241cf412eb86d5e9af70bf2
|
|
BLAKE2b-256 checksum How to use checksums |
a090ff9866f2a510bc4a38a91f8bea17c91ad2667063d99d1fda2dbc4203afc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for iotsploit-core 0.0.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.