以下のstapy#98にて発表したスライドです https://startpython.connpass.com/event/296755/ PythonのPackage Managerを深く知るためのリンク集 https://gist.github.com/vaaaaanquish/1ad9…
A stream of malicious npm and PyPi packages have been found stealing a wide range of sensitive data from software developers on the platforms. The campaign started on September 12, 2023, and was first discovered by Sonatype, whose analysts unearthed 14 malicious packages on npm. Phylum reports that after a brief operational hiatus on September 16 and 17, the attack has resumed and expanded to the
EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解
Welcome to PyPI User Documentation Organization Accounts Trusted Publishers Digital Attestations Project Metadata APIs and Datasets Publishing to PyPI with a Trusted Publisher "Trusted Publishing" is our term for using the OpenID Connect (OIDC) standard to exchange short-lived identity tokens between a trusted third-party service and PyPI. This method can be used in automated environments and elim
欧州連合(EU)の政策執行機関である欧州委員会は、サイバー攻撃による社会的な被害が大きくなってきていることを背景に、現在広く普及しているさまざまなデジタル製品やサービスのセキュリティをより高める目的で、サイバーレジリエンス法案(CRA:Cyber Resilience Act)を検討しています。 この法案が目指すところは、より脆弱性の少ないデジタル製品が市場に投入されるようにすること、市場に投入後も製造者が製品のライフサイクル全体を通じてセキュリティに真剣に取り組むことを保証すること、そしてユーザーもセキュリティを考慮した製品を選択できるようにすること、などです。 欧州委員会では同時に製造者責任法の改定案も検討中です。これは従来の製造者責任法ではカバーされていなかったデジタル関連の製品やサービスに対しても製造者責任を問えるようにするものです。 しかしこれらの法案ではオープンソースの開発者が
Phylumはこのほど、「Phylum Discovers Revived Crypto Wallet Address Replacement Attack」において、PyPI (Python Package Index)リポジトリに大量の不正なPyPIパッケージが登録されていることを伝えた。タイポスクワッティングによるサイバー攻撃とされ、クリッパーマルウェアをPython開発者のシステムに感染させる450以上の悪意のあるPyPIパッケージが公開されていることが明らかとなった。 タイポスクワッティングとは、ユーザーがWebブラウザにURLを入力する際に犯す打ち間違いを悪用して、攻撃者が用意した不正なWebサイトへ誘導する攻撃手法。 Phylum Discovers Revived Crypto Wallet Address Replacement Attack Phylumにより発見された
Packaging Python Projects¶ This tutorial walks you through how to package a simple Python project. It will show you how to add the necessary files and structure to create the package, how to build the package, and how to upload it to the Python Package Index (PyPI). Tip If you have trouble running the commands in this tutorial, please copy the command and its output, then open an issue on the pack
2022年5月24日(米国時間)、SANS ISCのフォーラムでPython向けライブラリの1つ(その後PHP向けライブラリでも判明)が第三者により不正なコードを含むアップデートが行われていたとして注意を呼び掛ける投稿が行われました。その後この行為に関わっていたとして実行者とみられる人物が顛末を公開しました。ここでは関連する情報をまとめます。 改ざんされた2つのライブラリ 今回影響が確認されたのPython Package Index(Pypi.org)で公開されている「ctx」、Packagist(Packagist.org)で公開されている「PHPass」の2つ。 影響を受けたライブラリ インストール実績 改ざんされたとみられる期間 概要 ctx 約75万回 2022年5月14日~5月24日頃 辞書(dict型オブジェクト)を操作するユーティリティを提供するPython向けのパッケージ
はじめに 画像は記事に全く関係ないカニのフィギュアです👋 近年、善良なパッケージを騙ったマルウェアが配布されているケースが増えてきています。 これらのマルウェアはパッケージマネージャ上で配布され、開発者端末やそれをビルトインしたシステムを利用するユーザー端末で悪事を働きます。 これは俗にいうサプライチェーン型攻撃で、 これらの関連ニュースを目にする機会が増えてきていることを、多くの開発者が体感されていると思います。 ただ、これらのサプライチェーン型攻撃の記事は、 どうしてもエンドユーザー(パッケージを利用する開発者側・それらを組み込んだアプリを実行するユーザー側)の対策に焦点が当てられたものが殆どのように感じています。 そこで本記事では、このエンドユーザー側の対策だけではなく、 パッケージマネージャメンテナーたちがどう対策しているのかも含めて、 「パッケージマネージャ上で行われるマルウェ
- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂
今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正
Python には依存関係を管理するツールがたくさんあります。 Python も歴史あるプログラミング言語なので仕方ないですが、情報が多すぎて特に初心者は混乱してしまいます。 結局の所、pip、virtualenv (venv) を使えば十分な場合が多いので、まずはこれらの使い方を学習しましょう。 近頃は Pipenv という依存関係管理ツールが登場して人気です。 日本語でも Pipenv の情報をよく見かけるようになりました。 さらに、最近になって Poetry という依存関係管理とパッケージングを支援するツールが登場しました。 意外と Poetry に関する日本語の情報がないようなので、簡単に紹介してみようと思います。 各ツールの機能をまとめた表 が公開されていたので参考にしてください。 Pipenv 2017 年 1 月に Pipenv というツールが登場しました。 Pipenv に
Twineを使ったPyPI/TestPyPIへのパッケージ更新 By raimon, 2018-03-29(木), in category Python setupスクリプトからTwineへの移行 Migrating to PyPI.orgで案内されている通り python setup.py register や python setup.py upload といったsetupスクリプトを使って登録・更新しようとするとサーバー側から410 Errorが応答されるようになった。 上記の移行ガイドにおいて、Twineでの設定方法が案内されている。 PyPIの練習用サーバーであるTestPyPIでも、Twineで更新できるよう、移行しておくのが良いだろう。 PyPI/TestPyPIへのTwineからの更新用設定 Twineを導入していなかれば、自身のvenv環境などにインストールする。
pip showコマンドで「License: UNKNOWN」と表示されるライブラリのライセンスを調べるには By raimon, 2018-02-18(日), in category Python 「License: UNKNOWN」問題 pip installでインストールしたPythonライブラリについてpip showコマンドで情報表示すると、「License: UNKNOWN」と出力されるケースがある。例えばPythonでは著名なCLIライブラリであるclickも該当する。 $ pip show click Name: click Version: 6.7 Summary: A simple wrapper around optparse for powerful command line utilities. Home-page: http://github.com/mitsu
PythonパッケージをPyPIにアップロードする際にMarkdownをreSTに変換 By raimon, 2018-01-30(火), in category Python MarkdownフォーマットではHTML描画されない問題 Pythonパッケージの開発もGitHubが使われるケースが増えている。それに伴って、パッケージのドキュメントもMarkdownフォーマットが採用されるケースも散見される。 ただし、MarkdownフォーマットでPyPIサーバーにアップロードすると、Web UIではHTML描画されないため、ユーザーフレンドリーではない。 そこで、Pythonパッケージの新しいバージョンをPyPIサーバーにアップロードする際に、オンデマンドでreStructuredText(以降「reST」)フォーマットにオンデマンドで変換してやると、いい感じにWeb UIでもHTML描画さ
If, like me, you regularly use Markdown to give your GitHub projects nice pretty README's, but are trying to submit your new swanky Python module to the Python Package Index, you may have hit a bit of a snag. To get your nicely formatted README on your module's PyPi page, you need to use reStructuredTxt. Now you could admit defeat and change your README, or you could do this: Install Pandoc Instal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く