Skip to content

Specification: PUA Allowlisting with User Warnings#6293

Draft
denelon wants to merge 1 commit into
microsoft:masterfrom
denelon:spec/pua-allowlisting
Draft

Specification: PUA Allowlisting with User Warnings#6293
denelon wants to merge 1 commit into
microsoft:masterfrom
denelon:spec/pua-allowlisting

Conversation

@denelon

@denelon denelon commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

📖 Description

Specification for a tiered PUA classification system enabling legitimate software (RustDesk, Malwarebytes, etc.) to be published to winget-pkgs with governed allowlisting, client-side warnings, and Group Policy controls. Includes manifest schema extension, validation pipeline changes, and enterprise policy management.

Authored with GitHub Copilot assistance.

🔗 References

Related Issues:

🔍 Validation

Spec document — no code changes to validate.

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task
Microsoft Reviewers: Open in CodeFlow

Specification for a tiered PUA classification system enabling legitimate
software (RustDesk, Malwarebytes, etc.) to be published to winget-pkgs
with governed allowlisting, client warnings, and GPO controls.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| **Restricted** | Legitimate uses but elevated risk profile | Moderator review required | Strong warning + consent |
| **Blocked** | Confirmed unwanted/malicious | Rejected | N/A |

### Manifest Schema Extension (v1.29.0)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove version


### Allowlist Governance

Maintained as `policies/pua-allowlist.yaml` in `winget-pkgs`:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Clarify if this file is maintained by automation, or manually. What edit restrictions need to be placed on it at pkgs?

Comment on lines +134 to +137
#### `--silent`:

Warning suppressed entirely. Installation proceeds.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

--silent does not currently control any CLI behavior as far as I'm aware, it only uses the silent installer switches. Confirm if the two behaviors should be mixed

#### `--silent`:

Warning suppressed entirely. Installation proceeds.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missing --ignore-warnings

| `winget upgrade` | Show PUA warning if upgrading a PUA package |
| `winget show` | Display PUA classification in package details |
| `winget search` | `--include-security` shows PUA flag in results |
| `winget list` | `--include-security` shows PUA flag for installed PUA packages |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why not --details ?


### Schema Version

Requires manifest schema version 1.29.0 for the `PuaClassification` field.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove version information

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.

2 participants