
PyPIに悪意のあるパッケージがアップロードされていた 48
ストーリー by headless
偽物 部門より
偽物 部門より
utahime 曰く、
スロバキア政府のサイバーセキュリティ対策チーム SK-CSIRTは、Pythonパッケージの公式リポジトリ PyPI に悪意あるコードを含む10個の偽ライブラリパッケージがアップロードされていたことを発表した(SK-CSIRTアドバイザリー: skcsirt-sa-20170909-pypi、 Ars Technicaの記事、 The Registerの記事、 Bleeping Computerの記事)。
偽パッケージはいずれも有名パッケージのコピーで、オリジナルのパッケージ名を一部変えた名前が付けられている。コード自体はオリジナルと全く同じものだが、インストール時に実行されるスクリプトが悪意のあるコードを含むものに変えられていたとのこと。
SK-CSIRTの通報により既に問題のパッケージは全てリポジトリから削除されたが、公開されていた6月から9月の間に複数回のダウンロードが確認されているという。そのため、SK-CSIRTではインストールされているパッケージを確認し、偽パッケージが存在する場合は削除して正規のパッケージをインストールすることを推奨している。
The Registerの記事では、タイプミスによりインストールされることを狙ったTypesquattingという手法だと指摘。SK-CSIRTではpipを使用してPythonパッケージをインストールする際は十分な注意が必要だと述べている。なお、偽パッケージに追加されたコードスニペットはPython 3.xと互換性がなく、インストール時の問題が複数回報告されていたが、セキュリティ問題とは認識されていなかったとのことだ。
Pythonユーザではないので (スコア:2, 興味深い)
寡聞にして存じ上げませんでしたが、日本国内のユーザの皆様におかれましては
「PyPI」の表記はなんと発音なさるのでしょうか?
#まさかパイパ…
Re: (スコア:0)
Python による Python の実装 PyPy [wikipedia.org] もあるでよ。
Re:Pythonユーザではないので (スコア:1)
まさかと思って調べたら…
pypan
https://pypi.python.org/pypi/pypan [python.org]
# これはどう見てもパイパ…
PyPN
http://www.pnotepad.org/docs/pypn_overview/ [pnotepad.org]
これならセーフ?
Re:Pythonユーザではないので (スコア:1)
pypanは予備の麻雀牌のことをいう。ので、エッチな言葉じゃないもん!
Re: (スコア:0)
Re: (スコア:0)
最近の麻雀牌は彫らないのか?
Re: (スコア:0)
下ネタをまとめたブログかなんかあったなと思ったらまだあった。
http://doloopwhile.hatenablog.com/entry/20120120/1327062714 [hatenablog.com]
Re: (スコア:0)
美乳と思ってたのに偽乳だったのかー
Re: (スコア:0)
CPANにならって、Python Package Archive Networkだとやばかったかも。
Re: (スコア:0)
結局だれも回答してない様な気がして書きますが、
それはパイピーアイで、他の方もあげてるPyPyがお求めのものです。、
基本 (スコア:2)
エロに何か仕組まれるの基本だよね
え?違うの?
#PyPANのほうがヤバい。
Re: (スコア:0)
汚されたPyPANとか非常にインモラルな香りがしますね
開発環境のファイル多すぎなんだよ (スコア:0)
個々ファイルに別れてたほうが扱いやすいのは確かだが
3つ入れただけでHDD内のファイル100万個とか管理しきれんつーの
なんか上手い方法ないのかね
Re: (スコア:0)
無圧縮zipに固めてたらだめかな?
ディレクトリと同じく1000ファイルぐらいで性能劣化する?
Re: (スコア:0)
zipする程度で解決になるような管理の問題なら、階層型ディレクトリでも使っておけばいいんじゃね。
容量の節約にはならないけど検索や移動、置換はずっとしやすくなるよ。
パッケージ間の依存関係を明示するのはいいけど (スコア:0)
依存先を自動的にダウンロード&インストールするのはあぶなっかしいなあと思った次第
正規のパッケージを再インストールを推奨 (スコア:0)
Pythonのコード自体は元と同じで、インストーラに悪意のあるコードが含まれていたのなら、パッケージの再インストールでどうにかなる問題なのか?
Re: (スコア:0)
もう少しよく読もう。
>オリジナルのパッケージ名を一部変えた名前が付けられている。
そもそも正規のパッケージではないのだ。
Re:正規のパッケージを再インストールを推奨 (スコア:1)
いやあの。
パッケージの中身に仕込みがあってそれを含む成果物が不味い挙動をするのなら、
正規のパッケージを入れることで成果物を汚染されていない状態に戻せるけれど、
インストーラのスクリプトに仕込みが有って開発環境が汚染されるのであればアンインストールしても意味なくね?
アンインストールでご丁寧にその辺も除去する作りになっているのだろうか?
Re: (スコア:0)
というよりは、そのままpip freezeなりwheelなりで他環境にばら撒く可能性があるからじゃないかな。
その環境で何が起きたかは流石にわからないしね。
どうやって探すんだって話はあるけど。
この手の問題、npmにはもっと有りそうな気がするなぁ。
Re: (スコア:0)
リンク先に実際の悪意のあるスクリプトみたいのが載ってるけど、とりあえず見つかった物はユーザー名とかを攻撃者のサーバに送信するだけみたい?
なのでそれに関してはそのパッケージの削除と正規のパッケージのインストールでおkという事かな
まあ普通は何かしらの悪意のあるコードが走った時点でアウトなわけで、その辺りに言及してくれないとちょっと誤解を招きやすい感じがするね
Re: (スコア:0)
隙あらば日本自虐
Re:サラッと書いてあるけど物凄い事件だな (スコア:1)
> これがスマホの某アプリのように、とりま無料かつ広告なしの優良アプリとして名を馳せておいて
> ある程度知名度が出てから、ある日突然、無料版は有料版への橋渡しアプリと化したりしたらどうなんの?
そんなんこの件に限った話じゃないじゃん。
Re: (スコア:0)
他は知らんがCPANは承認作業必要じゃなかったっけ?
なんか色々登録して必要だったような?
そもそも事業環境で作るならそんな調査もしてないものをインストールすんなとしか。
Re: (スコア:0)
> そもそも事業環境で作るならそんな調査もしてないものをインストールすんなとしか。
だよね。仕事でapt get upgradeする人はインストール前にソースを全部レビューするのが常識。
Re: (スコア:0)
>正規の作者がマルウェア仕込むのは止められないよね
そのとおりだが、露見した時点で「正規の作者」が詰むので問題なかろう。
Re: (スコア:0)
Filezillaの作者は詰みましたか?
Re: (スコア:0)
なにいっとるんだ? 無料ソフトウェアが有料化するなんて今までもごまんと例があっただろう。
その論点に新規性はなにもないよ。
Re: (スコア:0)
何それ、Linux全否定なの?
それどころか、MicrosoftやApple、Googleが同じ事しても防げないじゃん。
性善説っていうより、自分の能力を超えた物を扱うには、信頼出来る何かが必要ってだけでしょう。
結局、自分がどこまで信用するかってだけの、チキンゲームです。
今回の件で、PyPIの信用が落ちたのは言うまでも無いので、何か対策を打って欲しいですね。
Re: (スコア:0)
ソース読めってことだよ
公開されてるんだから
読まないやつが悪い
Re: (スコア:0)
なるほど。
ソース読むコストも考えたら、オープンソースを業務に使用するなんて無理だな。
Re:サラッと書いてあるけど物凄い事件だな (スコア:1)
伽藍とバザールの頃は、オープンソースは誰かがソース読むから悪意は発見されるという超楽観論だったんだよ。
ソフトウェアの規模が大きくなり、利用も増えるにしたがって、そうも行かなくなった。
財団や企業が管理し、ソースをコミットする管理者が置かれるようになった。
デュストリビューションの管理者は、ソフトウェアを検証してパッケージを整備するようになった。
これで開発者じゃ無い人も、オープンソースソフトウェアを安心して使えるようになった。
でも今でも、信頼出来ない相手のgithubや、モデレーターの居ないリポジトリは自らソース読むしか無い。得てしてパッケージマネージャーは芋づる式なので、困るが。
自分で一から書き直すか、ソースを読むか。もしくは有料のソフトウェアを使うか、それは自由だ。
Re: (スコア:0)
動作検証する手間を考えたらオープンソース以上にプロプライエタリは使えないな
Re: (スコア:0)
なんで?
オープンソースでも動作検証は必要だよ。
プロプライエタリなら一部環境での検証はベンダー側がやってくれてるから、少し手間が減る。
仮に動作検証が同じコストとしても、ソース読むというか、素性確認も必要だからオープンソースの方がコストがかかる。
Re: (スコア:0)
そのベンダーは信用できるのですかー?
#堂々巡り
Re: (スコア:0)
ベンダーが悪意持ってたらどーすんだよ!!(難癖
Re: (スコア:0)
難癖と分かったうえで書いてるようなのでこっちに返信。
ベンダーが悪意もってて何か起きた場合は、大抵開発者は許される。
特に大手ベンダーのソフトであればあるほど、利用した開発者の責任を問われる確率は下がる。
オープンソースを利用して、悪意ある何かに巻き込まれた場合、開発者の責任を問われる確率が高くなる。
なぜそれを選んだのかとか、ソースあるのに見抜けなかったのかとか。
ユーザは責任の所在を問うものなので、プロプライエタリと違って責任転嫁の先がないのが問題。
Re: (スコア:0)
じゃけん気に入らなくなったらforkしましょうねえ〜
Re: (スコア:0)
Baudu「有名アプリの作者が権利ごと売り渡してマルウェア化とか、そんなのに引っかかる人いませんよ」
Re: (スコア:0)
npmとかでも起きてますね
https://iamakulov.com/notes/npm-malicious-packages/ [iamakulov.com]
去年だかにもあったきがするのだが
Re: (スコア:0)
性善説、性悪説というバズワード。
信頼するかしないかはユーザーの判断下になければならない。その実現のために、極小の労力で全リソースを管理する世界の実現のために、数多の技術が設計されてきた。
信頼の連鎖の中にあるものは善きもの、その外にあるものは悪しきものとして扱われる。
コンピューティングにおいて善悪の領域を決めるのは他者ではない。
Re: (スコア:0)
いいまわしがボトムズの次回予告っぽい
#次回、『信頼』。自身自身はリングから外れているとしても。
Re: (スコア:0)
あなたnemui4に親でも殺されたのですか
Re: (スコア:0)
こうやってnemui4を指摘するやつは基地という評判を醸成してるのですねw
Re: (スコア:0)
なるほど、アンチアンチnemui4の工作と。高度すぎてついていけねぇわ