Skip to content

Update Enable shell tasks arguments validation task list#14371

Open
wawanawna wants to merge 3 commits into
MicrosoftDocs:mainfrom
wawanawna:update-shell-tasks-validation-list
Open

Update Enable shell tasks arguments validation task list#14371
wawanawna wants to merge 3 commits into
MicrosoftDocs:mainfrom
wawanawna:update-shell-tasks-validation-list

Conversation

@wawanawna
Copy link
Copy Markdown

@wawanawna wawanawna commented May 12, 2026

Summary

Refreshes the Enable shell tasks arguments validation task list under Securely use pipeline variables and parameters.

The list was last updated in September 2023 (commit 6cab6dc by @merlynomsft) when the original sanitizer shipped for PowerShell, Bash, Ssh, AzureFileCopy, and WindowsMachineFileCopy. Since then the sanitizer was extended in microsoft/azure-pipelines-tasks to six additional task families but the docs were never updated:

  • PowerShellOnTargetMachines
  • SqlAzureDacpacDeployment
  • SqlDacpacDeploymentOnMachineGroup
  • AzureCLI
  • AzurePowerShell
  • ServiceFabricPowerShell

Changes

The six task family names above are appended to the existing bulleted list. No other changes, no version annotations, no implementation detail. Style matches the original 2023 entries.

The section was last refreshed in September 2023 (commit 6cab6dc) when the
original sanitizer shipped for PowerShell, Bash, Ssh, AzureFileCopy, and
WindowsMachineFileCopy. Four subsequent retrofit PRs in microsoft/azure-
pipelines-tasks added sanitization to additional task families but the docs
were never updated:

  - microsoft/azure-pipelines-tasks#21947 (2026-04-16): SqlAzureDacpacDeployment,
    SqlDacpacDeploymentOnMachineGroup
  - microsoft/azure-pipelines-tasks#21968 (2026-04-15): PowerShellOnTargetMachines
  - microsoft/azure-pipelines-tasks#22066 (2026-04-28): AzureCLI v2/v3
  - microsoft/azure-pipelines-tasks#22163 (in flight, MSRC 115118): AzurePowerShell
    v2-v5, ServiceFabricPowerShell v1

Also adds a note about the dual-gate model used by the post-2023 retrofits:
the org-level setting now requires a per-task pipeline-level feature flag
to be on as well, which Microsoft rolls out gradually to avoid regressing
pipelines that opted in early.

Task versions in the list reflect the actual on-disk task.json versions
in the azure-pipelines-tasks repo as of today.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Per review feedback - task version numbers and the internal per-task
feature-flag mechanism are Microsoft implementation details that don't
belong in the customer-facing docs. The page only needs the list of
task families that participate in the validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@v-regandowner
Copy link
Copy Markdown
Contributor

@ramiMSFT

Can you review the proposed changes?

IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Refreshes the documentation for the Enable shell tasks arguments validation setting in Azure Pipelines by updating the referenced task-family list to reflect the expanded sanitizer coverage.

Changes:

  • Updates ms.date to 05/12/2026.
  • Extends the bulleted list of task families covered by the setting to include six additional task families.
  • Normalizes minor list formatting (removes trailing whitespace on existing bullets).

Comment thread docs/pipelines/security/inputs.md Outdated
Comment on lines +122 to +124
Applying the **Enable shell tasks arguments validation** setting validates `argument` parameters for built-in shell tasks to check for inputs that can inject commands into scripts. The check ensures that the shell correctly executes characters like semicolons, quotes, and parentheses in the following pipeline tasks:

- PowerShell
- PowerShell
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Fixed in 68bc6e3 — changed argument to arguments (plural) on line 122 so it matches the surrounding text and the actual task input name.

Addresses PR review feedback: the surrounding text and the actual task
input are both named 'arguments', so the singular 'argument' on line 122
was an internal inconsistency. Now reads 'validates `arguments` parameters'
matching the previous sentence's `arguments` reference.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants