window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() Javascriptパッケージのセキュリティ - The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2019-03-26
ソフトウェア開発

Javascriptパッケージのセキュリティ

ダニエル・グレック

Javascriptパッケージの量は日々増加しています。これはコミュニティの活動の結果であり、一方では新しいソリューションを要求し、他方では自己開発や実現の一形態としてそれらを生成しています。このような大きな成長は、新しいドアと可能性を開きますが、同時に危険ももたらします。

2018年11月下旬、GitHubコミュニティは、以下の深刻な脆弱性について報告した。 イベントストリーム - での作業を支援するパッケージです。 ノード イベントをより効率的に行うことができた。その特定期間のダウンロード数は週220万以上(Reactは370万)に達し、かなり人気があった。Event-streamとその依存関係は、別のライブラリに依存していた。 フラットマップ・スチーム そのパッケージは、暗号ポケット・マルウェアにアップデートされていた。このマルウェアは、このパッケージがバンドルされたマシン上のユーザーのアカウントから秘密鍵やその他の情報を盗み出すことを可能にした。

結局、flatmap-streamはNPMから削除され、他の多くのライブラリで一時的な問題が発生した。同年5月、コミュニティは ゲットクッキー パッケージの一部であり、他の多くの依存関係にも含まれていた。このような例はいくつもある。 プロジェクトからのものだけではない。 ジャバスクリプト という視点だけでなく、一般的な文脈でも。

公式ソリューションと大規模コミュニティに頼る

プロジェクトでは、できる限り公式のソリューションに頼ることが重要だ。開発プロセスが優れているから脆弱性が低いだけではありません。大規模なコミュニティは、通常、より良いブランドと一緒に提供され、問題をより早く特定し、より重要なことは、良い解決策を見つけるのに役立ちます。

NPMのトレンドを利用する

セキュリティ JavaScript

図1 Webpack NPMの動向。

チャート

図2. イベントストリームNPMの動向。

パッケージの現在の状態に関する知識は、過去の状態を表していないことがあります。npm trends chart を見れば、実際のパッケージのトレンドがわかります。これは、脆弱性が発見されるような大きなピークだけでなく、与えられたパッケージの一般的な状態も示します (注意: Google Trends の 12 月 24 日から 30 日付近の大きなピークは、ホリデーシーズンを表しますが、これは必ずしも問題を表しているとは限りません)。例として、図1をご覧ください - 1週間あたりのWebpackダウンロードの傾向を表しています。これは、Webpackが安定して安全に使用できるパッケージであることを示唆しています。一方、図 2 では 11 月に大きな落ち込みが見られますが、これはその期間に何か問題が起こった可能性があるという明確なシグナルです (これはすでに分かっていることですが)。

依存度監査

依存関係の状態を確認するための最善かつ最も信頼できる方法は 監査.このコマンドは現在、yarnとnpmの両方でネイティブに利用できるが、それらの最新バージョンが必要である。このコマンドは、現在の依存関係のリストを適切なエンドポイントに送信し、現在の脆弱性や、ドキュメントへの参照を含むその他の使用法の詳細を含む情報を返す。(図3)。

興味深いデータ

図3. npm auditコマンドの結果例。ソースはこちら: https://docs.npmjs.com

Javascriptで依存関係を管理するのは簡単なことではありません。 したがって、依存関係を賢く慎重に選択することを忘れないでください。現在のプロジェクトを常に監査し、定期的にパッケージを更新してください。

javascriptの依存性と、その問題を解決する方法について詳しく学ぶ、 この記事をご覧ください。

ソース

  1. https://github.com/dominictarr/event-stream/issues/116
  2. https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
  3. https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies
  4. https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
  5. https://docs.npmjs.com/cli/audit
  6. https://yarnpkg.com/lang/en/docs/cli/audit/

関連記事

ソフトウェア開発

将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察

The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...

ザ・コデスト
ソフトウェア開発

ラトビアを拠点とするソフトウェア開発企業トップ10社

ラトビアのトップソフトウェア開発企業とその革新的なソリューションについて、最新記事でご紹介します。ラトビアの技術リーダーたちがあなたのビジネスをどのように向上させるかをご覧ください。

thecodest
エンタープライズ&スケールアップ・ソリューション

Javaソフトウェア開発の要点:アウトソーシングを成功させるためのガイド

outsourcingのJavaソフトウェア開発を成功させるために不可欠なこのガイドを読んで、The Codestで効率性を高め、専門知識にアクセスし、プロジェクトを成功に導きましょう。

thecodest
ソフトウェア開発

ポーランドにおけるアウトソーシングの究極ガイド

ポーランドのoutsourcingの急増は、経済、教育、技術の進歩がITの成長とビジネス・フレンドリーな環境を促進していることによる。

ザ・コデスト
エンタープライズ&スケールアップ・ソリューション

IT監査ツール&テクニック完全ガイド

IT監査は、安全かつ効率的で、コンプライアンスに準拠したシステムを保証します。その重要性については、記事全文をお読みください。

The Codest
ヤクブ・ヤクボヴィッチ CTO & 共同創設者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese