Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion ci/npm-audit-exceptions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
{
"schemaVersion": 1,
"exceptions": []
"exceptions": [
{
"advisory": "GHSA-2883-xcg3-v3hh",
"compensatingControls": [
"The identified production consumer reads agent manifests from the installed repository, not a remote request endpoint.",
"Keep agent manifest files under maintainer control during the exception period."
],
"decision": "temporary-risk-acceptance",
"expires": "2026-09-10",
"graph": "nemoclaw-cli",
"installedVersion": "4.3.1",
"owner": "Rebecca Sliter",
"package": "js-yaml",
"rationale": "Rebecca Sliter approved deferring the js-yaml 4.3.2 upgrade from v0.0.121 until September 10, 2026. This accepts the identified merge-work denial-of-service risk temporarily; it does not establish that all callers are unaffected.",
"severity": "high",
"trackingIssue": "https://github.com/NVIDIA/NemoClaw/issues/11252"
}
]
}
4 changes: 3 additions & 1 deletion test/automation/releases/reviewed-npm-audit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ function exceptionPolicy(

describe("reviewed npm audit gate", () => {
it("removes the checked-in brace-expansion exception after remediation (#8116)", () => {
expect(CHECKED_IN_POLICY).toEqual(EMPTY_POLICY);
expect(CHECKED_IN_POLICY.exceptions).not.toEqual(
expect.arrayContaining([expect.objectContaining({ package: "brace-expansion" })]),
);
});

it("fails at high or critical findings while retaining lower severities", () => {
Expand Down
Loading