Go made a promise to developers. Code that was written today would always compile with newer versions of Go.And so far, they’ve kept that promise. But for developers of software that is maintained, they’ve also broken that promise. The language can now change, and Go changes its behavior based on the version defined in the go.mod file of a project. So if you don’t want to update your program to follow the new behavior of the language, you can keep your go.mod version aligned with that o...| Blog Posts on Brandon Mitchell
Open Source Software (OSS) has an onboarding and a retention problem. These problems are connected, but it’s not clear which is the cause versus the effect. Much of this is based on a conflict of goals and personalities between the different types of OSS contributors. Student The student is looking to leverage their OSS contributions as part of their eduction and to enhance their resume. Students tend to ask for lots of support from maintainers because they are frequently not users of the p...| Blog Posts on Brandon Mitchell
The financial industry has a concept of “know your customer” to prevent financial fraud. The concept is that fraudsters do not want transactions linked back to their identity. There’s a similar push happening in Open Source security, to verify the identities of contributors before allowing their commits. The suggestion is that this could prevent an xz style attack by requiring in person verification, such as a pgp key signing meeting.| Blog Posts on Brandon Mitchell
Reproducible builds are an idealistic solution to many supply chain security challenges I see today. They eliminate an entire chain of attacks, from a compromised build infrastructure (see SolarWinds) to a compromised artifact distribution. But they are only a piece of the solution, and they are rarely implemented today. Here’s my take on what a complete solution would look like, and why no one is doing it. Theoretical Solution An end-to-end solution needs multiple checks at each point alon...| Blog Posts on Brandon Mitchell
It seems like every blog needs to start with an introduction, so here’s mine. I’m Brandon Mitchell, a currently semi-retired OSS developer. My career started in consulting and contracting in the Enterprise Management space (think sysadmin but for large distributed networks using expensive software). The second phase of the career shifted into the Docker container, cloud native, and DevSecOps ecosystems. As time went on, I spend more of my free time maintaining open source software until I...| Brandon Mitchell
A simple typo of ghcr.io to ghrc.io would normally be a small goof. You’d typically get a 404 or similar error, finally work out the issue, fix it, and move along. But in this case, that typo appears to be doing something very malicious, stealing GitHub credentials. What’s ghcr.io? First, a quick bit of background. ghcr.io is an OCI conformant registry for container images and OCI artifacts used by a lot of projects. It’s part of GitHub and is a very popular image and artifact repositor...| Brandon Mitchell