IoTSploit core library (domain + ports + core) - IoT security testing framework
Project description
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(or legacySAT_EXPLOIT_PLUGINS_DIR)- fallback:
./plugins/exploits
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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iotsploit_core-0.0.6.tar.gz.
File metadata
- Download URL: iotsploit_core-0.0.6.tar.gz
- Upload date:
- Size: 57.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.12 Linux/5.15.0-164-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
610df7b5527c860afb89d5e4d8a4749b9793ebef6f13aeed80a1d23021a174a5
|
|
| MD5 |
a46d48a64948d682a59efef8e7df8f3d
|
|
| BLAKE2b-256 |
d54f1d9bb1f9f8129009ea1ebe8fc84d21a038e941317cd509bab5c3aac9c89c
|
File details
Details for the file iotsploit_core-0.0.6-py3-none-any.whl.
File metadata
- Download URL: iotsploit_core-0.0.6-py3-none-any.whl
- Upload date:
- Size: 70.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.12 Linux/5.15.0-164-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39fa4a7d55bf513087bb55d2eb9b1d6124beda25e42badfadf7a1ceb241b6050
|
|
| MD5 |
318a406e51c06544f107c88f9ae96015
|
|
| BLAKE2b-256 |
9af04af6aec5a3437c89aef87c1d94c8be15f15153ff56dddcb40aaac2a506a9
|