chore(deps): group all Dependabot security updates into a single PR#9240
Conversation
Addresses all open Dependabot alerts across the repo: - cli/azd/extensions/azure.ai.rle: bump golang.org/x/crypto 0.49.0 -> 0.52.0 and golang.org/x/net 0.52.0 -> 0.55.0 (alerts #456-#469). Note x/net requires 0.55.0 for full remediation of #456. - ext/vscode: js-yaml -> 4.3.0, brace-expansion -> 2.1.2 & 5.0.7 (alerts #539, #540, #541) - ext/azuredevops/setupAzd: adm-zip -> 0.6.0, azure-pipelines-task-lib -> 5.278.0, brace-expansion -> 1.1.16 & 2.1.2 (alerts #535, #537, #538) - cli/azd/test/eval: brace-expansion -> 1.1.16 (alert #536) Supersedes and consolidates #9093 and #9215. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2cef6dea-2ec8-4538-8e55-7a2b0dfa196c
🔗 Linked Issue RequiredThanks for the contribution! Please link a GitHub issue to this PR by adding |
|
Azure Pipelines: Successfully started running 4 pipeline(s). 18 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
Consolidates security dependency updates across the RLE extension, editor integrations, and evaluation tooling.
Changes:
- Updates vulnerable Go networking and cryptography modules.
- Patches vulnerable npm transitive dependencies.
- Upgrades Azure Pipelines task dependencies to patched releases.
Reviewed changes
Copilot reviewed 1 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
ext/vscode/package-lock.json |
Updates vulnerable npm dependencies. |
ext/azuredevops/setupAzd/package-lock.json |
Updates task-lib, adm-zip, and brace-expansion. |
cli/azd/test/eval/package-lock.json |
Patches brace-expansion. |
cli/azd/extensions/azure.ai.rle/go.mod |
Updates affected Go modules. |
cli/azd/extensions/azure.ai.rle/go.sum |
Records updated module checksums. |
Files not reviewed (3)
- cli/azd/test/eval/package-lock.json: Generated file
- ext/azuredevops/setupAzd/package-lock.json: Generated file
- ext/vscode/package-lock.json: Generated file
|
/check-enforcer override |
|
jongio
left a comment
There was a problem hiding this comment.
Verified every checksum in this PR against upstream sources: all five golang.org/x module hashes (crypto 0.52.0, net 0.55.0, sys 0.45.0, term 0.43.0, text 0.37.0) match sum.golang.org, and all npm integrity hashes (brace-expansion, adm-zip 0.6.0, azure-pipelines-task-lib 5.278.0, js-yaml 4.3.0) match the registry. The go.mod and go.sum are consistent, and the transitive sys/term/text bumps are what go mod tidy produces alongside the crypto/net updates.
|
/check-enforcer override |
Temporarily made the
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 6 changed files in this pull request and generated 1 comment.
Files not reviewed (3)
- cli/azd/test/eval/package-lock.json: Generated file
- ext/azuredevops/setupAzd/package-lock.json: Generated file
- ext/vscode/package-lock.json: Generated file
The azdo-extension pipeline currently fails on the self-hosted Linux and Windows agents because they cannot reach registry.npmjs.org (npm EPERM egress block); `npm i -g npm` fails before any dependency is resolved. Build Mac (hosted pool) and the vscode build (same self-hosted pool) are unaffected, confirming this is an agent egress issue, not a code problem. Make the npm-dependent steps (install, test, package) non-blocking for PR validation builds only (Build.Reason == PullRequest) so this gate does not block unrelated PRs such as the grouped Dependabot security update. Release and CD builds on main remain strict, so CodeQL and artifact generation are unaffected. Artifact staging is skipped on PR builds since the package step may not produce a VSIX while the egress issue persists. Tracking issue to fix the egress block and re-enable the gate: #9286 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2cef6dea-2ec8-4538-8e55-7a2b0dfa196c
0624696 to
0065ab8
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 6 changed files in this pull request and generated no new comments.
Files not reviewed (3)
- cli/azd/test/eval/package-lock.json: Generated file
- ext/azuredevops/setupAzd/package-lock.json: Generated file
- ext/vscode/package-lock.json: Generated file
Comments suppressed due to low confidence (3)
eng/pipelines/templates/jobs/azuredevops-build.yml:52
- [azd-code-reviewer] This also makes the unaffected hosted Mac install non-blocking. A real dependency or lockfile regression can therefore pass every PR even though Mac can reach npm. Scope the waiver to the affected Linux/Windows jobs so Mac remains a blocking validation.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
eng/pipelines/templates/jobs/azuredevops-build.yml:64
- [azd-code-reviewer] The healthy Mac job's tests are made non-blocking here too, so an actual compile or test regression is accepted after a successful install. Limit this exception to the affected self-hosted Linux/Windows jobs.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
eng/pipelines/templates/jobs/azuredevops-build.yml:73
- [azd-code-reviewer] This suppresses genuine packaging failures on the unaffected Mac job as well as the egress failures on self-hosted agents. Keep packaging blocking on Mac by scoping the waiver to Linux/Windows.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
jongio
left a comment
There was a problem hiding this comment.
Incremental re-review of the new CI commit on top of my earlier approval; the dependency updates are unchanged.
One item on the pipeline change, inline on eng/pipelines/templates/jobs/azuredevops-build.yml: the PR-build allow-failure guard also relaxes the hosted macOS leg, which the new comment notes is unaffected by the egress block. Since this PR bumps the setupAzd lockfile, macOS is the one leg validating those changes on PRs. Scoping the guard to parameters.OS keeps macOS strict while still unblocking the self-hosted agents. Non-blocking.
Add the azuredevops build/stage templates to the release-azuredevops pipeline PR and CI path filters so edits to the build job template are validated by the azdo-extension pipeline (previously only changes under ext/azuredevops or the root pipeline file triggered it). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2cef6dea-2ec8-4538-8e55-7a2b0dfa196c
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 7 changed files in this pull request and generated no new comments.
Files not reviewed (3)
- cli/azd/test/eval/package-lock.json: Generated file
- ext/azuredevops/setupAzd/package-lock.json: Generated file
- ext/vscode/package-lock.json: Generated file
Comments suppressed due to low confidence (1)
eng/pipelines/templates/jobs/azuredevops-build.yml:52
- [azd-code-reviewer] This also makes the healthy Mac job non-blocking: every matrix entry has
Build.Reason == PullRequest, while the comment says only the self-hosted Linux/Windows agents are affected. A real macOS install, test, or packaging regression can therefore pass validation. Restrict this guard—and the matching guards below—to PR builds on the affected matrix entries, leaving Mac strict.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
jongio
left a comment
There was a problem hiding this comment.
One open item from my earlier note still stands after the latest push. The continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }} guard on the install, test, and package steps keys only off Build.Reason, so it also relaxes the hosted macOS leg. The comment right above these steps says macOS is unaffected by the npm egress block, so that's the one leg still doing real validation on PRs, and a genuine macOS build, test, or package regression would soft-pass every PR job. If you want to keep macOS blocking while still unblocking the self-hosted Linux and Windows agents, gate on the OS too, for example continueOnError: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), ne(parameters.OS, 'macOS')) }} on those three steps. If you'd rather make the whole azdo-extension gate advisory on PRs until #9286 is fixed, that's a fair call; I just wanted the tradeoff explicit.
Now that the BuildAndTest stage completes with issues (instead of hard failing) on PR validation builds while the self-hosted agent npm egress issue persists (#9286), the Sign stage began running on PRs and failed because no vsix artifact is produced on PR builds. Signing is never performed for PR builds, so gate the whole Sign stage to release/CI/manual build reasons. Also add the sign/publish stage templates to the pipeline PR path filters so template changes are validated. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2cef6dea-2ec8-4538-8e55-7a2b0dfa196c
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 8 changed files in this pull request and generated 1 comment.
Files not reviewed (3)
- cli/azd/test/eval/package-lock.json: Generated file
- ext/azuredevops/setupAzd/package-lock.json: Generated file
- ext/vscode/package-lock.json: Generated file
Comments suppressed due to low confidence (3)
eng/pipelines/templates/jobs/azuredevops-build.yml:52
- [azd-code-reviewer] This job template also instantiates the unaffected hosted Mac job, so this makes Mac installation failures non-blocking even though issue #9286 only affects the self-hosted Windows/Linux agents. Scope the exception to those affected jobs so the healthy Mac install remains a required PR gate.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
eng/pipelines/templates/jobs/azuredevops-build.yml:64
- [azd-code-reviewer] This suppresses every test failure on every PR matrix job, including hosted Mac where issue #9286 does not occur. A genuine test regression can therefore pass PR validation; restrict the exception to the affected self-hosted jobs so the healthy Mac tests remain blocking.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
eng/pipelines/templates/jobs/azuredevops-build.yml:73
- [azd-code-reviewer] The hosted Mac job is unaffected by the egress incident, but this also ignores any packaging failure there. That removes the only working PR check for packaging regressions; limit the non-blocking behavior to the affected Windows/Linux jobs.
continueOnError: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
Update:
|
jongio
left a comment
There was a problem hiding this comment.
Incremental re-review of the new commit (6e2294f) on top of my earlier dependency and pipeline reviews.
Gating the Sign stage to IndividualCI/BatchedCI/Manual skips it on PR validation builds, where BuildAndTest now completes with issues and no vsix artifact is produced, so the unconditional DownloadPipelineArtifact in the Sign job would otherwise fail there. Release and CD builds on main still run Sign and produce signed artifacts, so the signing path isn't affected. PublishManual stays gated to the Manual reason and stays consistent when Sign is skipped. Adding the sign and publish-manual templates to the pipeline path filters matches the rest of the list.
The macOS continueOnError item from my earlier notes is unchanged and still non-blocking: those install, test, and package steps key only off Build.Reason, so the hosted macOS leg also soft-passes on PRs, but a real regression there is still caught on the strict CD build.
VSCode Extension Installation Instructions
|
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
Summary
Consolidates all open Dependabot security alerts across the repository into a single PR, instead of multiple individual Dependabot PRs.
This supersedes and consolidates #9093 and #9215.
Alerts addressed (21 total)
cli/azd/extensions/azure.ai.rle/go.modgolang.org/x/crypto0.49.0→0.52.0cli/azd/extensions/azure.ai.rle/go.modgolang.org/x/net0.52.0→0.55.0ext/vscode/package-lock.jsonjs-yaml4.3.0ext/vscode/package-lock.jsonbrace-expansion2.1.2&5.0.7ext/azuredevops/setupAzd/package-lock.jsonadm-zip0.6.0ext/azuredevops/setupAzd/package-lock.jsonazure-pipelines-task-lib5.278.0ext/azuredevops/setupAzd/package-lock.jsonbrace-expansion1.1.16&2.1.2cli/azd/test/eval/package-lock.jsonbrace-expansion1.1.16Verification
go build ./...passes incli/azd/extensions/azure.ai.rlenpm auditreports 0 remaining relevant vulnerabilities in each npm project (the 4 low-severityjsdiff/mochadev findings inext/vscodeare not part of the Dependabot alert set and require breaking changes)Notes
npm audit fix --package-lock-only.go get+go mod tidy.