You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- excerpt: "The vibrant and diverse pyOpenSci community is driven by volunteer Pythonistas that care deeply about the scientific Python open source software that drives open science."
13
+
- excerpt: "pyOpenSci is a volunteer community that broadens participation in scientific open source. We make finding, sharing and contributing to reusable code easier for everyone, everywhere."
14
14
build-skills:
15
15
- title: "pyOpenSci volunteers build skills and community"
16
16
excerpt: "When you volunteer with pyOpenSci, you’re both giving back and developing professional skills. As a volunteer you will:
@@ -34,43 +34,23 @@ help-us:
34
34
btn_label: "> Check out our GitHub Help Wanted Board"
35
35
btn_class: btn--inverse
36
36
- image_path:
37
-
title: "Sign up to be a scientific Python package reviewer"
37
+
title: "Sign up to review a Python package"
38
38
alt:
39
-
excerpt: "Finding reviewers is one of the more challenging parts of running a peer review process. We are always looking for new reviewers from a broad range of scientific domains. Some reviewers have extensive packaging expertise and others have domain expertise. We think that mix is great, so sign up today! If you are new to reviewing we are happy to support you through our peer review mentorship program."
39
+
excerpt: "We are always looking for new reviewers from a broad range of scientific domains. Some reviewers have extensive packaging expertise and others have domain expertise or focus on package usability. If you are new to reviewing we are happy to support you through our peer review mentorship program. [Learn more about the reviewer role](https://www.pyopensci.org/software-peer-review/how-to/reviewer-guide.html) and sign up using the link below."
40
40
url: https://forms.gle/GHfxvmS47nQFDcBM6
41
41
btn_label: "> Sign up now."
42
42
btn_class: btn--inverse
43
43
- image_path:
44
44
title: "Get involved as software peer review Editor"
45
45
alt:
46
-
excerpt: "We also often recruit new editors to support our peer review process. Keep an eye out on our [Discourse forum](https://pyopensci.discourse.group/) for calls for new editors. In the meantime if you are interested in learning more about the editor role, check out our [peer review guidebook](https://www.pyopensci.org/software-peer-review/). "
46
+
excerpt: "We also often recruit new editors to support our peer review process. "
Copy file name to clipboardExpand all lines: _posts/2025-03-13-python-packaging-security-pypi.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,20 @@
1
1
---
2
2
layout: single
3
-
title: "How to Secure Your Python Packages on PyPI: Stop the Mining Madness"
3
+
title: "How to Secure Your Python Packages When Publishing to PyPI"
4
4
excerpt: "Learn how to secure your Python package PyPI publishing workflows and protect your package from attacks. This post covers actionable steps, using PyPI Trusted Publisher, and sanitizing workflows, to ensure your projects stay safe."
@@ -31,12 +32,12 @@ While unsettling, there’s a silver lining: the PyPI security team had already
31
32
This means that the important thing for us, as maintainers, is that we all should know how to lock down our publishing workflows.
32
33
Here, I'll cover the lessons learned that you can apply TODAY to your Python packaging workflows!
33
34
34
-
*Special thanks to [Sviatoslav Sydorenko](https://github.com/webknjaz) for reviewing and providing significant input on this blog post!!*
35
+
*Special thanks to [Seth Larson](https://github.com/sethmlarson), [Hugo van Kemenade](https://github.com/hugovk), [Sviatoslav Sydorenko](https://github.com/webknjaz), [William Woodruff](https://github.com/woodruffw) and [Carol Willing](https://github.com/willingc) for reviewing and significantly improving blog post!!*
35
36
36
37
<divclass="notice"markdown="1">
37
38
## TL;DR Takeaways
38
39
39
-
The Ultralytics breach is a wake-up call for all maintainers: secure your workflows to protect your users and the Python ecosystem. The most important steps that you can take are actually the simplest:
40
+
The fall 2024 Ultralytics breach was a wake-up call for all maintainers: secure your workflows to protect your users and the Python ecosystem. The most important steps that you can take are actually the simplest:
40
41
41
42
Below are **3 things that you can do right now** to secure your PyPI Python packaging workflow:
github.ref_name may expand into attacker-controllable code
206
+
```
205
207
206
-
You can also set up `zizmor` as a pre-commit hook. pyOpenSci plans to do this in the near future, but here is an example of it [set up for core Python](https://github.com/python/cpython/pull/127749/files#diff-63a9c44a44acf85fea213a857769990937107cf072831e1a26808cfde9d096b9R64).
208
+
You can also set up `zizmor` as a pre-commit hook. pyOpenSci plans to do this in the future, but here is an example of it [set up for core Python](https://github.com/python/cpython/pull/127749/files#diff-63a9c44a44acf85fea213a857769990937107cf072831e1a26808cfde9d096b9R64).
207
209
208
210
Pre-commit hooks run checks every time you commit a file to Git history. [Learn more about using them here.](https://www.pyopensci.org/python-package-guide/package-structure-code/code-style-linting-format.html#use-pre-commit-hooks-to-run-code-formatters-and-linters-on-commits)
209
211
210
-
211
-
212
212
## Other security measures you can consider
213
213
214
214
There are other things that we can learn too from the recent breach. Many of these will be identified if you set up zizmor. These are discussed below.
@@ -307,6 +307,7 @@ pyOpenSci follows best practices for PyPI publishing using our custom GitHub Act
307
307
<div class="notice" markdown="1">
308
308
## Get involved with pyOpenSci
309
309
310
+
* Check out our [volunteer page](https://www.pyopensci.org/volunteer.html) if you are interested in getting involved.
310
311
* Keep an eye on our [events page](/events.html) for upcoming training events.
0 commit comments