[編集: 2013 年 6 月]この問題をより詳細に説明し、いくつかの解決策を提案する論文が ArXiv に掲載されました: http://arxiv.org/abs/1303.4808。2013 年後半に Journal of Statistical Software に掲載される予定です。
Ubuntu サーバーに、CRAN からすべてのソース パッケージをダウンロードしてインストールする cronjob があります。ただし、同じサーバーで、不規則なアクティビティに気付き始めました。まったく関係ないかもしれませんが、一部の CRAN パッケージに悪意のあるコードが含まれている可能性があるのではないかと考えさせられました。
cran パッケージを作成して公開するプロセスは非常に簡単です。ちょっと簡単すぎるかも。パッケージを FTP にアップロードすると、Kurt がチェックを行い、公開します。毎日アップロードされる R パッケージの量を考えると、パッケージの広範な監査が行われていないと想定するのが妥当です。また、ほとんどのディストリビューション パッケージのように、秘密鍵を使用したパッケージの署名もありません。説明の電子メール アドレスでさえ、検証されることはめったにありません。
コンパイル時または実行時にルートキットをインストールするコードを含めることはそれほど難しくありません。sudo を使用してパッケージをインストールするため、コンパイル時間はおそらくより脆弱です。これはおそらくやめるべきです。しかし、実行時にも多くのことができます。最近、Linux カーネルにはいくつかのセキュリティ上の脆弱性がありました。私は、完全に最新のシステムで、権限昇格のエクスプロイトを介して root を非常に簡単に取得できることを確認しました。R は通常インターネットにアクセスできるため、悪意のあるコードをパッケージに含める必要さえなく、wget または download.file() を使用してどこかからダウンロードするだけで済みます。
とはいえ、R ユーザーはこれをまったく考慮していないのでしょうか。それとも、信頼できる人からのみパッケージをダウンロードするという哲学ですか? まだ信頼性が低いパッケージに署名していません。クランパッケージをインストールするためのより安全なアプローチは何ですか? パッケージをビルドしてからバイナリをコピーし、常に R をサンドボックスで実行するための別のマシンのようなものを検討しました。それは少し面倒ですが。