自動リファクタリングツール「OpenRewrite」をご紹介! NRI OSSソリューションマガジン 2023.12.20発行 Vol.204
1.自動リファクタリングツール「OpenRewrite」をご紹介!
いつもOpenStandiaのメールマガジンをご購読いただき、誠にありがとうございます。
近年のアプリケーション開発では、OSSなどのサードパーティのコンポーネントの利用は欠かせないものとなっています。
サードパーティのコンポーネントは、日々アップデートされたり新たな脆弱性が発見されたりするため、それに対応しないままでいると技術的負債を抱えてしまうことなります。
バージョンアップ作業は、専門知識を要する割に膨大で退屈な反復作業です。
今回は、そういった場合にソースコードの自動リファクタリングをしてくれるOSS、OpenRewriteをご紹介します。
▼ OpenRewrite(外部サイト)
https://docs.openrewrite.org/
OpenRewriteは、もともとはNetflixでリファクタリングを自動化するために開発されたツールです。
Java, Kotlin, Groovyといった言語、Springなどのフレームワークに対応しています。
OpenRewriteは、一度ソースコードをLST(Lossless Semantic Trees)という構文木の形式に変換した上でリファクタリングを行います。
LSTに適用するコード検索・変換操作の定義はレシピと呼ばれ、OpenRewriteはレシピを利用・開発する環境を提供しています。
レシピとしては、「Spring Boot 2.x系のベストプラクティスを適用する」といったリファクタリングレシピや、「Spring Framework 5.1へのマイグレーションレシピ」など、様々なレシピが公開されています。
自分でレシピを作成して適用したり公開したりすることもできます。
OpenRewriteで自動変換するだけで完全にバージョンアップなどに対応しきれる保証はなく、利用方法によっては手動で対応する必要がある箇所も出てきますが、ソースコードの大部分を自動修正できるのは開発の手助けになります。
皆様も活用してみてはいかがでしょうか。
OpenStandiaではOSSの技術サポートを提供しています。
現在のサポート対象OSSは下記OpenStandiaサイトから確認できます。
◆OpenStandiaサポート対象OSS一覧
https://openstandia.jp/services/#supportlist
2.OSS紹介ページ 今月のアップデート(新規:2件)
(新規)
Red Hat JBoss Web Server (https://openstandia.jp/oss_info/red_hat_jboss_web_server/)
OpenResty (https://openstandia.jp/oss_info/openresty/)
3.OSS紹介ページ 今月のアクセスランキングTOP10
オープンソース情報ページ「OpenStandia OSS紹介」のアクセスTOP10をご紹介
↑ 1位 (2位) Apache Tomcat (https://openstandia.jp/oss_info/tomcat/)
↑ 2位 (8位) Keycloak (https://openstandia.jp/oss_info/keycloak/)
→ 3位 (3位) Apache HTTP Server (https://openstandia.jp/oss_info/apache/)
↑ 4位 (5位) PHP (https://openstandia.jp/oss_info/php/)
↓ 5位 (4位) PostgreSQL (https://openstandia.jp/oss_info/postgresql/)
→ 6位 (6位) MySQL (https://openstandia.jp/oss_info/mysql/)
↑ 7位 (10位) OpenShift (https://openstandia.jp/oss_info/openshift/)
↓ 8位 (7位) Squid (https://openstandia.jp/oss_info/squid/)
↑ 9位 (ランク外) Nginx (https://openstandia.jp/oss_info/nginx/)
↓ 10位 (1位) ActiveMQ (https://openstandia.jp/oss_info/activemq/)
※( )内は前月の順位
◆OSS総合情報ページ「OpenStandia OSS紹介」はこちら
https://openstandia.jp/oss_info/
4.今月注目のバグ&セキュリティ情報
【Squid】 HTTP メッセージ処理機能におけるバッファのオーバーリード
Squid は HTTP、HTTPS、FTP などをサポートする Web 用のキャッシュプロキシです。
バッファオーバーリードバグにより、Squid は Squid HTTP メッセージ処理に対する DoS 攻撃に対して脆弱です。
このバグは Squid バージョン 6.5 で修正されています。
ユーザはアップグレードすることをお勧めします。
この脆弱性に対する既知の回避策はありません。
詳細は下記関連情報の GitHub の Security Advisories のページをご参照ください。
本脆弱性の影響を受ける Squid のバージョンは下記となります。
・Squid
~ 6.4
関連情報
・GitHub squid-cache/squid/Security/Advisories
SQUID-2023:7 Denial of Service in HTTP Message Processing
https://github.com/squid-cache/squid/security/advisories/GHSA-8w9r-p88v-mmx9
OpenStandia年間サポートサービスでは毎週、セキュリティアラートに関する情報、及びバグFIXに関する情報を提供しています。
◆OpenStandiaオープンソース年間サポートサービスのご紹介
https://openstandia.jp/services/