Everyone for Themselves? A Qualitative Study about Individual Security Setups of Open Source Software Contributors
Sabrina Amft, Sandra Höltervennhoff, Rebecca Panskus, Karola Marky, Sascha Fahl
IEEE Symposium on Security and Privacy 2024 · Day 1 · Continental Ballroom 4
Overview
The rapid expansion and increasing criticality of open-source software (OSS) have brought its unique security landscape into sharp focus. This talk, presented by Sabrina Amft at IEEE S&P, delves into the individual security practices of OSS contributors, contrasting them with the structured environments of proprietary software development. The core premise is that while commercial developers operate under enforced security policies and penalties for non-compliance, OSS contributors, often volunteers, enjoy significant freedom, which extends to their personal security choices. This freedom, while fostering innovation, also creates a vacuum where security best practices are neither enforced nor consistently communicated, leaving projects vulnerable to personal security lapses.

Key moments
- 0:00 Introduction: Open Source Security Challenges
- 2:27 Study Motivation and Research Questions
- 3:30 Methodology: Critical Repository Selection
- 4:50 Key Findings: Common Security Practices
- 5:50 Pragmatism in Security Choices & Perceived Relevance
- 6:40 Challenges: Lack of Security Communication & Guidelines
Everyone for Themselves? A Qualitative Study about Individual Security Setups of Open Source Software Contributors
Speakers: Sabrina Amft, Sandra Höltervennhoff, Rebecca Panskus, Karola Marky, Sascha Fahl
Conference: IEEE S&P
YouTube: https://www.youtube.com/watch?v=YngzkB4rcEU
Overview
The rapid expansion and increasing criticality of open-source software (OSS) have brought its unique security landscape into sharp focus. This talk, presented by Sabrina Amft at IEEE S&P, delves into the individual security practices of OSS contributors, contrasting them with the structured environments of proprietary software development. The core premise is that while commercial developers operate under enforced security policies and penalties for non-compliance, OSS contributors, often volunteers, enjoy significant freedom, which extends to their personal security choices. This freedom, while fostering innovation, also creates a vacuum where security best practices are neither enforced nor consistently communicated, leaving projects vulnerable to personal security lapses.
The study is critically motivated by the growing number of high-profile security incidents, from pervasive vulnerabilities like Heartbleed, Shellshock, and Log4Shell to account takeovers enabled by weak developer credentials. Such incidents, exemplified by recent attacks on projects like Gentoo and the XZ Utils backdoor, underscore how individual security choices can have far-reaching supply chain implications, affecting millions of users. The research aims to understand the security measures adopted by OSS developers, identify the challenges they face, and propose actionable recommendations to bolster personal security without compromising the unique culture of trust and collaboration inherent in the open-source ecosystem.
This presentation highlights a crucial, often overlooked, aspect of open-source security: the human element and the social dynamics that shape it. By conducting qualitative interviews, the researchers provide a nuanced perspective on how developers perceive and implement security, revealing a complex interplay of technical pragmatism, social etiquette, and structural limitations. The findings offer valuable insights for platforms, project maintainers, and individual contributors seeking to elevate the security posture of open-source projects in an increasingly interconnected world.
Background
▶ Watch: Introduction: Open Source Security Challenges (0:00)
The foundational distinction explored in this research lies in the operational paradigms of proprietary versus open-source software development. In commercial settings, developers are typically employees whose work environments are meticulously structured and regulated. Security policies, ranging from password rotation mandates to hardware management and external device bans, are not merely guidelines but contractual obligations, often enforced with penalties. This top-down approach ensures a baseline level of security across the development lifecycle.
In stark contrast, open-source developers largely operate independently. Many are volunteers dedicating their "precious free time" to projects they choose, working in a manner they prefer. While this autonomy is a cornerstone of OSS, fostering innovation and a wealth of freely available software, it simultaneously means there are "no authorities enforcing security practices and no consequences for lacking personal security." This divergence creates a significant security gap, especially as the demand for and reliance on OSS have soared. The talk visualizes this with examples of continuously increasing download requests, signaling a broader reach and, consequently, a higher impact radius for any security vulnerabilities.
Historical incidents serve as stark reminders of this vulnerability. Major code flaws like Heartbleed (affecting OpenSSL), Shellshock (in Bash), and Log4Shell (in Apache Log4j) demonstrated how single points of failure within widely used OSS components could lead to global security crises. Beyond inherent code vulnerabilities, the study emphasizes the rising threat of account takeovers stemming from weak developer credentials. When contributors use easily guessable passwords or forgo multi-factor authentication (MFA), their accounts become prime targets for malicious actors. Gaining access to a developer's repository allows attackers to inject backdoors, steal sensitive data, or compromise the software supply chain, as tragically demonstrated by the recent XZ Utils incident, where a malicious contributor slowly introduced a backdoor over two years. The freedom and trust within OSS, while beneficial, inadvertently create pathways for such sophisticated attacks, making the individual security choices of developers paramount.
Key Findings
▶ Watch: Methodology: Critical Repository Selection (3:30)
The qualitative study, based on 20 semi-structured online interviews with open-source developers, aimed to answer three core research questions, yielding significant insights into the current state of individual security setups within OSS.
1. Security Measures Deployed:
Participants were generally found to be highly security-aware, understanding risks and perceiving their own setups as "very secure."
- Authentication Measures: A majority of participants utilized strong passwords, password managers, and multi-factor authentication (MFA). These were consistently perceived as "easy to use and to adopt" and considered a "minimum effort" expected from peers.
- Beyond Authentication: Adoption rates decreased significantly for other measures. Roughly half of the participants used encryption (often relying on operating system defaults) or some form of ad/tracker blocking. Only half mentioned commit signing.
- Less Common Measures: A quarter or less of participants reported using firewalls, frequent software updates, virtual machines (VMs), or private networks.
- Pragmatism: A key observation was the developers' pragmatic approach to security. They often avoided "less usable toolings" that were difficult to set up or configure correctly. For instance, reliance on OS encryption defaults was common due to its ease of use.
- Perceived Irrelevance: Some measures were rejected as "less relevant or unnecessary," particularly regarding physical security (e.g., locks, special storage for devices). Participants often felt their homes or travel habits were secure enough, or that physical security was "futile from the start" against a determined attacker.
2. Challenges Perceived and Identified:
The study uncovered several pervasive challenges hindering robust individual security in OSS.
- Lack of Communication and Guidelines: Security was rarely communicated between project contributors. An initial exploration of 100 top-dependent repositories found not a single set of official guidelines for personal security measures. Participants confirmed they had "never encountered any type of official security guideline."
- Poor Onboarding: New contributors typically received no information on security best practices or expected measures when joining projects. The only exception was for those working on OSS during paid company time, where corporate policies applied.
- Individualistic Security Decisions: Security setups were predominantly based on individual decisions, with rare discussions about expected measures, best practices, configuration details, or new developments.
- Influence of Social Factors: Social dynamics heavily impacted security behavior. Politeness and respect were paramount; participants were reluctant to inquire about others' security to avoid "affronting them" or implying a lack of trust. Concerns about being perceived as "annoying or weird" also limited security discussions.
- Trust and Inactive Developers: A significant challenge was the handling of trust. Basic security practices were often regarded as "common sense," leading to a presumption of good security hygiene among technically skilled contributors. This trust, however, could be misplaced. Inactive developers commonly retained their access rights out of "respect for their past work," making proper offboarding rare.
- "Overnight" Project Access: Several participants reported receiving project access "basically overnight," sometimes even surprising themselves. This was attributed to factors like desperation from burned-out project leads needing stand-ins, leading to rapid access grants based solely on commit history or perceived trustworthiness. The XZ Utils incident, where an attacker built trust over two years before injecting a backdoor, perfectly illustrates this risk.
- Structural Limitations: The inherent structure of OSS makes it "hard to enforce security or to even check whether developers applied certain measures." Background checks are often impractical, especially for smaller projects, and could contradict the "base principle of allowing any skilled individual to become part of Open Source." Furthermore, maintainers, often volunteers, lack the time and resources for such enforcement.
3. Recommendations for Support:
Based on these findings, the researchers proposed actionable recommendations to improve OSS security while preserving its unique culture (detailed further in "Defensive Implications").
Technical Deep Dive
▶ Watch: Key Findings: Common Security Practices (4:50)
While the talk is a qualitative study rather than a technical exploit analysis, its "technical deep dive" resides in its rigorous methodology for understanding human security behavior and the detailed classification of security measures and socio-technical challenges within the open-source ecosystem. The researchers employed a structured approach to gather data, focusing on specific criteria to ensure the relevance and impact of their participant pool.
The study started by collecting a list of active GitHub repositories, requiring a minimum of 40 commits by 20 unique contributors. To ensure criticality, they used two distinct criteria:
- Supply Chain Influence: Repositories were sorted by the number of dependent projects, reflecting their impact on the software supply chain.
- Popularity: For projects less reflected by dependencies but widely used, a score based on project stars and fork counts was used to gauge popularity.
From these critical projects, developers were selected if they had made at least 10 commits to the respective project and offered public contact information. This allowed for email invitations, including a pre-survey and scheduling tool. Participants were compensated with $60 to sponsor a project of their choice for approximately an hour of their time. This meticulous selection process aimed to interview developers deeply involved in impactful projects, ensuring their insights were representative and relevant. Overall, 20 semi-structured online interviews were conducted, allowing for both guided inquiry and the exploration of emergent themes.
The "technical" aspect extends to the specific security measures discussed. Participants were asked about their use of:
- Authentication: Strong passwords, password managers (e.g., LastPass, 1Password, Bitwarden), and multi-factor authentication (MFA) (e.g., TOTP apps, hardware tokens like YubiKey). The high adoption of these basic, yet critical, measures indicates a foundational understanding of account security.
- Encryption: This included operating system encryption defaults (e.g., BitLocker for Windows, FileVault for macOS, LUKS for Linux) and manual configurations. The preference for defaults highlights a trade-off between perceived effort and security, a key finding of the study's pragmatism.
- Code Integrity: Commit signing (e.g., using GPG keys) was mentioned by half of the participants. This practice, crucial for verifying the authenticity of code contributions and preventing tampering, was not as universally adopted as basic authentication.
- Network and System Security: Measures like firewalls, frequent software updates, virtual machines (VMs) for isolated development environments, and private networks (e.g., VPNs) were less common. This suggests a potential gap in holistic security practices beyond immediate account protection.
- Physical Security: Discussions around physical locks or special storage for devices revealed a perception that these were often "futile" or unnecessary in their personal contexts.
The study's deep dive into social factors is also highly relevant from a technical security perspective, as these factors directly impede the adoption and enforcement of technical controls. The observed lack of communication about security, the impact of politeness and respect hindering direct security inquiries among peers, and the problematic reliance on trust based solely on technical skills are not merely sociological observations. They are critical vulnerabilities in the human layer of OSS security. The example of the XZ Utils backdoor, where a malicious actor built trust through benign contributions over nearly two years before inserting a sophisticated backdoor, powerfully illustrates how these social dynamics can be exploited to bypass technical safeguards and compromise the supply chain. The ease with which "overnight" project access can be granted due to maintainer burnout or misplaced trust represents a significant technical control bypass, enabling potentially malicious actors to gain high-privilege access without adequate vetting. This qualitative study, therefore, technically dissects the human and organizational vulnerabilities that underpin the broader security posture of open-source projects.
Demo / Proof of Concept
▶ Watch: Pragmatism in Security Choices & Perceived Relevance (5:50)
This qualitative study focuses on understanding the human factors, social dynamics, and individual security practices within the open-source software development community. As such, the talk did not include a traditional technical demonstration or a proof of concept for an exploit. Instead, the "proof" lies in the rich qualitative data gathered from the 20 semi-structured interviews, which provided empirical evidence for the challenges and behaviors described. The findings themselves serve as the "demonstration" of the current state of individual security setups and the underlying socio-technical issues in OSS.
Defensive Implications
▶ Watch: Challenges: Lack of Security Communication & Guidelines (6:40)
The study provides crucial insights for improving the security posture of open-source projects, translating its findings into actionable defensive strategies. These recommendations aim to address the identified challenges while respecting the unique culture of OSS.
1. Shift Responsibility to Service Providers for Basic Authentication Enforcement:
The study found that while developers were uncomfortable demanding security from peers due to social etiquette, they were "much more accepted when platforms or project settings enforced additional [security] factors." This suggests a strategic shift: instead of relying on individual contributors to choose to implement critical measures, platforms should enforce them.
- Actionable Advice: Service providers like GitHub, PyPI, npm, and other code hosting or package distribution platforms should mandate multi-factor authentication (MFA) for all developer accounts, especially those with publishing or administrative rights. The talk explicitly mentions that "both GitHub and PyPI announced to enforce multi-factor authentication for all accounts within the last year," validating this recommendation.
- Why it works: This approach "avoids awkward social situations" and standardizes a critical security baseline, directly mitigating risks from weak credentials and account takeovers, which were highlighted as motivating examples for the study.
2. Define Clear Maintainer Hierarchies and Restrict Access Rights:
The research revealed issues with overly liberal access distribution, inactive developers retaining rights, and "overnight" access grants. To counter this, a more structured approach to access control is recommended.
- Actionable Advice: Projects should define a clear maintainer hierarchy and adopt a principle of least privilege. Access to highly sensitive operations, such as publishing rights for packages or direct access to code secrets (e.g., API keys, deployment credentials), should be restricted to a "singular dedicated admins" or a very small, trusted group. This reduces the attack surface, as "the remaining accounts require a less strict security setup."
- Mitigating Social Engineering: Less liberal distribution of commit access and other high-privilege roles can "partially mitigate some risks of social engineering attacks" by making it harder for new or less vetted individuals to gain significant control quickly, as seen in the XZ Utils incident where a malicious actor gradually gained trust and access.
- Improved Offboarding: While challenging, projects should develop processes for periodically reviewing and potentially revoking access for truly inactive contributors, perhaps with a grace period or notification system. This addresses the finding that developers tend to retain access indefinitely out of respect.
3. Create a Basic Security Guidance Template for Contributors:
A significant finding was the complete absence of official security guidelines for personal security measures in even the most critical projects. This leaves individual contributors to devise their own, often inconsistent, security practices.
- Actionable Advice: The open-source community, perhaps through foundations or larger projects, should collaborate to create a simple, easily copy-and-pastable template for security guidance. This template should provide "low barrier" advice, making it inclusive for any developer regardless of their expertise.
- Content of the Template: Beyond instructions on how to report vulnerabilities (which many projects already have), this template should cover:
- Minimum expected personal security practices: e.g., using password managers, enabling MFA, basic system hardening.
- Guidance on handling sensitive data: e.g., code secrets, private encryption keys.
- Best practices for development environments: e.g., frequent software updates, using VMs for sensitive work.
- Information on secure communication: e.g., when and how to encrypt emails or messages.
- Benefits: Such a template would provide "both a sense for minimum security requirements and a helpful hand on how to implement them," fostering a more uniform and elevated security baseline across the diverse open-source landscape. It addresses the communication gap and the reliance on individual, often ad-hoc, security decisions.
By implementing these defensive strategies, the open-source community can proactively address the vulnerabilities arising from its unique culture, strengthening the software supply chain and protecting millions of users who rely on its innovations.
Key Takeaways
- Open-source security is highly individualistic: Unlike proprietary development, OSS contributors largely determine their own security setups, leading to varied and often inconsistent practices.
- Social dynamics hinder security communication: Politeness, respect, and concerns about appearing "annoying" prevent developers from discussing security practices or demanding higher standards from peers.
- Trust can be a vulnerability: An implicit trust in technically skilled contributors, coupled with rapid access grants (sometimes "overnight") and poor offboarding for inactive members, creates significant security risks (e.g., XZ Utils backdoor).
- Pragmatism drives security choices: Developers prioritize usability, often opting for easy-to-adopt measures like strong passwords and MFA, while less convenient or perceived as less relevant measures (like physical security or certain encryption setups) are often overlooked.
- Platform enforcement is key: Shifting the responsibility for basic security measures, such as MFA, from individual contributors to service providers (e.g., GitHub, PyPI) is more accepted and effective for establishing a baseline.
- Clear access control and guidance are essential: Implementing strict maintainer hierarchies, limiting access to critical assets, and providing easily adoptable security guidance templates can significantly reduce supply chain risks and improve overall project security.
About the Speaker(s)
The primary presenter for this talk is Sabrina Amft. The research was conducted in collaboration with Sandra Höltervennhoff, Rebecca Panskus, Karola Marky, and Sascha Fahl. Based on the presentation, Sabrina Amft is actively involved in academic research focusing on human factors in security, particularly within the context of open-source software development. Her work, as demonstrated by this study, investigates the behavioral, social, and structural challenges that influence security practices among developers.
Reviews
Dr. Zero (Offensive Security Researcher) — MUST SEE
This qualitative study dissects the alarming state of individual security practices among open-source contributors, exposing how social dynamics and a lack of guidelines create systemic vulnerabilities. It provides critical, actionable insights for platforms and projects to harden the software supply chain against the very human factors exploited in incidents like XZ Utils. This isn't just research; it's a blueprint for essential defensive innovation.
Heather Calloway (CISO) — STRONG ACCEPT
This study effectively diagnoses critical governance and human-factor vulnerabilities within the open-source supply chain, directly impacting business resilience. It clearly articulates the exposure stemming from individual security choices and offers actionable recommendations for platforms and project maintainers. This is a pragmatic assessment of institutional risk, not merely a technical problem statement.
→ Top-rated talks at IEEE Symposium on Security and Privacy 2024