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.
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
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
runqemufor 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).Test targets (OSS)
Prebuilt Yocto
qemux86-64core 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.
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.