タグ

npmに関するmas-higaのブックマーク (10)

  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

    node_modulesの問題点とその歴史 npm, yarnとpnpm
  • node-ipcに悪意あるコードが含まれている問題について

    node-ipcというnpmパッケージに悪意あるコードが含まれていた問題についてのメモ書きです。 2022-03-15に、node-ipcのメンテナーによって悪意あるコードを含むnode-ipcが公開されていた問題です。 問題のあるバージョン 9.2.2 unpublish済み Hidden functionality in node-ipc · GHSA-8gr3-2gjw-jj7g · GitHub Advisory Database 10.1.1, 10.1.2 unpublish済み Embedded Malicious Code in node-ipc · CVE-2022-23812 · GitHub Advisory Database 11.0.0+ node-ipc behavior change · GHSA-3mpp-xfvh-qh37 · GitHub Advisor

    node-ipcに悪意あるコードが含まれている問題について
    mas-higa
    mas-higa 2022/03/18
  • npmとyarnとpnpmの違い2021

    (Last Update: 2022/02/03) npm と yarn(v1) と pnpm (とyarn v2)の違いについて記述します。 Versions npm Yarn pnpm 各パッケージの特徴 npm npmはnpm社が提供する、JavaScriptパッケージマネージャーです。 npmというコマンドラインで動作するプログラムでパッケージを管理できます。いわばnpm公式のパッケージマネージャーとなります。 Windows等でインストールするとNode.jsに同梱されています。 Yarn Yarnはnpmより後発のJavaScriptパッケージマネージャーです。 元々、npmにはインストール時のパッケージバージョンの非再現性やパフォーマンス上の問題、セキュリティの問題が山積しており、それを解決するために開発がスタートしました。 いわば、サードパーティのnpmということになります

    npmとyarnとpnpmの違い2021
  • npm入門 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up

    npm入門 - Qiita
  • 2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita

    概要 event-streamというnpmパッケージに攻撃コードが混入されました。攻撃コードはflatmap-streamというパッケージに含まれており、event-stream パッケージはこの flatmap-stream への依存性を追加される形で間接的に攻撃コードの実行を行う状態になっていました。 攻撃コードが分析された結果、copayというBitcoinウォレットからクレデンシャルを盗むことを目的とされていたことが確認されています。 参考リンク 調査が行われているGitHub Issue HackerNewsスレッド Details about the event-stream incident - The npm Blog 影響をうけたパッケージ event-stream@3.3.6 flatmap-stream@0.1.1 flatmap-stream@0.1.1 パッケージ

    2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita
    mas-higa
    mas-higa 2018/12/06
    いろいろ凝った作りだなあ
  • npm、一見無意味なパッケージを消したら1000件ものパッケージが依存するパッケージであったことが判明

    npm、一見無意味なパッケージを消したら1000件ものパッケージが依存するパッケージであったことが判明 npmが一見無意味に思えるfsというパッケージをSPAMとみなして削除したところ、1000件ほどのパッケージが依存するパッケージだったので、削除を取り消した。 npm, Inc. Status - "fs" unpublished and restored 今日、数分ほど、"fs"というパッケージが、ユーザーからSPAMであるという報告を受けて、レジストリから非公開にされた。これは現在復旧されている。これは私(@seldo)による人為的なミスである。私は非公開が安全であるかを確認する内部のガイドラインに従っていなかった。ビルドが阻害されたユーザーに謝罪する。 詳細:"fs"というパッケージは、無意味なパッケージである。これは単に"I am fs"をログに残して終了する。このパッケージが何

    mas-higa
    mas-higa 2016/08/26
    さっさと消せよ。このまま fs に依存するパッケージ増え続けるぞ。
  • 依存するパッケージは厳選しよう - methaneのブログ

    japan.zdnet.com JS界隈が大騒ぎになった事件だけど、こういった事件自体は完全に防ぐことは不可能だと思う。 今回は依存ライブラリが削除されるだけで済んだけど、 npm install するだけで ~/.ssh ディレクトリを zip にしてどこかに送信するような悪質な攻撃であれば、単にCIが止まるどころでなく、世界中のエンジニアの秘密鍵がばらまかれてあちこちのサーバーにssh可能な事態になったわけで、そんな悪質な攻撃を bugfix なマイクロバージョンアップとして公開される事もありえたわけだ。 第三者のパッケージに依存するということは、それだけのリスクを背負い込むということだ。だが、逆に外部のライブラリに依存しないようにすると、生産性が落ちてしまう。 なので、コードを読む、信頼できるメンテナの公開しているパッケージを選ぶなどといった方法で、リスクとメリットのバランスを取って

    依存するパッケージは厳選しよう - methaneのブログ
    mas-higa
    mas-higa 2016/03/25
    left-pad の pull req おもしろい
  • npmからkikとその他諸々が消されたまとめ

    npmとは、node.jsにおけるパッケージシステムのことだ。npmを使えば、他人の書いたnode.jsベースのプログラムとライブラリの入手と利用がとても簡単になる。 そのnpm界隈が混乱している。発端は以下のURLだ。 I’ve Just Liberated My Modules — Medium Azer Koçuluはkikという名前のnpmパッケージを公開していた。このkikというソフトウェアの中身についてはここでは関係がない。 さて、それとは別に、kik.comというスマフォ用のチャットアプリを出しているKik Interactive社がいて、kikという名前のパッケージをnpmで出したいので、名前を明け渡すように要求した。 Azerはこの要求を拒否した。すると、Kik Interactive社はnpmの管理者に片っ端からメールを投げまくり、そのうちの一人が反応して、Azerの意

    mas-higa
    mas-higa 2016/03/25
    requireFromTwitter おもろい
  • npm パッケージの unpublish に関するゴタゴタの大まかなまとめ - ヤルキデナイズド

    (最終更新:3月24日16:50ごろ) 事件の流れ kik の作者が同名の会社 KIK の弁護士特許出願代理人からパッケージ名を変更するよう要請される 作者が拒否したところ弁護士代理人は npm の運営にコンタクトする 運営が作者の許可なくパッケージを unpublish するパッケージの所有権を移し替える 作者がこれに反発し自身が所有する270あまりのパッケージをすべて unpublish する I’ve Just Liberated My Modules — Medium unpublish されたパッケージは npmjs.com からダウンロードできなくなる unpublish されたうちのひとつである left-pad に間接的に依存したパッケージが多数あったため世界中でビルドがぶっ壊れる npmjs.org tells me that left-pad is not availa

    npm パッケージの unpublish に関するゴタゴタの大まかなまとめ - ヤルキデナイズド
  • 【意訳】たった今、npmのパッケージを解放しました。

    このポストは以下の記事を意訳したものです。 I’ve Just Liberated My Modules - Medium.com Twitterでフロント系のエンジニアの方がざわついていたので訳しました。間違いが有りましたら、ご指摘いただけると幸いです。 以下、意訳。 数週間前、特許弁護士が私にメールをよこしました。メールの内容によると、私の作成した"kik"パッケージをnpmから削除せよ、とのことでした。返答としては"No"でしたが、弁護士からは次のような返信が来ました。"悪いとは思いますが、kikは我々の登録済の名称ですので、あなたの家に弁護士がやってきてあなたのアカウントを取り下げてもらうことになるでしょう。" 私が"kik"のコードを書き始めたとき、同名の企業があるなんて知りませんでしたし、企業に名前を変えさせられるなんてゴメンです。要求を拒絶された彼らは、npmのサポートに対し

    【意訳】たった今、npmのパッケージを解放しました。
  • 1