Integrate dnceng TSA work items into security audits - #4785
mattleibow wants to merge 3 commits into
Conversation
📦 Try the packages from this PRWarning Do not run these scripts without first reviewing the code in this PR. Step 1 — Download the packages bash / macOS / Linux: curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 4785PowerShell / Windows: iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4785"Step 2 — Add the local NuGet source dotnet nuget add source ~/.skiasharp/hives/pr-4785/packages --name skiasharp-pr-4785More options
Or download manually from Azure Pipelines — look for the Remove the source when you're done: dotnet nuget remove source skiasharp-pr-4785 |
📊 SkiaSharp benchmarks — PR #4785⭐ this PR (full source build) vs 🌙 nightly · Linux · Windows · macOS
Highlights⏱️ Time — 🔴 14 slower · 🟢 49 faster
Full per-OS benchmark deltasLinux⏱️ Time (vs 🌙 nightly
Windows⏱️ Time (vs 🌙 nightly
macOS⏱️ Time (vs 🌙 nightly
|
📦 Artifact size reportPackages from this PR (build Total Packages
+39 package(s) unchanged (< 50.0 KB). Per-file changes
|
| File | Size |
|---|---|
runtimes/win-arm64/native/libGLESv2.pdb |
64.5 MB → 64.4 MB (🟢 −112.0 KB) |
runtimes/win-x64/native/libGLESv2.pdb |
66.6 MB → 66.5 MB (🟢 −112.0 KB) |
runtimes/win-x86/native/libGLESv2.pdb |
67.3 MB → 67.2 MB (🟢 −96.0 KB) |
Informational only — this never blocks the PR. Native binaries are labelled by os/arch.
Query the existing SkiaSharp TSA codebase from DevDiv Azure Boards, retain active and resolved evidence, correlate records with audit findings and CG alerts, and render the complete results in JSON, HTML, and Markdown. Fail validation when TSA evidence is unavailable or incomplete. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep Component Governance and TSA evidence in their dedicated report panels instead of repeating them in the dependency overview or synthetic findings. Validate this separation so future audits preserve a single source of truth. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b64fc483-d1cd-4de8-9b09-69477710c3ee
Query the authoritative dnceng/internal TSA work items, hydrate complete evidence, and make successful empty results explicit while preserving fail-closed behavior. Strengthen occurrence grouping, correlation, validation, rendering, and focused test coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b64fc483-d1cd-4de8-9b09-69477710c3ee
80b29e0 to
71abfd5
Compare
Description
Extends the read-only
security-auditskill so every audit queries the existing TSA codebaseskiasharp.skiasharp_mainfrom its authoritative post-migration location:https://dev.azure.com/dnceng, projectinternal, areainternal\Dotnet-Core-Engineering, iterationinternal.The collector uses the narrow
TSA-skiasharp.skiasharp_maintag, hydrates complete Azure Boards records, preserves active and historical evidence, derives tool/rule/category and impacted-file metadata, and correlates records with security findings and Component Governance alerts without dropping unmatched items. Known terminal states are historical; unfamiliar or custom states remain actionable so the audit does not hide work.A genuine zero-row dnceng response is explicit successful evidence (
emptyResult: true). Authentication, WIQL, malformed-response, or incomplete-hydration failures remain errors, replace stale successful cache data, and fail semantic validation. Obsolete DevDiv history is not merged into the authoritative result. TSA remains retained legacy infrastructure; this PR does not migrate it to WiM.Component Governance and TSA each render once in a dedicated HTML/Markdown panel. The dependency overview contains only audited product dependencies, and validation rejects synthetic operational findings that would duplicate those panels.
Related issues
None.
Required skia PR
None.
Areas affected
binding/)externals/skia/src/c,include/c)Changes
None — security-audit tooling and reports only; no public API or application behavior changes.
Testing
python3 -m unittest discover -s .agents/skills/security-audit/tests -p 'test_*.py'— 11 tests passedemptyResult: trueNo CI pipelines were run or modified.
Checklist
Changesabove lists all public API and behavioral changes (None)