パスワードを忘れた? アカウント作成
15365848 story
Python

PyPI で公開されているパッケージの半数近くが何らかのセキュリティ上の問題を含むとの調査結果 28

ストーリー by headless
問題 部門より
Python パッケージの公式リポジトリ PyPI で公開されているパッケージの半数近くに何らかのセキュリティ上の問題が含まれるとの調査結果が発表された(The Register の記事論文)。

対象は PyPI に保存されている全パッケージ 19 万 7 千件以上のスナップショットで、静的コード解析ツール Bandit を用いて調査している。セキュリティ上の問題は exec 関数の使用やパスワードのハードコードといったものから、セキュアでない例外処理やハッシュ関数の使用、SQL インジェクションや XSS が可能といったものまで幅広い。調査の結果、約 75 万件の問題が見つかり、46 % のパッケージが少なくとも 1 つの問題を含んでいたとのこと。

ただし、見つかった問題の半数以上を占める約 44 万件は深刻度の低いものであり、約 23 万件が深刻度中、約 8 万件が深刻度高に分類される。深刻度低の問題を含むパッケージは全体の 35.8 %、深刻度中は 25.3 %、深刻度高は 11.4 % にとどまる。また、今回の調査では誤検出・検出漏れや実際の使用では実行されないコードが検出されている可能性のほか、調査時に展開されなかったファイルが含む問題や Python 以外の言語で書かれたコードに含まれる問題は検出できないといった制約もあるとのことだ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2021年08月01日 22時24分 (#4082303)

    実際に使われているパッケージなんてほんの一握りでしょ。

    • by Anonymous Coward

      アクティブに開発されてるかどうかと
      実際に使われてるかどうかは別の話。

      • by Anonymous Coward

        それはそうだが、それを区別するならより母集団や重みづけを変えるべきでは?

        実際に使われていてもメンテナンスされてなければ修正される見込みはほぼないのだから。

        • by Anonymous Coward

          これはあくまで機械的に調べたものだから重みづけなんて眼中にないのは当たり前。
          重みづけすれば修正されるわけでもないんだから、実際に重みづけで優先度の高いものから直そうとしている人でないと重みづけデータに意味があるとは思わないな。
          「どういう重みづけにするか」は目的によって違うもので、それによって客観性のあるデータではなくなるのだから。

  • by Anonymous Coward on 2021年08月02日 5時24分 (#4082379)

    その Bandit を PyPI に組み込んで、パッケージを登録したらチェックして表示してくれるようにすればいいじゃないの?

    # CPAN 版もないのかしら

    • by Anonymous Coward

      だったらPythonの標準ライブラリにすれば無問題。
      Apache-2.0だし。pytのようにGPLだとアレだけど。
      ちなみにPysaは使った事ないからよう知らん。

      • by Anonymous Coward

        大丈夫。俺も Python 使ったことないし。

        • by Anonymous Coward

          なら安心安全なPython最強という事で。

          # 買わなければ外れない宝くじ論法

  • by Anonymous Coward on 2021年08月02日 10時38分 (#4082441)

    問題を大きく見せたいのだろうけど、
    大半が個人が試しに登録してみた程度のまともに使われていないものであることは想像に難くない。
    パッケージ管理システム全体の信頼性という意味では各パッケージのダウンロード数を掛けたものを分母にすべきだろう。
    経験則以上の根拠は全くないが深刻度中以上は1%以下とかそういう数字になると思う。
    元記事の

    The situation is similar with package registries like Maven (for Java), NuGet (for .NET), RubyGems (for Ruby), CPAN (for Perl), and CRAN (for R).

    についても同様。

    • by Anonymous Coward on 2021年08月02日 13時07分 (#4082498)

      何を勘違いしているのかわかりませんが、この論文の目的は「パッケージ管理システム全体の信頼性」を求めることではありません。

      親コメント
    • by Anonymous Coward

      ダウンロード数≠使用数なので。長く改変の必要がないなら必然的にランクが上がる。。
      それにまともに使われてないという想定がひっくり返る、参考として使われている可能性だってある。

      • by Anonymous Coward

        あたりまえのこと言うなよ。
        今の単なる全パッケージが同じ重みであるという状態よりはよほど実態に近づくって話だろ。

typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...