Skip to main content

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 legacy SAT_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 legacy SAT_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 adapters
  • iotsploit_core.core: orchestration (plugin/device/tool managers)

Notes

  • iotsploit_core.core.device_config is deprecated (device config should live in DB via app-layer adapters).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iotsploit_core-0.0.7.tar.gz (59.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iotsploit_core-0.0.7-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

Details for the file iotsploit_core-0.0.7.tar.gz.

File metadata

  • Download URL: iotsploit_core-0.0.7.tar.gz
  • Upload date:
  • Size: 59.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for iotsploit_core-0.0.7.tar.gz
Algorithm Hash digest
SHA256 bd3966201bd7e022453a257c40804d9ddfd436811972248704cac86f3508cd98
MD5 a522d7979664cfb20597b6ee0293976d
BLAKE2b-256 0f3bd4c87c461be21980937240018c18f9edd0524648f0a3101a39ff0f470d17

See more details on using hashes here.

File details

Details for the file iotsploit_core-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: iotsploit_core-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 73.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for iotsploit_core-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e551cca984ac4bcb827f21ffd0499b735e85520a6bed1dc9e0831ea5a0206152
MD5 5575c7ae28b7a50cdd907ac549ad7526
BLAKE2b-256 1749c5db01dcd616e03cae3f26be7c72334a7f50f6ae65b54ec9e54ea88f4409

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page