Skip to content

Fix SDL issues - #384

Merged
Vladimir Morozov (vmoroz) merged 6 commits into
microsoft:mainfrom
vmoroz:PR/fix-sdl-issues
Oct 2, 2026
Merged

Vladimir Morozov (vmoroz) merged 6 commits into
microsoft:mainfrom
vmoroz:PR/fix-sdl-issues

Conversation

@vmoroz

@vmoroz Vladimir Morozov (vmoroz) commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Summary

Follow-up to #378. Guardian did not load the repository .eslintignore, and
the checked-in suppressions had expired, causing SDL post-analysis failures and
recurring exception maintenance.

SDL scope

Replaces signature suppressions with explicit exclusions for non-shipping
engine tests, benchmarks, third-party sources, generated fixtures, and internal
tools in both CI and release pipelines. Removes the expired suppression file.

Dependency security

Updates npm and Yarn locks to brace-expansion 1.1.21 and 2.1.7, resolving
CVE-2026-102277 across every detected package root.

Symbol publishing

Disables unsupported GitHub source indexing while continuing to publish PDBs
to Azure Artifacts.

Test Plan

Focused package-source checks and clean/immutable installs pass. CI passes with
green SDL, Component Governance, and symbol publication tasks.

Microsoft Reviewers: Open in CodeFlow

@vmoroz
Vladimir Morozov (vmoroz) requested a review from a team as a code owner October 2, 2026 17:39
Copilot AI balanced review requested due to automatic review settings October 2, 2026 17:39
@vmoroz
Vladimir Morozov (vmoroz) enabled auto-merge (squash) October 2, 2026 17:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 2 Medium severity

Open (2)
What changed in this PR

Updates Azure DevOps SDL configuration and dependency locks to address Guardian ESLint exclusion handling, remove expired suppressions, mitigate a brace-expansion CVE, and adjust symbol publishing behavior for GitHub-hosted sources.

Changes:

  • Replaces Guardian ESLint signature suppressions with explicit exclusion patterns in CI and release pipelines; removes the expired .gdnsuppress file.
  • Updates multiple Yarn lockfiles to brace-expansion 1.1.21 / 2.1.7.
  • Disables source indexing in the symbol publishing step while continuing PDB publishing.
File Description
utils/​scripts/​hermes/​yarn.lock Bumps brace-expansion to 1.1.21 in this package root.
utils/​promise/​yarn.lock Bumps brace-expansion to 1.1.21 in this package root.
tools/​hermes-parser/​js/​yarn.lock Bumps brace-expansion to 1.1.21 and 2.1.7 in this package root.
API/​hermes/​cdp/​tools/​hermes-inspector-msggen/​yarn.lock Bumps brace-expansion to 1.1.21 in this package root.
.ado/​release-pipeline.yml Adds explicit ESLint exclusion patterns and removes Guardian suppression file usage.
.ado/​guardian/​sdl/​.gdnsuppress Removes an expired Guardian suppression file from the repo.
.ado/​build-template.yml Adds explicit ESLint exclusion patterns; disables source indexing for symbol publishing.
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .ado/build-template.yml Outdated
Comment thread .ado/release-pipeline.yml Outdated
- use the repository ignore file as the single exclusion source
- remove the checkout-folder-dependent pattern list
Copilot AI balanced review requested due to automatic review settings October 2, 2026 18:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 1 Low severity

Open (1)
Resolved since last review (2)
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

Comment thread .ado/build-template.yml Outdated
- centralize the exclusion file path and rationale
- reuse the shared variable in CI and release pipelines
Copilot AI balanced review requested due to automatic review settings October 2, 2026 19:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 1 Medium severity · 2 Low severity

Open (3)
Resolved since last review (1)
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

Comment thread .ado/eslint-exclusions.yml Outdated
Comment thread .ado/build-template.yml Outdated
Comment thread .ado/release-pipeline.yml Outdated
- use runtime variable references for task inputs
- normalize the shared ignore path separators
Copilot AI balanced review requested due to automatic review settings October 2, 2026 19:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: None

Resolved since last review (3)
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

@vmoroz

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
No pipelines were found matching this branch/path.

@vmoroz
Vladimir Morozov (vmoroz) requested a balanced review from Copilot October 2, 2026 20:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: None

Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Benchmark Results

Total benchmarks: 204

Inputs: baseline/baseline.json, bench_result.json

v8 (6176ms, 4863ms) -21.3%
v8 hermes (CI) hermes (CI)
v8-crypto 622.6ms 471.6ms
v8-deltablue 739.4ms 613.4ms
v8-raytrace 127.8ms 94.4ms
v8-regexp 593ms 477.4ms
v8-richards 937ms 713.4ms
v8-splay 225.2ms 187.4ms
v8-crypto (static) 452ms 344.6ms
v8-deltablue (static) 661.6ms 522ms
v8-raytrace (static) 91.8ms 74.2ms
v8-regexp (static) 749.2ms 597.4ms
v8-richards (static) 781.4ms 598.6ms
v8-splay (static) 195ms 168.6ms
test-suites (317886ms, 254938ms) -19.8%
test-suites hermes (CI) hermes (CI)
box2d 2949.8ms 1924.4ms
earley-boyer 2564.8ms 2018.4ms
navier-stokes 5743.8ms 3463.8ms
pdfjs 1038.2ms 741.6ms
gbemu 2296ms 1723.4ms
code-load 4472.8ms 3741ms
typescript 3381.8ms 2304.2ms
simpleSum 8855.4ms 4981.6ms
propAccess 2691.2ms 1707.6ms
allocObj 252ms 171.2ms
allocObjLit 6371.8ms 4984.8ms
allocNewObj 20053ms 15567.6ms
allocArray 249ms 173.6ms
allocNewArray 34956.8ms 28211.8ms
arrayRead 115.6ms 69.4ms
arrayReadByIndex 550ms 360.4ms
largeArrayRead 827.2ms 424.8ms
arrayWrite 261.8ms 200.6ms
largeArrayWrite 2218ms 1614.2ms
interp-dispatch 2880ms 1772.2ms
wb-perf 8327ms 8695ms
arrayReverse 40.6ms 32ms
arrayMap 1472.6ms 1409.4ms
arrayIndexOf 143.2ms 108.6ms
arrayLastIndexOf 148.6ms 117.6ms
arrayEvery 2308.8ms 2190.2ms
arraySome 2174.4ms 2268.2ms
arrayFill 2401.2ms 2007.6ms
arrayFilter 1866.4ms 1655.6ms
arrayFind 3207ms 2765.4ms
arrayFindIndex 3322ms 2842.2ms
arrayPop 1031.4ms 827.2ms
arrayReduce 1994.2ms 1988.4ms
arrayReduceRight 2075.8ms 1931.2ms
arrayShift 2065.8ms 1775.2ms
arrayUnshift 2109.4ms 1963.8ms
arrayIncludes 1216.6ms 944.2ms
arrayFrom 1102.8ms 916ms
arrayCopyWithin 1487ms 1402.2ms
stringFromCharCode 92.6ms 87.6ms
arraySlice 786.2ms 672.4ms
arraySplice 26.8ms 23.4ms
arrayOf 1048.8ms 816.2ms
stringCharAt 1346.6ms 1052.4ms
stringMatch 3192.4ms 2335.6ms
stringSearch 3508.2ms 2363ms
stringStartsWith 701ms 494.2ms
stringEndsWith 650.4ms 434.8ms
stringIncludes 1520.6ms 1512.8ms
stringIndexOf 1555.6ms 1881ms
stringLastIndexOf 1821.4ms 1440.8ms
stringSplit 822ms 639.4ms
stringSlice 490ms 407.6ms
stringPadStart 2910.8ms 2488ms
stringPadEnd 2910ms 2818.2ms
regExpMatch 1506.2ms 1415.4ms
regExpSearch 1227ms 1086.6ms
regExpToString 1204ms 852.2ms
stringReplace 1394.8ms 1431.4ms
regExpReplace 3309.2ms 687.8ms
regExpFlags 956.8ms 754ms
regExpSplit 1307.8ms 988.8ms
numberArrayReadWrite 2477.8ms 1901.2ms
protoCache 3594.6ms 2029.2ms
box2d (static) 1792.6ms 1356ms
earley-boyer (static) 1875.6ms 1456.8ms
navier-stokes (static) 3410.2ms 2734.2ms
pdfjs (static) 812.8ms 626ms
gbemu (static) 1797ms 1342.8ms
code-load (static) 4199.2ms 3334.2ms
typescript (static) 2685.6ms 2003.6ms
simpleSum (static) 936.2ms 851.8ms
propAccess (static) 2298ms 1814.8ms
allocObj (static) 0.2ms 0.2ms
allocObjLit (static) 4154.4ms 3363ms
allocNewObj (static) 15749.2ms 13781.4ms
allocArray (static) 0.6ms 0.6ms
allocNewArray (static) 28494.2ms 24520.4ms
arrayRead (static) 74.2ms 57.8ms
arrayReadByIndex (static) 453.2ms 387.2ms
largeArrayRead (static) 552.2ms 428.6ms
arrayWrite (static) 178.4ms 143.8ms
largeArrayWrite (static) 1568.6ms 1260.6ms
interp-dispatch (static) 1918.8ms 1593.6ms
wb-perf (static) 8991.2ms 7238.4ms
arrayReverse (static) 37ms 31.8ms
arrayMap (static) 1064.8ms 831.4ms
arrayIndexOf (static) 128.2ms 96.8ms
arrayLastIndexOf (static) 138.8ms 97.6ms
arrayEvery (static) 1397.6ms 1198.6ms
arraySome (static) 1406.6ms 1200.2ms
arrayFill (static) 1969.2ms 1604.2ms
arrayFilter (static) 1061ms 891ms
arrayFind (static) 2242.2ms 1940.2ms
arrayFindIndex (static) 2235.8ms 1953.4ms
arrayPop (static) 878ms 711.4ms
arrayReduce (static) 1311.8ms 1134.4ms
arrayReduceRight (static) 1322.6ms 1209ms
arrayShift (static) 1512ms 1221.4ms
arrayUnshift (static) 1568.2ms 1258.4ms
arrayIncludes (static) 963.4ms 761.8ms
arrayFrom (static) 1030.6ms 755.8ms
arrayCopyWithin (static) 1109.6ms 927.4ms
stringFromCharCode (static) 77ms 57.8ms
arraySlice (static) 571.6ms 465.8ms
arraySplice (static) 26ms 23ms
arrayOf (static) 868.8ms 628.2ms
stringCharAt (static) 1100.6ms 872.8ms
stringMatch (static) 2227.6ms 1783.8ms
stringSearch (static) 2219.2ms 1766.6ms
stringStartsWith (static) 494.2ms 390.8ms
stringEndsWith (static) 457.8ms 353.8ms
stringIncludes (static) 1437.4ms 1439ms
stringIndexOf (static) 1440.8ms 1231ms
stringLastIndexOf (static) 1956.6ms 1653.4ms
stringSplit (static) 651.2ms 504ms
stringSlice (static) 445.6ms 346.6ms
stringPadStart (static) 2294.4ms 1840.2ms
stringPadEnd (static) 2499.2ms 1831.2ms
regExpMatch (static) 1483.2ms 1047.2ms
regExpSearch (static) 1296.2ms 1054ms
regExpToString (static) 1326.6ms 979.4ms
stringReplace (static) 1455.6ms 1365ms
regExpReplace (static) 851.8ms 614ms
regExpFlags (static) 870.6ms 653ms
regExpSplit (static) 1200ms 821.2ms
numberArrayReadWrite (static) 2132.8ms 1638.6ms
protoCache (static) 3595.8ms 2846.2ms
micros (60876ms, 48472ms) -20.4%
micros hermes (CI) hermes (CI)
getNodeById.js 5273ms 4194.4ms
setInsert.js 2864.8ms 2240ms
stringify-number.js 1823.4ms 1501.2ms
typed-array-sort.js 22381ms 17666.2ms
getNodeById.js (static) 3941ms 3175.8ms
setInsert.js (static) 2517.6ms 1908.6ms
stringify-number.js (static) 1663.6ms 1212.8ms
typed-array-sort.js (static) 20411.4ms 16572.8ms
jit-benches (8563ms, 5483ms) -36.0%
jit-benches hermes (CI) hermes (CI)
idisp.js 2810.2ms 1790ms
idispn.js 3395.8ms 1808ms
idisp.js (static) 1906ms 1583.4ms
idispn.js (static) 450.8ms 301.4ms
many-subclasses (73437ms, 60988ms) -17.0%
many-subclasses hermes (CI) hermes (CI)
many.js 19104.8ms 15305.4ms
many-sh-1.js 7322.8ms 6304.8ms
many-sh-2.js 7329ms 6295.6ms
many-sh-3.js 7083.6ms 5918.8ms
many-sh-4.js 7235ms 5983.8ms
many.js (static) 15996ms 13551.6ms
many-sh-1.js (static) 2285.2ms 1822.8ms
many-sh-2.js (static) 2387ms 1999ms
many-sh-3.js (static) 2347.2ms 1907.6ms
many-sh-4.js (static) 2346ms 1898.6ms
map-objects (3627ms, 2773ms) -23.5%
map-objects hermes (CI) hermes (CI)
map-objects-untyped.js 1023.6ms 779.6ms
map-objects-typed.js 957.6ms 720.4ms
map-objects-untyped.js (static) 917.2ms 707.8ms
map-objects-typed.js (static) 728.8ms 565.2ms
map-strings (4335ms, 3203ms) -26.1%
map-strings hermes (CI) hermes (CI)
map-strings-untyped.js 1196.8ms 896.4ms
map-strings-typed.js 1139.2ms 822.6ms
map-strings-untyped.js (static) 1092.2ms 813.2ms
map-strings-typed.js (static) 906.8ms 670.4ms
nbody (3448ms, 2384ms) -30.9%
nbody hermes (CI) hermes (CI)
original/nbody.js 839.6ms 574.2ms
fully-typed/nbody.js 710ms 462.8ms
fully-typed/nbody.ts 865.2ms 547.4ms
original/nbody.js (static) 449.2ms 349ms
fully-typed/nbody.js (static) 135ms 98.8ms
fully-typed/nbody.ts (static) 449.2ms 351.4ms
string-switch (6503ms, 4550ms) -30.0%
string-switch (string-switch/plain) hermes (CI) hermes (CI)
bench.js 1316ms 1083.6ms
bench.js (static) 5187ms 3466.2ms
raytracer (5608ms, 4367ms) -22.1%
raytracer (raytracer/original) hermes (CI) hermes (CI)
bench-raytracer.js 1550.4ms 1203.6ms
raytracer.ts 1667.6ms 1253ms
bench-raytracer.js (static) 1198.4ms 953.8ms
raytracer.ts (static) 1191.8ms 956.4ms
MiniReact (30332ms, 22671ms) -25.3%
MiniReact hermes (CI) hermes (CI)
no-objects/out/simple-stripped.js 2239.2ms 1581.4ms
no-objects/out/simple-lowered.js 2270.8ms 1595ms
no-objects/out/music-stripped.js 42.6ms 34.4ms
no-objects/out/music-lowered.js 47.2ms 36.8ms
no-deps/stripped/MiniReact.js 5004ms 3844.2ms
no-deps/MiniReact.js 5256.2ms 3790ms
no-objects/out/simple.js 2260.4ms 1585.2ms
no-objects/out/music.js 45.6ms 35.6ms
no-objects/out/simple-stripped.js (static) 1725.2ms 1306.2ms
no-objects/out/simple-lowered.js (static) 1725.4ms 1329.6ms
no-objects/out/music-stripped.js (static) 18.8ms 15ms
no-objects/out/music-lowered.js (static) 19.4ms 16ms
no-deps/stripped/MiniReact.js (static) 4024.8ms 3113.8ms
no-deps/MiniReact.js (static) 3938.2ms 3082ms
no-objects/out/simple.js (static) 1695.2ms 1290.6ms
no-objects/out/music.js (static) 19ms 15.4ms
widgets (12934ms, 10205ms) -21.1%
widgets hermes (CI) hermes (CI)
simple-classes/widgets.js 1758.2ms 1317ms
original/es5/widgets.js 2798.8ms 2247.2ms
single-file/es5/widgets.js 2775.2ms 2253.2ms
simple-classes/widgets.js (static) 1012ms 788.2ms
original/es5/widgets.js (static) 2283.2ms 1816.2ms
single-file/es5/widgets.js (static) 2306.2ms 1783.6ms

@vmoroz

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
No pipelines were found matching this branch/path.

Copilot AI balanced review requested due to automatic review settings October 2, 2026 21:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 2 Medium severity

Open (2)
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

Comment thread .ado/build-template.yml Outdated
Comment thread .ado/release-pipeline.yml Outdated
- use native Windows separators for Guardian file paths
Copilot AI balanced review requested due to automatic review settings October 2, 2026 22:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 2 Medium severity

Open (2)
Resolved since last review (2)
Files not reviewed (5)
  • .ado/scripts/package-lock.json: Generated file
  • benchmarks/widgets/original/es5/package-lock.json: Generated file
  • benchmarks/widgets/single-file/es5/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

Comment thread .ado/build-template.yml
Comment thread .ado/release-pipeline.yml
@vmoroz
Vladimir Morozov (vmoroz) merged commit f3c8a3e into microsoft:main Oct 2, 2026
14 checks passed
@vmoroz
Vladimir Morozov (vmoroz) deleted the PR/fix-sdl-issues branch October 2, 2026 23:03
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.

3 participants