ONB · Embedded Linux/Yocto dynamic path — QEMU boot (runqemu/FirmAE) → DAST + pentest #149

Open
opened 2026-07-12 21:56:20 +00:00 by sharang · 1 comment
Owner

Part of #118. Gives Embedded Linux / Yocto targets a dynamic (DAST + pentest) dimension by booting the image in an emulator — no hardware.

Context

A Yocto device is a full Linux (kernel + userspace + apps), so it spans SAST + DAST + pentest. The unlock for the dynamic side is QEMU: the built image can be booted and its live services scanned like any running target.

Approach

  • Boot bridge: runqemu for Yocto-built images; FirmAE / Firmadyne for image-only firmware (network-boots firmware in QEMU). Expose the emulated device's services (SSH, web admin UI, MQTT, custom daemons).
  • Reuse existing engines: point the DAST crawler + LLM pentest at the emulated device's services; add nmap service discovery.

Test targets (OSS)

Prebuilt Yocto qemux86-64 core images; IoTGoat (OWASP vulnerable embedded-Linux firmware); OpenWrt images.

Depends

Onboarding EmbeddedLinuxYocto, firmware ingest (#120), DAST/pentest infra. Pairs with the firmware-static issue and the bitbake-provider issue.

Part of #118. Gives **Embedded Linux / Yocto** targets a dynamic (DAST + pentest) dimension by booting the image in an emulator — no hardware. ## Context A Yocto device is a full Linux (kernel + userspace + apps), so it spans SAST + DAST + pentest. The unlock for the dynamic side is **QEMU**: the built image can be booted and its live services scanned like any running target. ## Approach - **Boot bridge:** `runqemu` for Yocto-built images; **FirmAE / Firmadyne** for image-only firmware (network-boots firmware in QEMU). Expose the emulated device's services (SSH, web admin UI, MQTT, custom daemons). - **Reuse existing engines:** point the DAST crawler + LLM pentest at the emulated device's services; add nmap service discovery. ## Test targets (OSS) Prebuilt Yocto `qemux86-64` core images; **IoTGoat** (OWASP vulnerable embedded-Linux firmware); OpenWrt images. ## Depends Onboarding EmbeddedLinuxYocto, firmware ingest (#120), DAST/pentest infra. Pairs with the firmware-static issue and the bitbake-provider issue.
sharang added this to the Onboarding v1 milestone 2026-07-12 21:56:20 +00:00
sharang added the onboardingenhancement labels 2026-07-12 21:56:20 +00:00
Author
Owner

Customer context (tracker #167): this Yocto device also hosts a CODESYS runtime + control app. The QEMU dynamic path should expose both the Linux services and the CODESYS/ICS services (see #148), so DAST + pentest cover the whole device from one target. Matrix enabler: #164.

Customer context (tracker #167): this Yocto device also hosts a **CODESYS runtime + control app**. The QEMU dynamic path should expose both the Linux services and the CODESYS/ICS services (see #148), so DAST + pentest cover the whole device from one target. Matrix enabler: #164.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sharang/compliance-scanner-agent#149