1. ゆるITエンジニア道場
  2. パッケージの自動アップデート..
パッケージの自動アップデートツールへの悩み
2026-10-29 08:34

パッケージの自動アップデートツールへの悩み

riddle :

ひびの : https://x.com/nasustim


ハッシュタグ:#ゆるIT

番組へのお便りはこちら:https://forms.gle/gp78XNFgERDFDkb88

感想

まだ感想はありません。最初の1件を書きましょう!

00:00
こんにちは、シニアソフトエンジニアのリドルです。 今回は、皆さんリノベートというGitHubで使えるパッドとかを自動でアップデートしてくれるアプリケーション、ツール、OSSみたいなものをご存知でしょう
か。
MENDという会社が提供してくれているもので、エンタープライズ版とOSS版があるかなと思います。
業界だとデファクトに近いのかなと思っていて、ディペンダボット使うかリノベート使うかどっちかだと思いますね。
非常に便利で、いろんなパッケージマネージャーがあると思うんですけれども、そこで管理しているパッケージのバージョンアップとかを一手になってくれるようなやつで、
例えばNPM使ってますと、パッケージ.jsonがありますと、そうするとパッケージ.jsonのバージョンとかをこういうアップデートあったから上げとくよみたいな感じでプルリク作ってくれたりする感じですね。
なのでそれを回しするだけでバージョンがどんどん上がっていくという感じになっています。
これ何が便利かというと、最近のセキュリティ対策は当たり前のように日々新しいパッチが出てくる中で、
そういうセキュリティのものとかそうじゃないのもありますけど、どんどん更新していって常に最新を使っていこうという感じになっています。
それによって古い脆弱性とかですね、古いところにあるバグをつかれた攻撃とかに耐えられるようにしようという感じになっています。
ただ最近これ結構問題になっているのが、昨今のサプライチェーンアタックでクールダウンという設定が結構有効だと言われています。
これ何かというと、新しいパッチを入れると、例えばまだ発見されてないけど攻撃者だけが知っているバグをついた攻撃であったりだとか、
もしくは悪意あるアップデートを攻撃者が仕込んだ場合に、それをダウンロードしてみるとすぐに感染してしまうとか、そういうリスクがあるんですね。
どうしても新しいパッチ出ましたってなった時に、それを脆弱性スキャナーとかでチェックして結果が出て、これ危ないですよっていう仕組みもあるんですけど、
それが結果出るまでにちょっと時間がかかったりするので、例えば30分とか1日とか、他の人が気づいて危ないよと止めるまでに数がかかってしまうケースもあるので、
最近はそのクールダウンという仕組みで、リリースされてから1日後に入れましょうとか、1週間経たないとアップデートできませんよ、
みたいな感じのルールをパッケージマネージャー側だったり、このリノベートやディペンダボットというツールが提供してくれたりしています。
これによって、例えば昨今のサプライチンアタックでアップデートをちょっと待っていたことによって被害を食らわなかったというような感じがあります。
これも結構便利な機能なんで、自分でやっているプロダクトにも入れたりしてるんですけど、やっぱり過渡期だと思うんですよね、こういう対策とか。
何日待つといいよ、みたいなやつ。なので、どうしてもリノベートとかディペンダボットがこれまでやってくれていた以上のことを求められているというところもあったり、
03:04
パッケージマネージャーもいろんなものが言語ごとにもありますし、例えば言語の中でもいろいろありますよね。
PythonだったらPIPだったりUVだったりNPMだったり、PNNとかNPMとかYARNとかありましたし、他にもいろいろありますよね。
ってなった時に、それらすべてを対応するってまあそもそも不可能ですし、一つのプロダクトの中でも複数言語を使っていて、モノレポでみたいなケースもあったりすると思うんですよ。
インフラだったらテラフォーム使って、ヘルム使って、カスタマイズ使って、みたいなね、ありますし。言語だってね、複数言語使うみたいなのありますし。
ってなってくると、全部で整合性をとりつつ、セキュリティ対策もしっかりするっていうのは結構厳しいんですよね。
例えば、リノベートの例でいうと、UVっていうPythonのパッケージマネージャーがあるんですが、UV側でもクールダウンの設定ができるんですね。
リノベート側でもクールダウンの設定ができるんですけど、例えばですけど、0と1系のセキュリティパッチはすぐに当てたいみたいなニーズがあったとするじゃないですか。
そうすると、セキュリティ系のパッチが出たらすぐ当てますってやってるのに、UVやリノベートでクールダウンみたいな設定すると、そのパッチ当たらなくなっちゃうんですよね。
そうすると、じゃあどうするんだみたいな話で、それはなんか手動で対応してどのコーナーをやるみたいなこともあったりしますし、
あとはドッカーイメージ一部のものについては、ドッカーじゃないところから取ってくるとクールダウンが効かなかったりとか、
いろいろ過渡期なこともあって、なかなか1個のツールで全部対応するっていうのは現状難しいというか、現場にもよると思いますけど、相当大変だなという感じになっています。
もちろんリノベートOSSなんで非常に有用ですし、開発も盛んですし、一周とかもたくさんできてるんで日々良くなってはいると思いますし、
そういう課題があるなら自分でフォークして直せばっていうのがOSSの精神ではあるということは十々承知なんですが、
なかなかいろんなプロダクトとかいろんなチームで困ってるんで、何か銀の弾丸というか、これを入れば解決するぞみたいなものがね、
世の中に1個あってほしいなっていうちょっと個人的な思いがあります。なのでちょっと今、全てをいい感じに解決する方法が個人的にはなくて、
かつ上手いことやろうと思うには、前のツールみたいなものをちょっとリノベートと合わせて使ってみたいなことをやっていかないと、
いろんな言語とかツールとかを使うモノレポみたいな環境だとなかなか対応しづらいなというのが世の中を見ていての動きですね。
なので、簡単に言うと早く何かデファクト出てこいっていうのが願望ですね。
06:01
いやー、皆さんもご存知だと思いますけど、こういう過渡期の時に特にAIもそうですけど、何かこうちょっと便利というか、何か成立させるためにいろいろな
グルーコードというか、ちょっとしたツールというかスクリプトみたいなものをみんな作るじゃないですか。
例えば、まあそうだな、生成AIが始めたての時とかはですね、チャットGPTそのままだと危ないから、ちょっと自社のチャットツール作ってみようよみたいなことだったり、
例えばAIエージェントとか、ラグとか、まあAIエージェントはまだ別かな、でもラグとかって結構今だと、例えばですけどGoogleのノートブックLMみたいなもの結構前からありますけど、
それがなかった時には自前で頑張ってラグ作るみたいなこともありましたし、なかなかこうAIの進化側でうまくやってくれるから、もう作らなくてよくなったってものも過渡期には結構尽くしてたと思うんですよ。
なのでセキュリティもまあその過渡期にあるのかなとは思っていて、どっかの誰かにちょっと期待しちゃう感じになっちゃうんですが、どうにかなれっていう思いですね。
皆さんの中でもしこんな感じになってるよ、こういう方法あるといいよみたいなものがあればですね、ぜひちょっと共有いただきたいなとは思います。
なかなか厳しいですね。
ということで今回はリポジトリ管理しているパッケージマネージャーのバージョンをですね、うまくセキュアの状態をキープしつつも定常的に自動でアップロードしていくという方法、アップロードじゃないアップデート
していくという方法について最近悩んでいるという話をしました。
まあすごいねリアルな悩みだと思います。
こうやって別にさあ、やってもさあ、なんだろう、当たり前っていうかやることは前提じゃないですか。
アップデートしないっていう選択肢ほぼないから。
ってなると、ね、やらないといけないけど、ここさあ、あんま頑張るとこじゃないというか、なんか、なんていうんだろう。
そうなんかさあ、ここって別になんかあんま価値に寄与しないというか、もうここは既存の仕組みで何とかしてくれれば嬉しいのになあっていうとこじゃないですか。
要するに、例えばなんかSaaSを作るとしても、そのSaaSの機能に寄るとこじゃないから、なんか顧客満足度高くならないし。
もちろんね、セキュリティを担保しているという意味ではいいんですけど、あんまり省力でいたいなって感じですよね。
このポッドキャストはハッシュタグLITで皆様の感想やコメント募集しております。
またチャンネルの概要欄にありますGoogleフォームのリンクからもご投稿可能です。ありがとうございました。
08:34

コメント

スクロール