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.6.tar.gz (57.2 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.6-py3-none-any.whl (70.7 kB view details)

Uploaded Python 3

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

Hashes for iotsploit_core-0.0.6.tar.gz
Algorithm Hash digest
SHA256 610df7b5527c860afb89d5e4d8a4749b9793ebef6f13aeed80a1d23021a174a5
MD5 a46d48a64948d682a59efef8e7df8f3d
BLAKE2b-256 d54f1d9bb1f9f8129009ea1ebe8fc84d21a038e941317cd509bab5c3aac9c89c

See more details on using hashes here.

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

Hashes for iotsploit_core-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 39fa4a7d55bf513087bb55d2eb9b1d6124beda25e42badfadf7a1ceb241b6050
MD5 318a406e51c06544f107c88f9ae96015
BLAKE2b-256 9af04af6aec5a3437c89aef87c1d94c8be15f15153ff56dddcb40aaac2a506a9

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