背景
Unit 006 コードベース調査レポート(サイクル v0.3.0)の調査候補 #21(観点 8.1)。Unit 008 のユーザーレビューで「起票する」として採否確定。
- 対象ファイル/箇所:
lib/config.sh@bd55d9c:FN=load_config
- 現状の問題: Python スクリプト(
lib/config.py)の出力を eval で shell 変数に展開している。入力は config_cli.py load の出力で、shell_escape() により制御されているため直接的な脆弱性ではないが、eval の利用自体はセキュリティ的にアンチパターン
- 推奨対応: (a) Python 側で export コマンドの列挙ファイルを書き、
. で source する方式に変更、(b) 環境変数 export の代わりに key=value を出力し、shell 側で個別に読み取る方式。どちらも eval を排除可能
- 想定影響範囲:
lib/config.sh、lib/config.py、lib/config_cli.py。tests/config.bats で回帰検出可
- 確度区分:
confirmed
- 備考:
eval 利用は事実。現時点で脆弱性顕在化はないが、設計上のアンチパターン
参照
サイクル
v0.3.0 サイクルの Construction Phase(Unit 006 → Unit 008)で採否確定した起票候補。実装修正は別サイクル(次サイクル以降)で対応予定。
背景
Unit 006 コードベース調査レポート(サイクル v0.3.0)の調査候補 #21(観点 8.1)。Unit 008 のユーザーレビューで「起票する」として採否確定。
lib/config.sh@bd55d9c:FN=load_configlib/config.py)の出力をevalで shell 変数に展開している。入力はconfig_cli.py loadの出力で、shell_escape()により制御されているため直接的な脆弱性ではないが、evalの利用自体はセキュリティ的にアンチパターン.で source する方式に変更、(b) 環境変数 export の代わりに key=value を出力し、shell 側で個別に読み取る方式。どちらもevalを排除可能lib/config.sh、lib/config.py、lib/config_cli.py。tests/config.batsで回帰検出可confirmedeval利用は事実。現時点で脆弱性顕在化はないが、設計上のアンチパターン参照
bd55d9cb48749fb1df884880b46223a9ff7a1ea8.aidlc/cycles/v0.3.0/plans/code_review_report.mdの観点 8.1 セクションサイクル
v0.3.0 サイクルの Construction Phase(Unit 006 → Unit 008)で採否確定した起票候補。実装修正は別サイクル(次サイクル以降)で対応予定。