-
Notifications
You must be signed in to change notification settings - Fork 2
Fix Security baseline gate: override brace-expansion in eslint's dependency tree #473
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,13 +28,17 @@ const BUNDLED_ROOTS = [ | |
| // per-advisory allowlist is deliberate: a brand-new high/critical for the | ||
| // same package — let alone any other package — still fails the gate, forcing | ||
| // a conscious decision rather than silent acceptance. | ||
| // - brace-expansion GHSA-3jxr-9vmj-r5cp (DoS): pinned 5.0.6 by pi's | ||
| // shrinkwrap; every non-shrinkwrapped path in our tree is on the fixed line. | ||
| // - brace-expansion GHSA-3jxr-9vmj-r5cp + GHSA-mh99-v99m-4gvg (both DoS): | ||
| // pinned 5.0.6 by pi's shrinkwrap, both advisories confined to that one | ||
| // bundled node (verified: eslint's own brace-expansion moved to the | ||
| // patched 5.0.8 after #472's eslint 9->10 bump, so only the shrinkwrapped | ||
| // copy remains on the vulnerable <=5.0.7 line); every non-shrinkwrapped | ||
| // path in our tree is on the fixed line. | ||
|
Comment on lines
+31
to
+36
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 4. Incorrect audit script comment The updated comment claims eslint’s brace-expansion moved to 5.0.8 due to an “eslint 9->10 bump”, but this PR keeps eslint at ^9 and makes the change via npm overrides. This mismatch can mislead future debugging of the security baseline gate. Agent Prompt
|
||
| // - protobufjs / ws: previously tolerated by name while their advisories were | ||
| // live in the bundled subtree; currently dormant, so no ids are listed — if | ||
| // one refires, the gate fails loudly and the specific GHSA gets re-added. | ||
| const TOLERATED_BUNDLED_ADVISORIES = new Map([ | ||
| ['brace-expansion', new Set(['GHSA-3jxr-9vmj-r5cp'])], | ||
| ['brace-expansion', new Set(['GHSA-3jxr-9vmj-r5cp', 'GHSA-mh99-v99m-4gvg'])], | ||
| ]); | ||
|
Comment on lines
+31
to
42
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 1. security-audit.mjs change lacks tests This PR changes the Security baseline gate behavior by expanding TOLERATED_BUNDLED_ADVISORIES to accept an additional GHSA ID, but no automated tests were added/updated in the same changeset to cover this new allowlist behavior. Without tests, future refactors may unintentionally broaden/narrow the gate logic and break CI or weaken security controls silently. Agent Prompt
|
||
|
|
||
| function advisoryIds(info) { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3. Unbounded override range
🐞 Bug⚙ MaintainabilityAgent Prompt
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools