Entrpi
546119b63e
feat(artifacts): inventory and extract ESP32 firmware images
...
ESP32-family app and bootloader images (magic 0xE9) had no reader, so
open_binary refused OTA downloads, app partitions and bootloaders.
Add the esp-image container format behind inspect_artifact and
extract_artifact. A pure decoder reads each byte once and keeps only
fixed-size fields. Derived facts cover the chip, from a table cited to
ESP-IDF v6.1; segment classification as ESP-IDF's should_map and
should_load; checksum and appended SHA-256 results; app and bootloader
descriptors; Secure Boot v2 signature blocks, observed and unverified;
and undescribed trailing byte ranges. Truncation and undescribed bytes
make coverage unknown. ESP8266 images are refused with a specific
reason, and ciphertext stays unrecognized.
Add the format to every target, Evidence, snapshot, live-summary and
artifact vocabulary, document it, and add an optional verify:esp-images
lane that compares esptool-built images with esptool image-info and
espsecure signature-info-v2.
Refs #3615
2026-10-27 22:54:29 +11:00
..
2026-10-27 09:55:24 +08:00
2026-10-27 06:43:53 +08:00
2026-10-27 13:36:57 +08:00
2026-10-25 09:49:26 +08:00
2026-10-27 22:54:29 +11:00
2026-10-21 21:19:45 -07:00
2026-10-23 02:31:11 +08:00
2026-09-29 08:45:36 +08:00
2026-10-15 18:11:19 +00:00
2026-10-26 16:04:44 +08:00
2026-10-12 09:25:27 +08:00
2026-10-24 03:16:30 +08:00
2026-07-16 19:51:25 +08:00
2026-07-15 17:43:52 +08:00
2026-10-09 20:11:17 +08:00
2026-10-15 20:11:26 +08:00
2026-10-24 02:36:00 +08:00
2026-10-19 09:51:04 +08:00
2026-10-26 14:46:35 +08:00
2026-10-06 01:59:19 +08:00
2026-10-09 20:11:17 +08:00
2026-10-13 18:23:17 +08:00
2026-10-26 15:49:58 +08:00
2026-10-08 22:43:51 +08:00
2026-10-26 15:49:58 +08:00
2026-10-13 12:06:41 +08:00
2026-10-24 03:00:07 +08:00
2026-10-24 11:50:11 +08:00
2026-10-14 04:47:34 +08:00
2026-10-11 17:24:46 +08:00
2026-10-24 09:24:43 +00:00
2026-07-17 00:16:46 +00:00
2026-10-13 22:03:16 +08:00
2026-10-27 09:29:20 +08:00
2026-10-26 17:59:51 +08:00
2026-10-22 03:07:31 +00:00
2026-10-11 11:49:49 +08:00
2026-10-24 11:41:34 +08:00
2026-10-24 11:41:34 +08:00
2026-10-21 19:47:52 +08:00
2026-10-14 13:58:17 +08:00
2026-10-16 11:48:59 +08:00
2026-10-24 15:57:23 +00:00
2026-10-21 19:47:52 +08:00
2026-10-21 19:47:52 +08:00
2026-10-21 19:47:52 +08:00
2026-10-11 18:18:10 +08:00
2026-10-23 16:06:27 +08:00
2026-10-24 15:38:35 +08:00
2026-10-26 15:49:58 +08:00
2026-10-24 21:51:41 +08:00
2026-10-27 02:35:54 +08:00
2026-10-18 03:57:17 +08:00
2026-10-26 22:48:22 +08:00
2026-10-27 13:42:36 +08:00
2026-10-14 09:55:09 +08:00
2026-10-14 09:55:09 +08:00
2026-10-24 21:51:41 +08:00
2026-10-07 21:45:07 +08:00
2026-10-14 09:55:09 +08:00
2026-10-14 09:47:57 +08:00
2026-10-26 19:50:12 +08:00
2026-10-26 15:34:11 +08:00
2026-10-26 16:21:11 +08:00
2026-10-26 15:40:34 +08:00
2026-10-26 17:05:05 +08:00
2026-10-26 22:48:22 +08:00
2026-10-26 22:48:22 +08:00
2026-10-24 15:38:35 +08:00
2026-10-26 17:15:58 +08:00
2026-10-15 18:11:19 +00:00
2026-10-26 22:48:22 +08:00
2026-10-26 15:34:11 +08:00
2026-10-26 23:12:34 +08:00
2026-10-26 22:48:22 +08:00
2026-10-24 15:38:35 +08:00
2026-10-15 12:15:55 +08:00
2026-08-05 19:07:46 +08:00
2026-10-14 08:59:27 +08:00
2026-10-26 15:40:34 +08:00
2026-10-21 23:28:12 +08:00
2026-10-24 04:25:13 +08:00
2026-10-25 02:10:41 +08:00
2026-10-26 15:34:11 +08:00
2026-10-26 15:40:34 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 16:58:18 +08:00
2026-10-24 22:28:39 +08:00
2026-07-24 03:31:26 +00:00
2026-10-15 12:15:55 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 22:28:39 +08:00
2026-10-27 01:11:51 +08:00
2026-10-26 15:49:58 +08:00
2026-10-24 16:58:18 +08:00
2026-10-24 22:28:39 +08:00
2026-10-12 18:44:02 +08:00
2026-10-20 00:05:22 +08:00
2026-10-20 00:05:22 +08:00
2026-10-24 17:54:18 +08:00
2026-10-26 02:33:31 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 22:28:39 +08:00
2026-10-24 16:58:18 +08:00
2026-10-24 17:56:31 +08:00
2026-10-24 16:58:18 +08:00
2026-10-24 16:58:18 +08:00
2026-10-24 16:58:18 +08:00
2026-10-26 23:12:34 +08:00
2026-10-26 22:48:22 +08:00
2026-10-24 22:06:41 +08:00
2026-10-14 21:51:19 +08:00
2026-10-26 23:12:34 +08:00
2026-10-26 15:40:34 +08:00
2026-10-27 13:36:57 +08:00
2026-10-18 07:34:08 +08:00
2026-10-24 02:29:08 +08:00
2026-10-27 00:49:27 +08:00
2026-10-27 00:49:27 +08:00
2026-10-25 07:56:26 +08:00
2026-10-27 06:43:53 +08:00
2026-10-25 09:45:26 +08:00
2026-10-24 07:42:50 +08:00
2026-10-27 06:43:53 +08:00
2026-10-27 06:43:53 +08:00
2026-10-20 05:14:33 +00:00
2026-10-27 11:10:10 +08:00
2026-10-27 00:49:27 +08:00
2026-10-27 06:43:53 +08:00
2026-10-24 08:18:53 +08:00
2026-10-27 06:43:53 +08:00
2026-10-27 00:49:27 +08:00
2026-10-18 07:33:58 +08:00
2026-10-27 06:43:53 +08:00
2026-10-27 00:49:27 +08:00
2026-10-27 06:43:53 +08:00
2026-10-27 00:49:27 +08:00
2026-10-05 22:54:17 +08:00
2026-10-06 01:59:19 +08:00
2026-10-27 00:49:27 +08:00
2026-10-20 05:14:33 +00:00
2026-10-18 07:33:58 +08:00
2026-10-24 11:19:45 +08:00
2026-10-15 12:15:55 +08:00
2026-10-13 14:39:18 +08:00
2026-10-24 11:19:45 +08:00
2026-10-27 06:43:53 +08:00
2026-10-24 08:18:53 +08:00
2026-10-27 01:11:51 +08:00
2026-10-24 05:13:41 +08:00
2026-10-14 21:51:19 +08:00
2026-10-08 10:13:05 +00:00
2026-10-24 16:58:18 +08:00
2026-10-26 23:12:34 +08:00
2026-10-13 21:55:30 +08:00
2026-10-09 04:12:49 +08:00
2026-10-24 15:38:35 +08:00
2026-10-27 01:11:51 +08:00
2026-10-27 01:11:51 +08:00
2026-10-26 23:12:34 +08:00
2026-10-23 16:06:27 +08:00
2026-10-26 16:04:44 +08:00
2026-10-26 16:46:53 +08:00
2026-10-24 15:38:35 +08:00
2026-10-24 16:58:18 +08:00
2026-10-23 16:06:27 +08:00
2026-10-26 01:33:31 +08:00
2026-10-26 14:46:23 +08:00