Skip to content

[security] 取得ボディにサイズ上限/タイムアウトを設ける #56

Description

@yk-lab

概要

src/github.tsfetchText / fetchJson は許可ホストからのレスポンスボディを上限なしで読み切る。許可ホストが(侵害等で)巨大/無限ストリームを返した場合、メモリ枯渇やハングの恐れがある。per-request タイムアウトも無く、唯一の backstop は job の timeout-minutes

受け入れ条件

  • checksums / JSON 取得に妥当なボディサイズ上限を設け、超過は失敗にする(transient / permanent の別は要検討)
  • per-attempt のタイムアウト(AbortSignal.timeout 等)を導入し、ハングを withRetry でリトライ可能にする
  • 既定値は通常の go-task リリース資産で余裕を持って収まる値
  • 正常系で回帰がないこと(self-test green)

参照

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3: lowあれば嬉しい / 将来securityセキュリティ関連(認証・チェックサム・供給網)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions