Skip to content

Security: roflsunriz/esp32-codex-notifications

docs/security.md

セキュリティ監査

更新日: 2026-08-23

Releaseビルド環境

CIとRelease workflowはGitHub-hosted runner上で次だけを実行します。

  • pio run -e cyd
  • pio check -e cyd --skip-packages
  • CMakeネイティブテスト
  • PythonパッケージテストとRelease asset生成
  • GitHub CLIによるdraft Releaseの作成と公開

PlatformIO Home、ASGI server、HTTP endpointは起動せず、外部からHTTP requestを受けるportも開きません。

pip-auditの限定除外

PlatformIO 6.1.19はWeb UI用にStarlette <0.53 を要求します。Starlette 0.52.1には次の既知脆弱性があります。

ID 対象機能 workflowからの到達性
PYSEC-2026-161 HTTP Host headerからのURL再構築 HTTP serverを起動しないため到達不能
PYSEC-2026-248 不正なHTTP request pathのURL再構築 HTTP serverを起動しないため到達不能
PYSEC-2026-249 URL encoded formのresource limit form parserを呼び出さないため到達不能
PYSEC-2026-2280 HTTPEndpointのmethod dispatch endpointを登録しないため到達不能
PYSEC-2026-2281 Windows StaticFilesのUNC path処理 Linux runnerでStaticFilesを使わないため到達不能

workflowの pip-audit は上記IDだけを明示的に除外し、それ以外の脆弱性では失敗します。pipは 26.2 へ更新し、PYSEC-2026-3721を解消します。

次のいずれかを変更する場合、この除外を撤回して再評価します。

  • PlatformIO Home、remote agent、Web UIをworkflowで起動する。
  • Starlette、Uvicorn、Bottle、ASGI appを直接importする。
  • runnerを外部HTTP requestを受ける構成にする。
  • PlatformIOがStarlette修正版へ対応する。

ファームウェア依存

ファームウェアへPythonパッケージは含まれません。ArduinoJson、TFT_eSPI、Arduino-ESP32、ローカルXPT2046実装は、ビルド・静的解析に加えて公開advisoryを確認します。Wi-Fi、HTTP server、OTA update endpointはファームウェアで有効化していません。

Arduino-ESP32 2.0.17が該当する次のadvisoryは、対象機能をリンクも初期化もしていないため製品経路から到達不能です。

Advisory 影響を受ける機能 このファームウェア
GHSA-9vfw-wx65-c872 HTTPUpdateServer / OTA Web updaterのCSRF Wi-Fi、WebServer、OTAを使用しない
GHSA-8cmm-3887-r32j WebServer multipart upload parser WebServerとupload handlerを使用しない

Wi-Fi、WebServer、HTTP update、OTAのいずれかを追加する場合は、Arduino-ESP32 3.3.8以降へ移行し、BLE HID、TFT、タッチの実機回帰を完了するまでReleaseしてはいけません。

There aren't any published security advisories