engineers_blogこんにちは、金子です。普段はRailsを書いたりしています。今回は2016/4/6に発表された、RubyGems.orgの脆弱性についてまとめました。checksumを計算しており、それと実際のファイルの突合をして、書き換えられていないことを確認ずみつまり、2014-6-11から2015-2-7の間に登録されたgemが、今回の脆弱性の範囲にあたるということです。自分が使っているgemのうち、影響のありそうなものを調べる自分の使っているgemの一覧を取得する例えばRailsでアプリケーションの開発を行っており、bundlerでgemの管理をしているようなプロジェクトでは、Gemfile.lockに現在使用しているgemの名前とversionが記録されています。以下のようなコードで、名前に'-'が入っているgemの一覧が取得できます。参考に、自分の環境にDBを作成します。DBを操作してもいいのですが、今回はRailsでラップしてみます。新規にプロジェクトを作成し、app/models/rubygem.rbとapp/models/version.rbを作成します。:rubygemendまたデフォルトではrubygemsという名前のdatabaseにデータが入るので、config/database.ymlも調整します。rubygems準備ができたら以下のようなスクリプトを実行します。listの内容をもとにチェックしたいというケースもあるかと思いますので、GemVersionというクラスも用意しました。4.2.6の標準設定)のGemfile.lockに対して実行してみます。16:33:44"]]おや、rails-deprecated_sanitizerがひっかかりました。DO?”をもとに、rails-deprecated_sanitizerの1.0.3を確認してみましょう。gemをインストールして、unpackします。'/.../rails-deprecated_sanitizer-1.0.3'次に、コードをダウンロードし、リリース時のコミットをチェックアウトします。v1.0.3diffを取ります。rails-deprecated_sanitizer.gemspecrails-deprecated_sanitizerにしかないファイルが複数ありますが、これはrails-deprecated_sanitizer.gemspecの設定で、パッケージに含めていないものなので、問題なさそうです。まとめマネーフォワードの本番環境で使用している全gemを対象に上記の絞り込みを行い、差分の確認をし、全gemに問題がないことを確かめました。最後にマネーフォワードでは、RubyやRailsをいじり倒すのが大好きというエンジニアを募集しています。ご応募お待ちしています。