パストラバーサル対策と並行処理安全性が地味に効きそう。本番運用者向けのマイナーアップデート
anthropic-sdk-python v2.5.0 リリース—エラー処理と安全性を大幅強化
原題: anthropics/anthropic-sdk-python: v2.5.0
重要度の根拠: 多くのPythonユーザーにとって実装安全性が向上するマイナーバージョン更新で、既存コードへの破壊的変更は最小限
要約
Anthropicが公式Python SDKのv2.5.0をリリースした。エラー詳細情報の型追加、HTTP ステータスと API エラーコード専用のエラークラス追加、ワークスペースリスト用のIDフィルタ実装が主な機能。バグ修正では、Bedrockで不正なモデルパス('.'や'..'など)の送信を防ぐ ValueError 発生、レスポンスモデルの初回パース時のスレッドセーフ対応、ツールメモリ機能の安全性向上など、セキュリティ・安定性を強化する内容が目立つ。ドキュメントも API フィールド説明の明確化が複数行われている。
要点
- エラーハンドリング強化、error_code/details/api_message が APIStatusError に統合
- Bedrock・Vertex AI でパストラバーサル攻撃を遮断、セキュリティ改善
- スレッドセーフ対応で並行処理時の予期しない挙動を防止
- ワークスペース一覧に ids フィルタ追加で API 柔軟性向上
- メモリツール保護で誤削除リスク解消
開発者向け技術解説(API・実装詳細・破壊的変更)を見る
anthropic-sdk-python v2.5.0ではエラーハンドリング周りが大きく拡張された。HTTPステータスおよび API エラーコード対応のカスタムエラークラスが追加され、APIStatusError に error_code・details・api_message フィールドが新設。ワークスペース一覧取得時に ids フィルタが利用可能に。セキュリティ修正では、Bedrock バックエンドで model='.' や '..' のような不正パスを検出して ValueError を発生させ、リクエスト送信前に遮断。パス検証強化により '..;x' 『';x' といったトラバーサル試行も拒否。メモリツール(/memories ディレクトリ管理)の誤削除防止、Vertex AI バックエンドでのモデル・プロジェクトID・リージョンの URL エンコーディング適用。Pydantic v1 での union 型バリデーションがスレッドセーフに改善され、レスポンスモデル初回パースも同時実行安全に。既存コードへの互換性は維持されている。
本文の日本語訳(全文)を見る
### 新機能
* **api:** エラー詳細情報の型を追加、新しいエラータイプ値を追加
* **api:** ワークスペースリストに ids フィルタを追加
* **client:** HTTP ステータスと API エラーコードに対応したエラークラスを追加。APIStatusError に error_code、details、api_message を追加
### バグ修正
* **api:** エラー詳細型名の CMEK を大文字化
* **api:** 一部のエラー詳細型をそれが説明するリソースに移動
* **bedrock:** モデルが "." または ".." の場合、別パスへのリクエスト送信ではなく ValueError を発生させる
* **bedrock:** モデルが空の場合、"/model//invoke" への送信ではなく ValueError を発生させる
* **client:** OverloadedError と ServiceUnavailableError を InternalServerError のサブクラスにする
* **client:** 各レスポンスモデルの初回パースをスレッドセーフにする
* **client:** '..;x' および ';x' のようなパスパラメータを拒否
* **client:** pydantic v1 上でのスレッド間 union 検証を正しく実施
* **tools:** メモリツールが /memories ディレクトリをリネームまたは削除しないようにする
* **vertex:** リクエストパス内でモデル、プロジェクト ID、リージョンをパーセントエンコードする
### 雑務
* **api:** パターン制約文字列フィールドのサンプル値を更新
* **ci:** 遅延 pydantic モデルビルドでもテストを実行
* **docs:** プラグイン reach 値を明確化
* **docs:** プラグインバージョン説明と plugin reach を明確化
* **docs:** プラグインバージョン説明の長さを明確化
* **docs:** 一部の API フィールド説明を明確化
* **docs:** 3 つのエラー説明を明確化
* **docs:** フォールバックブロック周囲で送信すべきブロックを明確化
* **docs:** 使用報告での Claude Tag ダイレクトメッセージノートを修正
* **docs:** Dream と RBAC ロール権限説明を改文
* **docs:** テレメトリ宛先ヘッダー説明を更新
* **docs:** 分析フィルタドキュメントで Claude Platform 名を使用
* **internal:** チェンジログエントリファイルをチェンジログチェックで受け入れる
* **internal:** エラーボディヘルパーを内部ユーティリティに移動
* **internal:** 古い TODO コメントと実行できないテストを削除
* **tests:** None パスパラメータが拒否されることを確認
### ドキュメント
* **api:** `speed` フィールドの説明を各フィールドごとに表示
* ドックコメント内のエスケープとコードスパンを削除
出典: https://github.com/anthropics/anthropic-sdk-python/releases/tag/v2.5.0
媒体: SDK (anthropic-sdk-python)
※本記事は Anthropic / Claude 関連の公開情報を基に AI (OpenAI GPT-4o-mini) が日本語で要約・分類した二次的著作物です。著作権法第32条の引用要件に基づき出典 URL を必ず併記しています。要約は AI 生成のため誤訳・誤解釈を含む可能性があります。詳細・正確な情報は必ず出典元の原文をご確認ください。