In June 2023, software engineers from Anaconda have reported a security issue in the uninstallers that are included in the Windows versions of the miniforge and mambaforge installers, one of the main ways to bootstrap conda-forge based conda and mamba distributions.
CircleCI Security Incident
In early January 2023, CircleCI informed us that they had a large
security breach
where a third party had gained access to all the environment secrets
stored in the service. For conda-forge
, these secrets are the API
token used to upload built packages to our staging area on
anaconda.org
and the unique token we generate for each feedstock. The
feedstock tokens are used as part of our artifact staging process to
ensure that only the maintainers of a given feedstock can upload
packages built by that feedstock. Later in January, we were informed by
CircleCI that their security breach started on December 19, 2022, with
the bulk of the secrets being exfiltrated in plain text from their
servers a few days later. A malicious third-party with access to these
secrets could potentially upload compromised versions of any package on
conda-forge
in a so-called "supply chain" attack.
Outreachy 2022 Wrap-up Blog
This blog is about my work during my Outreachy internship with conda-forge. Before that a little about me - I am Surbhi, an Outreachy intern with conda-forge for the May-August 2022 cohort and I worked on documenting the conda-forge ecosystem.
GPU enabled TensorFlow builds on conda-forge
Recently we've been able to add GPU-enabled TensorFlow builds to conda-forge! This was quite a journey, with multiple contributors trying different ways to convince the Bazel-based build system of TensorFlow to build CUDA-enabled packages. But we managed, and the pull request got merged.
Travis CI Security Incident
On September 9, 2021 one of our core devs discovered that artifacts building on Travis CI were being uploaded to our conda channel from PRs running on forked repositories. A quick investigation revealed that Travis CI was passing encrypted secrets to PR builds on forks. Further examination of our logs and artifacts indicated that this had been happening since about September 3, 2021. This security bug was subsequently confirmed by Travis CI. See this CVE for more details on this incident. As far as we know, there were no actual exploits against conda-forge which used this vulnerability.
Contributing Packages To conda-forge Using Grayskull
When contributing packages to conda-forge, Grayskull can make your life much easier. Grayskull generates recipes for Python packages hosted on PyPI.
Conda-forge Outreachy
Conda-forge is participating in the upcoming round of Outreachy i.e May 2021 to August 2021. The goal of this program is to increase participation from under-represented groups in free and open-source software. Outreachy is organized by Software Freedom Conservancy.
2020 in Review
As 2020 winds down, the Core team thought it'd be fun to review some of the big accomplishments our community has made this year.
Strong Growth
The conda-forge
community has grown immensely this year. Here are some
numbers to help give you an idea of the scale of our growth.
- The community has added 3,751 new, unique
conda
packages this year, along with a corresponding number of new feedstocks. - For the majority of 2020, the
conda-forge
channel onanaconda.org
exceeded 100 million downloads per month. - In July of 2020, the
conda-forge
channel passed 2 billion total, all-time downloads. - We've grown our core developer community, adding seven new members
to the
conda-forge
Core team and at least two members to thestaged-recipes
team. - We now have over 2,500 recipe maintainers in the
conda-forge
GitHub organization.
Big New Features
We've also shipped a ton of big updates to our core infrastructure this year. These updates include
PyPy
support: We added support forPyPy
3.6 and now supply one of the biggest stacks ofPyPy
-enabled packages in thePyPy
ecosystem.- automerge: We now support the automatic merging of PRs on
feedstocks using the
automerge
label or through an opt-in setting in theconda-forge.yml
. R
4.0 migration: This migration was the first one to use ourautomerge
infrastructure at scale. With it, we completed a complete rebuild/upgrade of theR
ecosystem in about a week.Python
updates: We deprecatedPython
2.7, completed thePython
3.8 migration, and got about 75% of the way through thePython
3.9 migration.- compiler upgrades: We upgraded our compiler infrastructure to
GCC
9 andclang
11. - CentOS 7 and CentOS 6 EOL: We shipped an option to enable our
compilers to use the CentOS 7
sysroot
in preparation for the CentOS 6 EOL. We hope to complete the move to CentOS 7 early next year. - miniforge: We built our own standalone,
miniconda
-like installers. These support a broad range of platforms, includingosx-arm64
andlinux-aarch64
. - standalone Windows stack: We fully decoupled our Windows recipes
from the
defaults
channel by rebuilding themsys2
recipes. - Apple silicon support: We added support for Apple silicon with
our
osx-arm64
platform. This platform is our first one to use a fully cross-compiled infrastructure. - CUDA support: We added support for building CUDA packages on windows and added CUDA 11.0 support.
We know that this year has been extremely difficult for so many of our
community members and that the fantastic success of conda-forge
would
not have been possible without the active participation and support of
our community. Thank you everyone so much for the work you put into
conda-forge
this year, making it the wonderful, community-led
resource that it is.
We wish everyone a happy, healthy, and peaceful new year!
Package Distribution and the anaconda.com Terms of Service
Various members of the community have raised questions publicly and
privately about the implications of Anaconda's new Terms of Service
(TOS) on anaconda.com
. First of all, we understand your concerns. We
would like to explain a bit how conda-forge
works, how the TOS change
affects us and conda-forge
users, and what our plans as a community
are for the future.
macOS ARM builds on conda-forge
A new platform osx-arm64
has been added to the build matrix of
conda-forge. osx-arm64
packages are built to run on upcoming macOS
arm64 processors marketed as Apple Silicon
. An installer for this
platform can be found
here.