Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

content: refine dependency threats #1046

Merged
merged 7 commits into from
May 3, 2024

Conversation

MarkLodato
Copy link
Member

Refine the "dependency threats" of the Threats & Mitigations page to
better explain the intent and to differentiate from (H), which sounded
confusingly similar (#1039). More work is needed to refine (H), but that
is left to a separate PR.

  • Explain that "dependency threats" are not distinct threats but
    rather threats to other pieces of software that also affect this
    one. In the diagram, the diagram to color (D) differently to show
    this, mirroring the existing dashed lines, and add "(A-H
    recursively").
  • State that only "build dependencies" are in scope for the threat
    model, matching existing diagram and terminology throughout SLSA.
  • Rename "Use compromised dependency" to "Compromise build
    dependency", both for consistency with other threats, which are from
    the adversary's point of view, and to emphasize that this is
    restricted to build dependencies.
  • Expand the text about dependency threats and give examples.
    Highlight both "include" and "build tool" types of dependencies, and
    also include both an accidental vulnerability and a malicious
    backdoor.

Refine the "dependency threats" of the Threats & Mitigations page to
better explain the intent and to differentiate from (H), which sounded
confusingly similar (slsa-framework#1039). More work is needed to refine (H), but that
is left to a separate PR.

-   Explain that "dependency threats" are not distinct threats but
    rather threats to other pieces of software that also affect this
    one. In the diagram, the diagram to color (D) differently to show
    this, mirroring the existing dashed lines.
-   State that only "build dependencies" are in scope for the threat
    model, matching existing diagram and terminology throughout SLSA.
-   Rename "Use compromised dependency" to "Compromise build
    dependency", both for consistency with other threats, which are from
    the adversary's point of view, and to emphasize that this is
    restricted to build dependencies.
-   Expand the text about dependency threats and give examples.
    Highlight both "include" and "build tool" types of dependencies, and
    also include both an accidental vulnerability and a malicious
    backdoor.

Signed-off-by: Mark Lodato <[email protected]>
Copy link

netlify bot commented Apr 15, 2024

Deploy Preview for slsa ready!

Name Link
🔨 Latest commit 14f8326
🔍 Latest deploy log https://app.netlify.com/sites/slsa/deploys/663515017e2e4300082640ba
😎 Deploy Preview https://deploy-preview-1046--slsa.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@MarkLodato
Copy link
Member Author

I'm interested in feedback from folks to see if this is a step in the right direction.

docs/spec/v1.1/threats.md Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
@MarkLodato MarkLodato force-pushed the threats-d-h-1039 branch 2 times, most recently from 0b9a75d to c75aa13 Compare April 16, 2024 00:14
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Show resolved Hide resolved
docs/spec/v1.1/images/supply-chain-threats.svg Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
Signed-off-by: Mark Lodato <[email protected]>
Signed-off-by: Mark Lodato <[email protected]>
Copy link

@jkjell jkjell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this work Mark. From my anecdotal view, dependency threats are the most common example of supply chain attacks. Providing this section with more coverage is really important.

docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
MarkLodato and others added 2 commits May 1, 2024 11:03
Co-authored-by: Joshua Lock <[email protected]>
Signed-off-by: Mark Lodato <[email protected]>
Co-authored-by: John Kjell <[email protected]>
Signed-off-by: Mark Lodato <[email protected]>
Copy link
Member

@arewm arewm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: The original issue #1039 mentions confusion between the distinction of a consumer as something potentially separate from a dependency relationship.

We can make it more apparent that a dependency is a form of a consumer relationship.

Copy link

@michaelwinser michaelwinser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link
Member Author

@MarkLodato MarkLodato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks everyone! Since I have a bunch of approvals, I'm going to merge now. Again, this isn't perfect, and there are a ton of TODOs, but hopefully this gives us something that we can further iterate on.

docs/spec/v1.1/threats.md Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
docs/spec/v1.1/threats.md Outdated Show resolved Hide resolved
@MarkLodato MarkLodato merged commit c1398d5 into slsa-framework:main May 3, 2024
6 checks passed
@MarkLodato MarkLodato deleted the threats-d-h-1039 branch May 3, 2024 16:57
Nikokrock pushed a commit to Nikokrock/slsa that referenced this pull request Jun 13, 2024
Refine the "dependency threats" of the Threats & Mitigations page to
better explain the intent and to differentiate from (H), which sounded
confusingly similar (slsa-framework#1039). More work is needed to refine (H), but that
is left to a separate PR.

-   Explain that "dependency threats" are not distinct threats but
    rather threats to other pieces of software that also affect this
    one. In the diagram, the diagram to color (D) differently to show
    this, mirroring the existing dashed lines, and add "(A-H
    recursively").
-   State that only "build dependencies" are in scope for the threat
    model, matching existing diagram and terminology throughout SLSA.
-   Rename "Use compromised dependency" to "Compromise build
    dependency", both for consistency with other threats, which are from
    the adversary's point of view, and to emphasize that this is
    restricted to build dependencies.
-   Expand the text about dependency threats and give examples.
    Highlight both "include" and "build tool" types of dependencies, and
    also include both an accidental vulnerability and a malicious
    backdoor.

Signed-off-by: Mark Lodato <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

8 participants