Skip to content

Commit

Permalink
Clarify OSPS-BR-01 further
Browse files Browse the repository at this point in the history
This attempts to clarify OSPS-BR-01 further.

In particular, the term "arbitrary" currently used in the criterion
doesn't really mean anything. Any sequence of bits could be
"arbitrary". It doesn't matter if the bits are arbitrary or not.

What matters is that the undesired inputs are *untrusted*.
In fact, the *rationale* uses the term "untrusted",
but the criterion and details aren't consistent with the rationale.
I think that was what was meant anyway :-).

Also: using "code execution" as a privileged resource is a
terrible example. Any CI/CD pipeline does code execution, so
expressly listing it here *confuses* things.
Let's instead list "secret exfiltration" and "final release"
as privileged operations. Those are *much* clearer as
examples of things you should be concerned about :-).

Not everyone has a separate "final release" step, and instead
consider "merge to main" the same as final release. But even in that
case, "merge to main" is a privileged operation that
is not granted to everyone, so I think it still works.

Signed-off-by: David A. Wheeler <[email protected]>
  • Loading branch information
david-a-wheeler committed Jan 17, 2025
1 parent a29501b commit a129edc
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions baseline/OSPS-BR.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@ criteria:
maturity_level: 1
criterion: |
The project's build and release pipelines
MUST NOT permit arbitrary input that allows
MUST NOT permit untrusted input that allows
access to privileged resources.
rationale: |
Reduce the risk of code injection or other
security vulnerabilities in the project's
build and release by preventing untrusted input
to access privileged resources (code execution,
secret exfiltration, etc.)
to access privileged resources
(secret exfiltration, final release, etc.)
details: |
Ensure that any build and release pipeline actions
that accept externally-controlled input (e.g. git
that accept externally-controlled untrusted input (e.g. git
branch names) do not use input in ways that could
provide unintended access to privileged resources.
control_mappings:
Expand Down

0 comments on commit a129edc

Please sign in to comment.