BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Redpoint GamesがNPMパッケージ署名ツールをローンチ

Redpoint GamesがNPMパッケージ署名ツールをローンチ

原文(投稿日:2018/01/11)へのリンク

読者の皆様へ: あなたのリクエストに応じて、大切な情報を見逃すことなく、ノイズを減らす機能を開発しました。お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう

Redpointは、NPMパッケージへの署名とその検証を行なうツールであるpkgsignをローンチした。NPMレジストリにアップロードおよびダウンロードするパッケージの信頼性を保証することによる、セキュリティの向上がその目的だ。

NPMを使って開発を行なう場合、潜在的なセキュリティ上の問題のひとつとして、パッケージの作成者が検証できないことがある。これはつまり、悪意のあるパッケージが正当品を装ってアップロードされ、その結果として、それに依存するアプリケーションが通常通り実行される可能性があるということだ。

この問題の所在は、先日発生した、いくつかのパッケージが偶然NPMレジストリから削除されてしまった時に、代わりに9つの不明なパッケージがその場所にアップロードされたインシデントにおいて証明されている。問題はすでに解決されたが、信頼されないコードがあたかも正当なコードであるかのように、誤って使用されていた期間があったのだ。

この種のリスクを軽減するため、Redpointはpkgsignを導入した。

pkgsignは、NPMとYarnのパッケージにシグネチャを追加するとともに、既知のシグネチャを使用してそれらのパッケージを検証するためのツールです。PGP秘密鍵やkeybase.ioで、パッケージへの署名を簡略化することも可能です。

Keybaseとpkgsignをインストールすれば、パッケージディレクトリに移動してコマンドをひとつ実行することで、パッケージへの署名が可能になる。

pkgsign .

これを行うと、“signature.json”ファイルがパッケージに追加される。このファイルは、他のユーザが作成者の真実性を検証するために使用できるものだ。

Keybaseを使用することで、署名をさまざまなソーシャルメディアのアカウントに結び付けることもできるので、署名者の身元のさらなる検証が可能になる。PGP署名も可能なので、大手企業に代わってPGP鍵を生成して、パブリックドメインにアップロードすることができる。

動作中のパッケージの依存性を検証するには、同じくひとつのコマンドを発行すればよい。

pkgsign verify .--full

パイプライン内での“署名の代行”機能もあり、依存関係の所有者が署名していない場合でも、パッケージがその依存関係のコンテンツに署名することができる。これにより、パッケージの完全署名が実現する。

ツールはまだ新しいため、多くのパッケージが依然として署名されていない点に注意が必要だ。

pkgsignは今のところ、署名されていないパッケージに依存しています(新しいツールですから!) pkgsignをGitHubあるいはNPMからインストールした場合、依存関係を検証することはまだできません。

ツールが普及すれば状況は変わるかも知れないが、現時点では、正しいバージョンを確実に使用するため、GitHubから直接クローンすることが推奨される。それ以外には、NPMレジストリから署名なしで直接インストールする方法もある。
 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT