Skip to content

Raise template audit level to high and clean up GHSA suppressions#702

Closed
bryan-thompsoncodes wants to merge 3 commits intomainfrom
chore/raise-template-audit-level
Closed

Raise template audit level to high and clean up GHSA suppressions#702
bryan-thompsoncodes wants to merge 3 commits intomainfrom
chore/raise-template-audit-level

Conversation

@bryan-thompsoncodes
Copy link
Copy Markdown
Collaborator

@bryan-thompsoncodes bryan-thompsoncodes commented Apr 10, 2026

Summary

Changes proposed

Raises template CI audit level from default (moderate) to --audit-level=high, matching the website's existing policy. Removes 2 GHSA suppressions from the express-js template that fall below the new threshold. Documents the audit policy and quarterly review cadence in DEPENDENCY_MANAGEMENT.md.

The recent Dependabot PRs (#673, #679, #697) accumulated 21 GHSA audit exceptions across the template package.json files. Most are moderate/low severity transitive vulnerabilities deep in the TypeSpec, vitest, and express dependency trees that only upstream maintainers can fix. Suppressing each one individually doesn't scale — raising the audit level is the sustainable fix.

Context for reviewers

With --audit-level=high:

  • Moderate/low severity transitive vulns (picomatch ReDoS, ajv ReDoS, qs DoS, brace-expansion hang) no longer need suppression
  • High/critical transitive vulns that can't be resolved still get suppressed via ignoreGhsas
  • The open Dependabot PRs will need fewer audit exceptions after rebasing on this
File Change
ci-template-express-js.yml --audit-level=high added
ci-template-quickstart.yml --audit-level=high added
templates/express-js/package.json Removed GHSA-2g4f-4pwh-qvx6 (medium) and GHSA-w7fw-mjwx-w883 (low)
DEPENDENCY_MANAGEMENT.md New "Audit policy" section with review cadence

Verified by reviewing each GHSA severity against the GitHub Advisory Database. The 2 remaining express-js entries (GHSA-3ppc-4f35-3m26, GHSA-83g3-92jg-28cx) are both high severity.

Additional information

None.

…ssions

Template CI workflows now use --audit-level=high (matching the website's
existing policy) instead of the default moderate level. This eliminates
the need to suppress moderate/low severity transitive vulnerabilities
that only upstream maintainers can fix.

Removes GHSA-2g4f-4pwh-qvx6 (ajv, medium) and GHSA-w7fw-mjwx-w883 (qs,
low) from the express-js template's ignoreGhsas list since they fall
below the new threshold.

Adds an audit policy section to DEPENDENCY_MANAGEMENT.md documenting the
approach and a quarterly review cadence for remaining suppressions.
@github-actions github-actions bot added dependencies Pull requests that update a dependency file typescript Issue or PR related to TypeScript tooling labels Apr 10, 2026
The audit-level=high change exposed transitive vulnerabilities that were
always present but hadn't been audited recently. All are in upstream
dependency trees (TypeSpec compiler, vitest, express) that we cannot fix.

quickstart: 4 high-severity GHSAs (all via @typespec/compiler > tar, picomatch)
express-js: 13 high-severity GHSAs (via @typespec/compiler, vitest, express)
Documents each high-severity suppressed GHSA with severity, package,
issue description, dependency path, and remediation notes. Adds
//ignoreGhsas comment to both template package.json files pointing to
the registry. References AUDIT_EXCEPTIONS.md from DEPENDENCY_MANAGEMENT.md.
@bryan-thompsoncodes bryan-thompsoncodes requested review from jcrichlake and widal001 and removed request for widal001 April 10, 2026 16:00
@bryan-thompsoncodes bryan-thompsoncodes marked this pull request as ready for review April 10, 2026 16:00
@bryan-thompsoncodes
Copy link
Copy Markdown
Collaborator Author

Going a different route after discussing with team #703

@bryan-thompsoncodes bryan-thompsoncodes deleted the chore/raise-template-audit-level branch April 10, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file typescript Issue or PR related to TypeScript tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant