Skip to content

lib/config.sheval 利用を排除(Python 側の出力方式変更) #48

@ikeisuke

Description

@ikeisuke

背景

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.shlib/config.pylib/config_cli.pytests/config.bats で回帰検出可
  • 確度区分: confirmed
  • 備考: eval 利用は事実。現時点で脆弱性顕在化はないが、設計上のアンチパターン

参照

サイクル

v0.3.0 サイクルの Construction Phase(Unit 006 → Unit 008)で採否確定した起票候補。実装修正は別サイクル(次サイクル以降)で対応予定。

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogバックログアイテムcycle:v0.3.0サイクル v0.3.0priority:medium優先度: 中status:backlogバックログにある未着手の状態type:refactorリファクタリング

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions