写真=Shutterstock

PHPで深刻とされるランタイム脆弱性「PHP2Shell」が見つかり、PHPの構造的な課題を改めて問う声が強まっている。1999年からPHPに携わってきた開発者のJan Kammerath氏は、AIを活用した脆弱性分析の進展によって、これまで見過ごされてきた問題が表面化する可能性があるとして、RustやGoへの段階的な移行を提案した。

PHP2Shellは、PHPコードを実行するランタイムに起因する脆弱性で、CVE-2026-109618とCVE-2026-109619が割り当てられている。Kammerath氏はMediumへの投稿で、これを単発の問題ではなく、長年積み上がってきた課題が表に出始めた兆候だと位置付けた。

同氏は、AIの進化を今後の大きな変数に挙げる。これまでPHPの精査には十分な時間や予算が割かれてこなかったが、AIベースのセキュリティ研究が進んだことで、PHPをより深く再点検できる環境が整いつつあるという。

その上でKammerath氏は、AIを使ったセキュリティ研究はPHPにとって長期的な脅威になり得ると指摘した。PHPのメンテナーは今後も重い負担を背負うことになるとの見方も示している。

同氏は、PHPの設計思想そのものにも問題があるとみている。初心者でもWeb開発に入りやすいことを重視する一方で、一部の開発者が求める機能を取り込む過程で、セキュリティが後回しになったというのが同氏の見立てだ。

また、仮にPHP自体をGoやRustのような安全性の高い言語で作り直したとしても、設計に起因する問題の多くは残ると指摘する。Web開発需要が急拡大した時代に、経験の浅い開発者がコピー・アンド・ペーストで量産した質の低いコードが数多く残っていることも、リスク要因として挙げた。

クラウド時代との相性にも疑問を投げかける。Linux、Apache、MySQL、PHPを組み合わせたLAMP構成は2000年代初頭の典型的な方式だが、現在も多くのPHPアプリケーションで事実上の標準として使われているという。

Kammerath氏は、高可用性が求められる環境でPHPアプリを運用するには、PHPだけでは足りず、補完のためにGoで多数の補助プログラムを書く必要があったと説明した。PHPは初心者に扱いやすい言語とみなされがちだが、大規模サービスの運用現場では、むしろ扱いづらさが目立つとする。開発のしやすさと引き換えに、運用側は安定性を失いやすいとの認識だ。

コスト面の優位性も薄れているという。従来、PHPはC++よりも高速かつ低コストで開発しやすいことが強みとされてきたが、AIコーディングツールの登場で、RustやGoのほうが開発速度で有利になる場面もあるとした。さらに、インタープリター型言語であるため、メモリや計算資源の消費が重くなりやすい点も負担だと付け加えた。

一方で同氏は、PHPそのものが消えるとはみていない。優れたPHPコードを書く開発者には敬意を示しつつ、FortranやCOBOLと同様に、言語は突然なくなるのではなく、時間をかけて存在感を失っていくとの見方を示した。PHPが使われ続けるのは、WordPressのような需要がなお存在するためであり、開発者が積極的に選んでいるからではないとも指摘した。

その上でKammerath氏は、PHP開発者はいま離脱を検討すべき局面にあると主張する。顧客のためにも、アプリケーションをRustやGoへ段階的に移していくのが最善だと訴えている。

キーワード

#PHP #PHP2Shell #AI #脆弱性 #Rust #Go #LAMP #クラウド #セキュリティ
Copyright © DigitalToday. All rights reserved. Unauthorized reproduction and redistribution are prohibited.