Skip to content

Update VM-05 to split dependency remediation enforcement into 4 areas - #553

Open
Satarupa22-SD wants to merge 3 commits into
ossf:mainfrom
Satarupa22-SD:OSPS-VM-05.03
Open

Update VM-05 to split dependency remediation enforcement into 4 areas#553
Satarupa22-SD wants to merge 3 commits into
ossf:mainfrom
Satarupa22-SD:OSPS-VM-05.03

Conversation

@Satarupa22-SD

@Satarupa22-SD Satarupa22-SD commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

refer #546

Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>
Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>
Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>

@funnelfiasco funnelfiasco left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems like we have a gap in our numbering?

Comment thread baseline/OSPS-VM.yaml
runs a Software Composition Analysis tool to detect malicious
dependencies present in the codebase. Require that the status check
passes before any new changes can be merged.
- id: OSPS-VM-05.07

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be VM-05.04?

Comment thread baseline/OSPS-VM.yaml
runs a Software Composition Analysis tool to detect known
vulnerabilities in dependencies. Require that the status check
passes before any new changes can be merged.
- id: OSPS-VM-05.08

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be VM-05.05?

@funnelfiasco

Copy link
Copy Markdown
Contributor

Beyond my numbering comments, I wonder if we really want two controls here or if we we just go with "Changes to the codebase MUST be blocked when they violate the documented policy for malicious dependencies or known vulnerabilities." and let that imply the scanning in the previous control.

This keeps the count lower. The failure mode, of course, is that someone says "well if we don't scan the changes, we don't have to worry about it." I'm not sure we want to spend a lot of time preventing malicious compliance, though. This is a broader question for the team to work out, not an issue with this PR specifically.

@evankanderson evankanderson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel like "a documented policy" leaves plenty of space for "a policy which permits certain types of vulnerabilities, including non-exploitable ones" and possibly other policy which even permit certain types of vulnerabilities that are low-severity (e.g. ReDoS).

I'm okay with splitting this into two for simplification purposes; there are a mix of "ands" and "or"s in the sentence that makes it somewhat harder to read.

Comment thread baseline/OSPS-VM.yaml
Comment on lines +187 to +188
A project MUST allow documented dependency policy violations to be
suppressed when they are declared non-exploitable.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure that this is a necessary control. I don't think we want to forbid this behavior (I've found it useful in a variety of cases), but this seems more like a "taste" thing than a requirement.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is extracted from the previous wording which was intended to still allow compliance when you VEX a non-exploitable vulnerability:

except when declared and suppressed as non-exploitable.

Now it reads as "you can cheat on your policy when you document the cheat":

allow documented dependency policy violations

Comment thread baseline/OSPS-VM.yaml
Comment on lines +176 to +178
Changes to the codebase MUST be blocked when they violate the
documented policy for malicious dependencies or known
vulnerabilities.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure how I feel about breaking the previous (admittedly wordy) control up into three, where the three are:

  1. Block malicious dependencies
  2. Block vulnerable dependencies
  3. The blocking must be automatic and enforced

I can see separating 1 and 2 (though I could also see arguing that malicious dependencies are de-facto "vulnerable"), but splitting this into 3 or 4 seems too much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants