Webアプリ開発者のためのセキュリティ入門:OWASP Top 10 2025:Mishandling of Exceptional Conditions(例外条件の誤処理)

Laravel

OWASP Top 10 を通じて、Webアプリケーションのセキュリティを学んでいきましょう。

OWASPとOWASP Top10についてはこちら。

https://biz.addisteria.com/what_is_owasp_top10/

今回は最新のOWASP TOP10 2025*で10位の座のMishandling of Exceptional Conditions(例外条件の誤処理)について解説します。こちら、2025年に初登場の項目となります。

※2025年版は現在 Release Candidate(候補版)として公開されており、正式版では内容が調整される可能性があります。

Laravelアプリケーション開発時の対策や、バイブコーディング(生成AIコーディング)でも役立つ対策も考えていきますね。

Mishandling of Exceptional Conditions(例外条件の誤処理)

Mishandling of Exceptional Conditions(例外条件の誤処理)について、公式説明ページはこちら:

これはソフトウェアが予測不可能であったり、通常とは異なる処理によってエラーになることを指します。さらに、エラー時の動作がしっかり設定されていないことです。

エラーが全く発生しないソフトウェアを作ることは不可能だと思います。ただ、エラーが起こった時に「安全にエラーになる(fail securely)」ようにすることは可能です。

このことを強調するために、今回、このMishandling of Exceptional Conditions(例外条件の誤処理)という項目が新たに作られたと考えられます。

CWE(共通脆弱性タイプ)

このカテゴリーに含まれる主なCWE(脆弱性分類)は次のとおりです。

  • CWE-209: 機密情報を含むエラーメッセージの生成
  • CWE-234: パラメータの欠落への対応失敗
  • CWE-476: NULLポインタ参照
  • CWE-636: 安全に失敗しない(フェイルオープン)

対策

次のような対策が考えられます。

  1. エラーが発生する場所で直接キャッチして処理する
  2. ユーザーに分かりやすいエラーメッセージを表示(機密情報は含めない)
  3. ログにイベントを記録
  4. 必要に応じてアラートを発行
  5. グローバル例外ハンドラを設置(見落としに備える)
  6. トランザクション途中でエラーが発生したら、完全にロールバック

さらに、レート制限、リソースクォータ、スロットリングなどの制限を可能な限り追加して、そもそも例外条件を防ぐようにします。

Laravelでの対策

Laravelでは、エラーハンドリング用のマニュアルページが用意されています。

前回もご紹介したとおり、ログレベルに応じた適切なログ出力を行うことも重要です。

またLaravel固有ではないですが、例えば外部APIを利用する場合や、データベース接続が不安定な場合など、サーバー側でエラーを確実に予測できないような場合には、Try Catch処理は入れておいたほうがいいでしょう。

try catchとは、エラー(例外)が発生する可能性のある処理をtryブロックで囲み、エラーが発生した場合のcatch処理を記述する仕組みです。失敗した場合に「catch」した箇所の処理を行うことで、フリーズしてしまったりするのを防げます。

バイブコーディング(生成AIコーディング)での注意点

バイブコーディング(生成AIコーディング)の場合、生成AI側では、例外処理をしっかり組み込んでくれないケースが考えられます。

現在のわたしの経験上ですが、生成AIは「動作する」ことに重点を置いてコードを書いてくれます。そのため、惨事に至るケースも少なくないでしょう。

もし動かなかった場合にはどうするか。こちらが指示をしていく意識を持っておくことが大事です。

さいごに

Webアプリは、ほぼかならず、エラーが発生すると思っておいた方がいいでしょう。

原因としては、コードが不適切であったり、あるいはネットワークエラーなど環境が原因となる場合もあります。

こういった場合にどうするか。適切な「例外処理」をしっかり組み込んでおかないと、思わぬ二次災害が発生します。ぜひ、安全に失敗するようにしておきましょう。

今回新たに10位にランクインしたこちらの項目、しっかりと対策しておきたいところです。

さてさて、ここまででOWASP Top10について解説終わりです。また追加で何か書くかもしれません。よろしければ、SNSなどフォローしておいてくださいね。

 

OWASP Top10で学ぶセキュリティ、最初からご覧になりたい方はこちら。

準備中

Laravel Laravelセキュリティ OWASP Top 10を分かりやすく解説 セキュリティ

生成AIを使ったコーディングに興味がある あなたへ

バイブコーディングセミナープレゼント

バイブコーディングセミナーの一部を無料でプレゼント!

プレゼント詳細を見てみる

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新版テキストに加え、Laravel8版~Laravel11版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新版テキストに加え、Laravel8版からLaravel11版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪

Laravelの使い方を分かりやすく解説した書籍を出版しました。 ご好評につき、最新版に対応した改訂版を2025年7月に発売
書店やAmazon等のオンラインショップにて販売中です。 詳しくは下記ボタンをクリック

書籍の詳細を見てみる

Laravelの本書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。ご好評につき最新版対応の改訂版発売。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる
Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました