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).
Release files for iotsploit-core 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iotsploit_core-0.0.9.tar.gz | 78.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iotsploit_core-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 175.6 kB
Release files / iotsploit_core-0.0.9.tar.gz
| Download URL | iotsploit_core-0.0.9.tar.gz |
|---|---|
| Size | 78.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96c34619594a645aecf7ae660961e5ba5963cf36a699cc4c89700663ae00fc59
|
|
BLAKE2b-256 checksum How to use checksums |
40104bfce575c85c1ed673309bfc1d929a00d759d12266ab146baf478b219cbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / iotsploit_core-0.0.9-py3-none-any.whl
| Download URL | iotsploit_core-0.0.9-py3-none-any.whl |
|---|---|
| Size | 96.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ea6c5450529a4eb6f22655c7a8af1ded2245d691bfcfce14c3e540082858571
|
|
BLAKE2b-256 checksum How to use checksums |
34aeb52c8ec1369670ffa142698356d774b723b0d3722d46fd13c779c96e5a04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|