Skip to content

feat: FT196 http.client — 低レベル HTTP クライアント・接続管理・SSRF 防御 (#544)#544

Merged
hideyukiMORI merged 1 commit into
mainfrom
feat/ft196-http-client
May 22, 2026
Merged

feat: FT196 http.client — 低レベル HTTP クライアント・接続管理・SSRF 防御 (#544)#544
hideyukiMORI merged 1 commit into
mainfrom
feat/ft196-http-client

Conversation

@hideyukiMORI
Copy link
Copy Markdown
Owner

Summary

  • FT196 http.client モジュールのフィールドトライアルを実施(23 tests passed)
  • SSRF 防御パターン: frozenset ホワイトリストで 127.0.0.1 / localhost のみ接続許可
  • クラッカーペンテスト(196 % 4 = 0): 7 カテゴリを検証、条件付き合格
    • DNS リバインディング(未防御・本番化時の追加実装事項として記録)
    • ポートスキャン代用(残存リスク中・タイムアウト短縮で軽減可能)
  • Follow-up 修正を同 PR に含む:

Test plan

  • uv run pytest — 385 passed
  • uv run mypy src/ — no issues
  • uv run ruff check src/ tests/ — all passed
  • uv run pip-audit — no known vulnerabilities

🤖 Generated with Claude Code

- http.client モジュール(HTTPConnection/POST/Keep-Alive)のフィールドトライアルを実施
- SSRF 防御: frozenset ホワイトリストで 127.0.0.1/localhost のみ許可
- クラッカーペンテスト: SSRF・ヘッダーインジェクション・ポートスキャン・レスポンス DoS 評価(条件付き合格)
- F-1: ValidationError の code 引数を CLAUDE.md に明記
- F-2: init-ft.sh に ErrorHandlerMiddleware 込みの create_app() ボイラープレートを追加
- pyproject.toml v1.8.66 → v1.8.68(#538 解消)

Closes #538

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI merged commit 68ed69c into main May 22, 2026
2 checks passed
@hideyukiMORI hideyukiMORI deleted the feat/ft196-http-client branch May 22, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: pyproject.toml の version を v1.8.67 に sync

1 participant