2009-06-04 8 views
12

私が聞いたことがない人がRuby gemをインストールしようとしていました。しかし、何かが私に "この男は誰ですか?"と思うようになりました。 Ruby gemがあなたのマシン上のプライベートデータにアクセスし、それを他の場所に送信するリスクはありますか?宝石システムにはインターネットアクセスがあるためですか?それともこれに対して保護がありますか?ルビーの宝石がトロイの木馬のように動作する危険性はありますか?

答えて

16

もちろんあります。あなたはそれを呼び出すスクリプト/ユーザの権限で動作するソフトウェアをあなたのコンピュータにインストールしています。純粋なRubyではバイナリパッケージよりも悪意のあるコードを見つけやすくなります。しかし、ソース検査が悪質なコードを発見するための保証された方法であると考えるなら、under-handed C contestをチェックしてください。

つまり、マルウェアを書きたい場合、Rubyの宝石よりも効果的な配信システムがあります。現存する実際の悪質な宝石の数が0である場合、私は驚かないので、この1つが悪意のあるである確率が同様に0 ...

参照であること:http://rubygems.org/read/chapter/14#page61

+0

おかげ - >「ネットから自動的にダウンロードされたGemを信用するにはどうすればいいですか?あなたがインストールする他のコードをすべて信用するのと同じ方法です(結局はできません)。 – Hola

+1

おそらく、悪意のある宝石ですが、セキュリティホールのある貧弱な宝石がたくさんあります。重要なRoRセキュリティコンポーネントの本当に恐ろしい穴が定期的に投稿されるRuby on Railsセキュリティブログを読んでください。宝石を追加する前に2度考えてください。セキュリティコードの品質を把握するために、簡単に一度説明してください。 –

+0

"セキュリティホールのある宝石が不十分" - 宝石、アプリケーション、オペレーティングシステム... –

3

未知のロジックをアプリケーションにインポートするたびに、悪意のあるコードのリスクがあります。リスクは、そのアプリケーションがアクセスできるデータほど深いものです。 Javaアプレットがどのようにサンドボックス化されているかのように。

信頼できる署名入りパッケージを入手するか、またはソースを参照してください。

1

私は上記のポスターに同意しません存在する悪意のある宝石の確率は0です。悪意のある宝石を使用する危険は常にあります。妄想的だが、それでもやること。

+1

彼が提供するリンクはあなたの意見をバックアップすると思います:http://rubygems.org/read/chapter/14#page61 – Hola

2

悪意のある宝石の可能性について扱いたいのであれば、悪意のあるパッケージがどの言語(例えばpython egsやPerlのCPAN)で検出されたか、ルビーが他の言語よりも大きな危険にさらされているかどうか、誰に気づかずに悪意のあるパッケージが作成されています。

私は信頼のウェブを生み出すことができるかもしれません - たとえ私が宝石の作者を知らないとしても、誰かを知っていますか?

Debianなどのパッケージマネージャがパッケージが悪意のあるかどうかを調べることもできます。そうしている場合は、使いたい宝石を調べたかどうかを調べることもできます。

1

私は宝石の2つのグループがあると思います。

最初に、「よく知られている宝石」は、偶然にも大事なものであり、より多くの(私のスキルには時にはあいまいである)コード/ロジックです。しかし、これらの宝石は他の多くの開発者に見直されています。

次に、「マイナー宝石」(広く使用され普及していないことを意味する)があります。この宝石は低バージョン、ベータ州などを持つために使用されます。

My Thumb of Thumb:私は最初のグループを信頼し、2番目のグループの宝石から私ができるすべてのコードを読んでいます。

システム内のすべての宝石のコードを読む時間がないので、完全に真実ではありませんが、メソッド呼び出しを理解する必要があるときはいつでも、私は少なくともほとんどの場合、少なくとも2〜3のソースファイルを読み込みます。

特定の機能に特定のものをインストールする場合は、githubを検索し、実装、フォークと開発者の数、アクティビティ(コミットの回数と頻度など)を確認します。

しかし、私は宝石を信用しています。私は意図的に有害なものは見つけられませんでしたが、悪い実装とセキュリティホールがありました。リンクについて

+0

良いアプローチ。 – Hola

0

あり、暗号サインの宝石に提案されているので、あなたは、著者のコードが改ざんされていない、少なくともことを知っているだろうが、これには何の取り込みが行われていないです

http://pablotron.org/files/signing_gems.txt