セキュリティ · 影響度:大ファンスコア 63 · ティア A
axios のエラーを console.log(err) すると API キーが丸見え:redact は JSON.stringify には効いたが console.log には効かなかった(実機確認)
Qiita · 執筆:supportapp3 ·
要点
- axiosで401などのエラーをcatchしてconsole.log(err)すると、Authorizationヘッダーの「Bearer」の値がそのまま出力された
- axiosのredact機能はJSON.stringifyでは効いたが、console.logでは効かなかったと報告されている
- 検証はNode.js 24.22.1を使い、2026-11-10に実機で行われた
なぜ重要か
エラーオブジェクトをそのままログに出力している開発者は、APIキーがログ基盤や共有ログに残る恐れがある。ログ出力方法の見直しが必要になる。
影響を受ける人
- axiosでAPI認証を行うNode.js開発者
- エラーオブジェクトをそのままログ出力しているチーム
取るべき対応
- console.log(err)でaxiosのエラーをそのまま出力している箇所を洗い出す
- エラーログにはerr.messageなど必要な項目だけを出力し、ヘッダーを含むオブジェクト全体は出力しない
- 既にログに残っている可能性がある場合はAPIキーの再発行を検討する
- Node.js 24.22.1
- #セキュリティ
- #axios
- #Node.js
- #APIキー
- #ログ出力
結論 Node.js の axios で 401 などのエラーを catch (err) して console.log(err) すると、Authorization: Bearer ... の値がそのまま出ました(2026-11-10、Node.js 24.22.1・a...