Lucas Gonze โ Securing InnerSource #InnerSourceSummit2025
๐ **Source:** [Lucas Gonze โ Securing InnerSource #InnerSourceSummit2025](https://www.youtube.com/watch?v=0Nw9UUpkKzQ)
> [!note]+ Document Notes
> tags: [innersource, security, open-source-security, enterprise-security]
> author: Lucas Gonze
> source: InnerSource Commons
> reference: https://www.youtube.com/watch?v=0Nw9UUpkKzQ
> date created: 2024-12-19 10:30
>
> # ๐ท๏ธ Title: Securing InnerSource - Balancing Openness and Security
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Inventory inner source security threats specific to your organization โ 05:23 #security
- [H2] Implement manual security scorecard assessment for inner source projects โ 14:30 #assessment
- [H3] Establish vulnerability tracking for internal dependencies โ 12:15 #compliance
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [OpenSSF](https://openssf.org/)
- [SLSA Framework](https://slsa.dev/)
- [Security Scorecard](https://github.com/ossf/scorecard)
## ๐ Summary
- Lucas Gonze presents a framework for securing InnerSource projects, identifying unique security threats that differ from open source
- Key focus on adapting open source security tools like SLSA and Security Scorecard for internal enterprise contexts
- Emphasizes being precise about threats rather than vague handwaving about security concerns
- Provides practical manual assessment approach when automated tools don't fit inner source environments
- Bottom line: Inner source needs tailored security approaches that account for reduced scrutiny and different threat models
## ๐ Main Content
InnerSource projects face unique security challenges that fall between traditional open source and proprietary software models. Unlike open source projects with vast community scrutiny, inner source has smaller review pools but broader internal access than typical proprietary code.
The presentation identifies several specific threat categories: lack of external scrutiny, presumed safety of internal components, overly broad access controls, weaker security culture, maintainer turnover, and tooling gaps. These threats require different mitigation strategies than pure open source or closed source approaches.
Open source security tools like SLSA (Supply-chain Levels for Software Artifacts) and OpenSSF's Security Scorecard provide valuable frameworks but need cultural translation for inner source contexts. For example, vulnerability tracking must connect to enterprise security infrastructure rather than just public CVE databases.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/0Nw9UUpkKzQ?t=0) โ [H1] Introduction: Is InnerSource Too Open or Too Closed?
- Key idea: InnerSource security sits between open and proprietary models
- Evidence: "Is it too open to be secure or too closed, too proprietary, or just right?"
#### โฑ๏ธ [01:30](https://youtu.be/0Nw9UUpkKzQ?t=90) โ [H2] Speaker Background and Approach
- Key idea: Fractional OSPO consultant with extensive open source experience
- Evidence: "I work for a variety of corporate clients doing supply chain security compliance work"
#### โฑ๏ธ [02:45](https://youtu.be/0Nw9UUpkKzQ?t=165) โ [H1] Threat Identification Framework
- Key idea: Security requires precise threat identification, not vague concerns
- Evidence: "When it comes to security you want to avoid handwaving. You want to be as precise as you can be"
#### โฑ๏ธ [03:30](https://youtu.be/0Nw9UUpkKzQ?t=210) โ [H2] Limited Prior Art on InnerSource Security
- Key idea: Very little existing research on inner source specific security threats
- Evidence: "I went out and I looked for prior art on inner source security threats and I hardly found anything"
#### โฑ๏ธ [04:15](https://youtu.be/0Nw9UUpkKzQ?t=255) โ [H1] Threat 1: Reduced Community Scrutiny
- Key idea: Smaller review pool means vulnerabilities persist longer
- Evidence: "Heartbleed took tens hundreds of millions of people using that code to eventually get the eyeballs to identify"
#### โฑ๏ธ [05:23](https://youtu.be/0Nw9UUpkKzQ?t=323) โ [H1] Threat 2: Presumed Safety of Internal Components
- Key idea: Enterprise context creates false assumption that internal code is vetted
- Evidence: "You assume that everybody else involved is being vetted by the organization"
#### โฑ๏ธ [06:45](https://youtu.be/0Nw9UUpkKzQ?t=405) โ [H2] Malicious Insiders and Infected Components
- Key idea: Internal threats include both bad actors and compromised systems
- Evidence: "There can be malicious insiders and infected components inside your firewall"
#### โฑ๏ธ [07:30](https://youtu.be/0Nw9UUpkKzQ?t=450) โ [H1] Threat 3: Overly Broad Access Controls
- Key idea: Internal access controls often less precise than open source equivalents
- Evidence: "Write and commit access controls may be too broad... privileges are very fine grained in open source"
#### โฑ๏ธ [08:45](https://youtu.be/0Nw9UUpkKzQ?t=525) โ [H2] Security Culture Challenges
- Key idea: Organizational pressure can override security best practices
- Evidence: "The CEO calls you up and says I want you to email me the SSH key"
#### โฑ๏ธ [09:30](https://youtu.be/0Nw9UUpkKzQ?t=570) โ [H2] Maintainer Knowledge Loss
- Key idea: Corporate turnover can eliminate security expertise from projects
- Evidence: "The expertise in a project that it takes to vet PRs may potentially lead to security problems can leave the company"
#### โฑ๏ธ [10:15](https://youtu.be/0Nw9UUpkKzQ?t=615) โ [H1] SLSA Framework Overview
- Key idea: SLSA secures build and distribution pipeline through cryptographic signing
- Evidence: "Only accept libraries, binaries into your build that have been signed in a cryptographically secure way"
#### โฑ๏ธ [11:00](https://youtu.be/0Nw9UUpkKzQ?t=660) โ [H2] OpenCVE and Internal Vulnerability Tracking Gap
- Key idea: Public vulnerability databases don't cover internal security issues
- Evidence: "It's essential but it's also not quite right in an inner source context because obviously your internal vulnerabilities can't be there"
#### โฑ๏ธ [12:15](https://youtu.be/0Nw9UUpkKzQ?t=735) โ [H1] Security Scorecard Tool Analysis
- Key idea: OpenSSF Scorecard provides quick security assessment metrics
- Evidence: "Quickly assess open-source projects for risky practices"
#### โฑ๏ธ [13:45](https://youtu.be/0Nw9UUpkKzQ?t=825) โ [H2] Cultural Translation Required for InnerSource
- Key idea: About half of security scorecard metrics need adaptation for internal use
- Evidence: "About half of them you can leave intact... some of these need cultural translation"
#### โฑ๏ธ [14:30](https://youtu.be/0Nw9UUpkKzQ?t=870) โ [H1] Manual Implementation Strategy
- Key idea: Don't modify code, use manual assessment with same conceptual framework
- Evidence: "Don't touch the code. Keep the algorithm, keep the concept but do it this way"
#### โฑ๏ธ [15:45](https://youtu.be/0Nw9UUpkKzQ?t=945) โ [H2] Extended Metrics for InnerSource
- Key idea: Add specific categories for inner source threats to existing frameworks
- Evidence: "I extended the metrics... to cover the inner source issues"
## ๐ References
- [OpenSSF Security Scorecard](https://github.com/ossf/scorecard)
- [SLSA Framework](https://slsa.dev/)
- [OpenSSF Project Portfolio](https://openssf.org/)
- [OpenCVE Database](https://opencve.org/)
## ๐ฃ๏ธ Paraphrase
- InnerSource security exists in a unique space between open source transparency and proprietary protection, requiring specialized threat assessment
- Existing open source security tools provide valuable frameworks but need cultural adaptation for enterprise internal contexts
- Manual assessment approaches can be more practical than automated tools when dealing with inner source specific security requirements
## ๐ฐ Newsletter
**Securing Your InnerSource Projects: Beyond Open Source Tools**
Lucas Gonze's recent InnerSource Summit presentation highlights a critical gap in enterprise security: InnerSource projects face unique threats that traditional open source security tools don't fully address.
**Key Insight**: While tools like SLSA and Security Scorecard provide excellent frameworks, they need "cultural translation" for internal enterprise contexts. For example, vulnerability tracking must connect to your enterprise security infrastructure, not just public CVE databases.
**Practical Application**: Consider implementing a manual security scorecard assessment for your InnerSource projects. Focus on threats like reduced community scrutiny, overly broad internal access controls, and maintainer knowledge loss through corporate turnover.
**Action Step**: Start by inventorying security threats specific to your InnerSource context - be precise rather than vague about what you're protecting against.
Resources: [OpenSSF](https://openssf.org/), [SLSA Framework](https://slsa.dev/), [Security Scorecard](https://github.com/ossf/scorecard)
## โ
Action Items
#### OSPO
- Security Management: Develop inner source specific threat assessment methodology, vulnerability tracking integration with enterprise security tools
- Software Inventory: Extend SBOM strategy to include internal component provenance and signing
- Policy & Governance: Create inner source security guidelines that balance openness with enterprise security requirements
#### Community
- Maintainers: Establish succession planning and security expertise transfer protocols for inner source projects
- Contributors: Implement security-focused code review training specific to inner source contexts
#### FAIR
- Technical independence: Ensure inner source security tools and processes don't create vendor lock-in
- Governance artifacts: Document security assessment methodologies and threat models
## ๐งช Hypotheses
- Inner source projects have fundamentally different security threat profiles than pure open source or proprietary projects
- Manual security assessment can be more effective than automated tools for inner source contexts
- Cultural translation of open source security tools provides better coverage than building from scratch
- Reduced community scrutiny in inner source environments increases vulnerability persistence time
### ๐ Methodology
- Comparative analysis of security scorecard metrics across open source, inner source, and proprietary contexts
- Threat modeling workshops focused on enterprise-specific inner source scenarios
- Manual assessment pilot programs using adapted security scorecard frameworks
### โ Questions
- How can organizations quantify the security impact of reduced community scrutiny in inner source projects?
- What metrics best capture the unique threat profile of enterprise inner source environments?
- How should vulnerability disclosure policies adapt for inner source projects that span multiple business units?
### ๐ฎ Future Research
- Comprehensive taxonomy of inner source specific security threats across different industry contexts
- Automated tooling development for inner source security assessment
- Integration patterns between enterprise security infrastructure and open source security frameworks
### ๐ก Implications
- Practice: Security teams need specialized approaches for inner source that go beyond traditional open source or proprietary models
- Policy: Enterprise security policies must account for the hybrid nature of inner source development
- Security: Inner source security requires cultural translation rather than wholesale adoption of open source tools
- Education: Security training programs need inner source specific modules addressing unique threat scenarios
### ๐ง Learning Styles Assessment
Reading level estimate: 12th Grade (Flesch-Kincaid Grade Level)
#### ๐ Visual learners
- Present: Threat categorization lists, tool comparison matrices, scorecard examples
- Improve: Security threat flow diagrams, visual comparison of open source vs inner source threat models
#### ๐ Aural learners
- Present: Conference presentation format with speaker explanation
- Improve: Audio summary of key threat categories and mitigation strategies
#### ๐ฃ๏ธ Verbal learners
- Present: Clear definitions of security concepts, concrete examples like Heartbleed
- Improve: Glossary of security terms, analogies comparing security models
#### ๐งฉ Kinesthetic learners
- Present: Manual scorecard assessment process, practical implementation steps
- Improve: Hands-on security assessment workshops, threat modeling exercises
#### ๐ง Logical learners
- Present: Systematic threat categorization, step-by-step adaptation methodology
- Improve: Decision trees for tool selection, quantitative risk assessment frameworks
#### ๐งโ๐คโ๐ง Social learners
- Present: Conference presentation encouraging audience participation
- Improve: Collaborative threat modeling sessions, peer security review processes
#### ๐งโโ๏ธ Solitary learners
- Present: Self-directed assessment frameworks, individual analysis methods
- Improve: Self-assessment checklists, independent study materials on security frameworks
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking about security dependencies and supply chains
- Improve: Analogies to natural systems, sustainability considerations for security practices
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Clear heading structure, descriptive list formatting
- Improve: Alt text for any security diagrams, ARIA labels for interactive elements
#### Keyboard navigation
- Present: Standard presentation format with logical flow
- Improve: Keyboard accessible interactive assessment tools
#### Contrast and readability
- Present: Standard text presentation with good contrast
- Improve: High contrast mode for security assessment interfaces
#### Media and captions
- Present: Video presentation available with transcript
- Improve: Closed captions for technical terminology, audio descriptions
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Enterprise security context applicable globally
- Improve: Examples from different organizational cultures and regulatory environments
#### Inclusive language
- Present: Technical language with clear definitions
- Improve: Plain language summaries, avoid security jargon without explanation
#### Neurodiversity support
- Present: Well-structured content with clear categorization
- Improve: Visual organization aids, consistent formatting patterns
#### Representation
- Present: Focus on technical content rather than personal examples
- Improve: Diverse case studies from different organizational contexts
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Clear logical progression from threat identification to mitigation strategies
- Inductive strength: Pattern recognition from open source security to inner source adaptation
- Causal reasoning: Links between organizational factors and security vulnerabilities
- Analogical strength: Effective comparison between open source and inner source security models
#### Fallacies
- Appeal to authority: Reliance on OpenSSF tools without full justification for inner source contexts
- False dichotomy: Presentation of security as "too open" vs "too closed" oversimplifies the spectrum
#### Tone of voice
- Overall tone: Practical and expert-driven with appropriate technical depth for security practitioners
### ๐ก๏ธ DARVO Analysis
- Deny: No instances of denial or minimization of security concerns
- Attack: No attacks on security practices or practitioners
- Reverse victim/offender: No victim/offender role reversals identified
- Emotional cues and rhetoric: Balanced, technical presentation focused on practical solutions
## ๐ฏ Conclusion
InnerSource security requires a specialized approach that adapts open source security frameworks for enterprise contexts. The key insight is "cultural translation" - keeping proven algorithms and concepts while modifying implementation for internal threat models. Organizations should start with precise threat identification, then systematically adapt existing tools rather than building from scratch. The manual assessment approach provides a practical starting point for most organizations to improve their inner source security posture.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
Purpose: Stage CEE units that become Literature notes.
Split level: H
---
## Full Transcript
[00:05] All right, we're going to talk about<br>[00:06] securing inner source. And the question<br>[00:09] we're going to ask is, is it too open to<br>[00:12] be secure or too closed, too<br>[00:15] proprietary,<br>[00:17] or just right? And how can you make it<br>[00:20] just right? And really, that question of<br>[00:22] how can you make it just right is the<br>[00:25] one we're going to be talking about.<br>[00:26] This is an active talk. It's about<br>[00:28] providing you with tools.<br>[00:30] So,<br>[00:32] my name is Lucas Gans. You can find me<br>[00:34] on GitHub. It's probably the best place<br>[00:36] to look me up. Um, I um have been an<br>[00:39] open source contributor since the<br>[00:40] beginning of my career, and that's how I<br>[00:42] make a living. Like, I've just been<br>[00:44] involved in so many projects, kind of<br>[00:46] seen everything. Uh, and I am a uh<br>[00:49] fractional uh open-source program<br>[00:52] office. I work for a variety of<br>[00:54] corporate clients um doing uh you know<br>[00:57] supply chain security compliance work,<br>[00:59] ESPO work um and uh community<br>[01:03] development and sometimes marketing for<br>[01:04] their open source projects.<br>[01:10] We're going to talk about threats.<br>[01:13] We're going to talk about tooling for<br>[01:15] open-source uh security. We're going to<br>[01:18] talk about the applicability of that<br>[01:20] tooling to inner source projects. We're<br>[01:24] going to talk about how to adapt things<br>[01:26] that are slightly maladapted to<br>[01:28] specifics about an inner source. And<br>[01:30] then we're going to do a Q&A. But the<br>[01:32] Q&A is going to be a little different<br>[01:33] because I'm going to ask you the<br>[01:35] questions.<br>[01:37] >> That's right.<br>[01:40] Um so first of all let's talk about<br>[01:42] threats because um when it comes to um<br>[01:46] security you want to avoid handwaving.<br>[01:48] You want to be as precise as you can be<br>[01:51] because there are a lot of vague threats<br>[01:52] that may be impossible. Um and and there<br>[01:56] may be threats that seem tiny that are<br>[01:58] very real.<br>[02:00] Um, so, uh, to give an example of a<br>[02:04] threat that is specific to o to to inner<br>[02:07] source security and actually I'm going<br>[02:09] to backtrack a little bit here. When I<br>[02:11] started working on this slide, I went<br>[02:12] out and I looked for prior art on inner<br>[02:15] source security threats and I hardly<br>[02:18] found anything. I mean, I found one<br>[02:20] thing and it was very, you know, loosey<br>[02:23] goosey. Um, and so I've been working on<br>[02:27] this list for about a month now and it's<br>[02:30] probably just the beginning. So here we<br>[02:31] go. First of all, there's no external<br>[02:34] community scrutiny of um inner source<br>[02:38] code and the inner source community is<br>[02:41] smaller than the open- source community,<br>[02:43] right? You think about something like<br>[02:45] heartbleleed like it took you vast<br>[02:48] numbers of people you tens hundreds of<br>[02:51] millions of people using that code to<br>[02:53] eventually get the eyeballs to identify<br>[02:56] the source of that code and in the in an<br>[02:58] inner source context that is not the<br>[03:01] case. Number two, in a in any enterprise<br>[03:06] context, in any business context, you<br>[03:08] assume that everybody else involved is<br>[03:12] being um they're vetted by the<br>[03:15] organization, right? If they do<br>[03:17] something that's that's kind of wrong,<br>[03:20] they're going to lose their job. Um but<br>[03:23] uh that leads to the presumption that<br>[03:26] upstream components things that um<br>[03:29] you're using that are coming from other<br>[03:31] parts of your organization are safe and<br>[03:34] that is not necessarily true. This is<br>[03:36] where we get back to that 8020 rule.<br>[03:38] There can be malicious insiders number<br>[03:41] one. Uh, and number two, there can be<br>[03:43] infected components inside your firewall<br>[03:47] um that are looking to ride on something<br>[03:50] they can get into to get into something<br>[03:53] downstream from there.<br>[03:55] Number three, um, write and commit<br>[03:58] access controls may be too broad. So you<br>[04:02] think about or even read access. Think<br>[04:04] about something like uh um Google's<br>[04:06] famous mono repo. Like the the scale of<br>[04:10] access there is really remarkable and in<br>[04:13] an open-source context uh uh um<br>[04:17] privileges are very fine grained. We're<br>[04:20] super aware of what anybody out there in<br>[04:24] the world can do to your repository and<br>[04:27] we're very precise about what we allow.<br>[04:29] That is often not the case inside the<br>[04:32] firewall. I don't want to encourage<br>[04:35] locking things down, although that's<br>[04:37] kind of what security people do a lot,<br>[04:39] but more I want you to think about the<br>[04:41] precise things that you do have to give<br>[04:43] away. There may be a way for somebody to<br>[04:45] leverage something you think should be<br>[04:47] open into the privilege to look at<br>[04:50] environment settings in your CI and then<br>[04:53] use those environment settings to you<br>[04:55] escalate into something like writing to<br>[04:58] your main AWS account, right? So little<br>[05:01] leaks can uh can cause can come much<br>[05:04] bear. Um<br>[05:07] there's the issue of security culture.<br>[05:10] Um cautiousness around security. Um is<br>[05:13] something that has to be absorbed<br>[05:14] organizationally. So the classic one is<br>[05:16] the CEO calls you up and says I want you<br>[05:19] to email me the SSH key.<br>[05:22] And it's really hard to say no to that.<br>[05:24] There's there's really no good answer to<br>[05:27] that. Um, and that's much harder inside<br>[05:30] uh an inner source project than it is in<br>[05:32] an open source project. Um, number six,<br>[05:36] this list goes on and on. I could stop<br>[05:38] at any time because you you know like<br>[05:41] this the list of possible threats is so<br>[05:43] long, but it is worth being as precise<br>[05:45] as possible. And that is the single<br>[05:47] biggest message I want you to take away.<br>[05:51] Be precise about uh threats to your<br>[05:53] inner source projects and exhaustive as<br>[05:55] much as you can. Um, next maintainers<br>[05:59] may have left the company in an<br>[06:00] open-source project. People stay on<br>[06:03] projects for years. Uh, they may stay on<br>[06:06] them their whole lives. There's a thing<br>[06:08] I built in 2020 that I still get emails<br>[06:11] about and I'll I'll just do it as long<br>[06:13] as I can. um and the expertise in a<br>[06:16] project that it takes to vet PRs that<br>[06:20] may potentially lead to um security<br>[06:23] problems uh can leave the company. So,<br>[06:27] watch out for projects that seem to have<br>[06:29] nobody with the expertise to vet PRs. Uh<br>[06:34] and the last one that I'm going to<br>[06:35] mention, but not the last one by any<br>[06:37] means, is a tooling gap. And that's what<br>[06:39] I'm going to focus on here because I<br>[06:42] don't have that much time and I want to<br>[06:44] get as deep as I can to to help you have<br>[06:48] the tools to use in the future.<br>[06:53] Okay, we're going to talk about some<br>[06:55] specific tools that are um oriented<br>[06:58] towards opensource security. One<br>[07:02] specific tool that's really critical is<br>[07:04] Salsa. SLSA,<br>[07:07] security levels. Somebody want to finish<br>[07:10] this for me? Okay. Salsa is used to um<br>[07:14] to to um secure the build and<br>[07:18] distribution process. For example, um<br>[07:21] you might um only accept libraries,<br>[07:25] binaries into your build that have been<br>[07:27] signed in a cryptographically secure<br>[07:29] way. And um that protects you from doing<br>[07:34] a build with an infected library. Um<br>[07:37] which is a great way to get an exploit<br>[07:40] into your into your application. Um<br>[07:43] Salsa is is a is a terrific tool that is<br>[07:47] very useful. There are things about it<br>[07:49] that are kind of p, you know, particular<br>[07:51] to open source, but it goes to the<br>[07:54] question of your build and distribution<br>[07:57] pipeline. Um, next, um, as an example,<br>[08:02] um, actually I'm going to jump through<br>[08:04] here because I think I talked for a<br>[08:06] little too long about the earlier things<br>[08:07] and I'm going to need more time, but I<br>[08:09] want to bring up openc.org,<br>[08:13] which is the master repository of uh,<br>[08:17] publicly reported vulnerabilities. And<br>[08:20] it's really important that that is wide<br>[08:22] open to the to the world and um and<br>[08:26] anybody can read it and check and check<br>[08:28] for themselves whether there is a<br>[08:30] vulnerability in something they're<br>[08:32] using. Um and it is essential but it's<br>[08:36] also not quite right in an inner source<br>[08:39] context because obviously your internal<br>[08:42] vulnerabilities can't be there. So it it<br>[08:46] does certain essential jobs and in an<br>[08:51] inner source context you have to find a<br>[08:53] way to stand in for it.<br>[08:56] Um open SSF is the main organization<br>[09:01] that um that hosts um tools for the<br>[09:05] health uh the security of the open<br>[09:07] source ecosystem as a whole. So if you<br>[09:10] think about a typical node.js JS<br>[09:13] project, you do a single uh npm ad that<br>[09:17] can lead to 50 or 500 uh dependencies<br>[09:20] getting pulled into your project. You<br>[09:22] can't possibly vet all of those. Open<br>[09:25] SSF exists to you know create a context<br>[09:30] where we can hope to have reasonable<br>[09:33] security across such an enormous web of<br>[09:36] dependencies. This is uh these are just<br>[09:38] a a few examples of the things there. Uh<br>[09:43] I'm not going to go too deep into this,<br>[09:45] but be aware that when you're looking<br>[09:48] for um tools that address the<br>[09:50] open-source side of your world, go here,<br>[09:53] study it, get to know the options. Um<br>[09:57] even if their project isn't fully<br>[09:59] mature, it's addressing an important<br>[10:01] problem that um you probably should have<br>[10:04] somebody on your team who is aware of.<br>[10:08] I'm going to talk about a particular<br>[10:10] project now. Um, and I'm choosing this<br>[10:14] one just because uh I want to go into<br>[10:17] detail, but be aware that the same<br>[10:19] issues will affect almost anything you<br>[10:22] use. Scorecard is a project I'm going to<br>[10:24] talk about. This is a open SSF project.<br>[10:28] It was originally called Scorecards.<br>[10:31] And what scorecard does is, well, let's<br>[10:34] take a look at the website.<br>[10:36] Um it is uh okay let's let's just look<br>[10:40] at this tagline quickly assess<br>[10:42] open-source projects for risky<br>[10:45] practices. Number one quickly the speed<br>[10:48] of assessment is part of its value.<br>[10:50] Number two assess these are metrics for<br>[10:54] security quality. I mean keep in mind<br>[10:56] they're quick metrics right and a real<br>[10:59] security audit takes real time. Um but<br>[11:01] quick metrics have their own value. Um<br>[11:05] and for risky practices, right? So with<br>[11:09] in a broad brush kind of way, we can<br>[11:11] identify risky practices. And the truth<br>[11:13] is broad brushes do actually matter.<br>[11:16] There are a lot of kind of you know e<br>[11:18] there's a lot of lowhanging uh fruit in<br>[11:20] this space. And notice uh in this list<br>[11:23] here the numbers that there's, you know,<br>[11:25] these are numbers zero out of 10, eight<br>[11:27] out of 10. Um and if you actually look<br>[11:29] in they're even finer grained.<br>[11:33] All right.<br>[11:38] Yeah. Yeah. Okay. Here we go. So, what<br>[11:40] does scorecard measure? Um,<br>[11:44] it has, um, you know, it checks whether<br>[11:47] you're using dependabot to look for<br>[11:50] known CVEes in any of your upstream<br>[11:53] dependencies. Here you are. you have 500<br>[11:56] npm dependencies in your project from<br>[11:59] the one little thing that you pulled in<br>[12:01] deliberately and you need to keep track<br>[12:03] of every reported CVE and every<br>[12:06] available patch and then whether it's<br>[12:09] applicable to your software. So um<br>[12:14] there's a there's a lot of detail to<br>[12:16] track there. Um and dependabot does that<br>[12:19] well. The problem with dependabot it is<br>[12:22] for opensource software and and publicly<br>[12:25] reported cdees. So take this lesson<br>[12:29] away. You want to do something like that<br>[12:32] for your inner source software. You want<br>[12:35] to be checking for known<br>[12:37] vulnerabilities. And you know, with<br>[12:41] internal development, your apps team,<br>[12:44] they're going to have a list of these<br>[12:46] things they're going to know, but they<br>[12:47] can't shut down everything as soon as<br>[12:49] something is found. And making a fix can<br>[12:51] take a long time. It can be hard. You're<br>[12:54] going to have a count of open<br>[12:55] vulnerabilities, and you need to know<br>[12:57] what it is. So for each one of these<br>[13:02] there's a comparable kind of lesson to<br>[13:05] learn that um it's a thing that matters<br>[13:10] and it may be harder or easier in an<br>[13:12] inner source context. So I looked at<br>[13:15] each one of these and I asked um how<br>[13:20] well the uh open-source oriented version<br>[13:24] would be would adapt to an inner source<br>[13:26] context. What I found is there's one<br>[13:28] that you just want to drop. It doesn't<br>[13:30] make any difference. Um, and about half<br>[13:32] of them you can leave intact. So like<br>[13:35] this one, binary artifacts. Don't check<br>[13:38] binaries of libraries into your into<br>[13:41] your repo, right? Because that's where,<br>[13:45] you know, that's where the exploits<br>[13:46] live. It's a perfect place to poison<br>[13:48] your build. Um, and and no change like<br>[13:52] that. the open source, you know, logic<br>[13:55] is directly applicable, but some of<br>[13:56] these need uh uh cultural translation<br>[13:59] and I'm going to talk about that now<br>[14:03] for the ones that need cultural<br>[14:05] translation. What does that mean and how<br>[14:07] do you go about the process of doing it?<br>[14:10] Oops. Um so the one I'm going to talk<br>[14:13] about is the vulnerability count. Um, so<br>[14:18] and just as an example of one that has a<br>[14:20] really clear porting kind of process.<br>[14:23] Um, so the way that you get the<br>[14:25] vulnerability count in an open source<br>[14:27] project is you check for CVEEs in all<br>[14:32] your known upstream dependencies. Just<br>[14:34] it's a straight count from opencve.org.<br>[14:38] Um, and those aren't all known for a<br>[14:41] proprietary project. a lot of them are<br>[14:43] in your your corporate your enterprise<br>[14:46] level security infrastructure. Um so a<br>[14:49] cultural translation of this metric<br>[14:52] would have to include connecting to<br>[14:55] whatever enterprise level software<br>[14:57] you're using for tracking<br>[14:59] vulnerabilities. So be aware that the<br>[15:02] original thing is useful and there's<br>[15:04] very likely open source software on<br>[15:06] almost anything that anybody builds. Um<br>[15:09] but internally uh in an inner source<br>[15:12] context very importantly the more reuse<br>[15:15] you have the more impact a vulnerability<br>[15:18] has. Um so there is a downside to all<br>[15:22] this great superhealthy reuse which is<br>[15:25] greater impact of vulnerabilities in<br>[15:28] reused components.<br>[15:31] Um what does it mean to implement one of<br>[15:34] these projects? Um,<br>[15:37] first of all, um, think about your<br>[15:40] threats.<br>[15:41] Number two, um, like be precise with<br>[15:44] your threats. Um, be specific, avoid<br>[15:47] needless fear, but be concrete. Number<br>[15:50] two, look for tools that can address<br>[15:52] those. Number three, look for the gaps,<br>[15:55] the things that can happen in your<br>[15:57] context, in an inner source context that<br>[16:00] wouldn't happen in an open source<br>[16:01] context. And fortunately almost every<br>[16:04] tool for open source um security is open<br>[16:07] source and you can adapt it. Pretty much<br>[16:10] everything from open SSF is very clean<br>[16:12] and maintainable. I've touched those<br>[16:14] things. It's super easy. Um<br>[16:18] so the key thing for you to remember is<br>[16:21] um well okay so I'm going to talk about<br>[16:24] porting uh security scorecard itself<br>[16:26] right now. And here is my advice to you.<br>[16:28] Don't touch the code. Keep the<br>[16:30] algorithm. keep the concept um but do it<br>[16:33] this way. Um I have uh uh applied open<br>[16:37] source uh sorry security scorecard at a<br>[16:39] variety of clients probably five<br>[16:41] different clients um and I find it<br>[16:44] extremely useful. Um and what I use it<br>[16:47] for is I get a score a scorecard<br>[16:50] manually. I run it in the CLI. I make a<br>[16:53] list of the issues uh and then I get<br>[16:56] them into the road map and I walk them<br>[16:58] through the road map. And that's a<br>[17:00] process that doesn't require redoing<br>[17:02] once a day. I can do it manually. I can<br>[17:05] come in as an expert and spend a week<br>[17:07] figuring it out and then I do eventually<br>[17:09] get them all touched and you can do the<br>[17:11] same thing. So my recommendation to you<br>[17:14] for scorecard is be aware of the metrics<br>[17:17] and do it manually. Here's what that<br>[17:18] would look like.<br>[17:21] Uh I made up a scale that is amendable<br>[17:23] to doing it manually. Okay. Me and this<br>[17:27] needs fixing. Um and you know for you as<br>[17:31] an expert you especially for an<br>[17:33] engineering manager a senior manager a<br>[17:35] senior engineer client who would be here<br>[17:37] like you can make that sort of<br>[17:38] assessment pretty well. Um and then I<br>[17:42] extended the metrics that we saw before<br>[17:44] to cover the inner source uh issues the<br>[17:49] issues that are specific to inner source<br>[17:52] security. And you notice how flexible<br>[17:54] this framework is. It was really easy to<br>[17:56] do this. I took each of the tests we<br>[17:58] talked about, each of the threats we<br>[18:00] talked about, and I added a category for<br>[18:02] it, and I'm going to track it. I'm going<br>[18:04] to evaluate it and track it and get it<br>[18:07] fixed. So, it's a low tech way.<br>[18:10] Automation is great, but you know what?<br>[18:12] Getting it done is what matters, and<br>[18:13] it's not that hard to do it by hand here<br>[18:14] and there.
<!-- deep-read:sections end -->