Skip to content

Security audit of native dependencies with skill optimization#3481

Closed
Copilot wants to merge 10 commits intomainfrom
copilot/perform-dependency-audit
Closed

Security audit of native dependencies with skill optimization#3481
Copilot wants to merge 10 commits intomainfrom
copilot/perform-dependency-audit

Conversation

Copy link
Contributor

Copilot AI commented Jan 31, 2026

Description of Change

Audited 10 native dependencies against 2025-2026 CVE databases. Corrected initial findings via authoritative sources (NVD, Red Hat). Optimized security-audit skill to prevent future misclassifications.

Findings:

Dependency Status Details
libpng 1.6.44 🔴 Critical 5 HIGH CVEs (buffer overflows) → Update to 1.6.54 required
freetype 2.13.3 🟡 Verify CVE-2025-27363 affects ≤2.13.0 only per NVD/Red Hat. Likely not vulnerable.
libwebp ✅ Resolved PR #3478 merged during audit. Now at 1.6.0.
harfbuzz 8.3.1 🟡 Update CVE-2026-22693/0943. PR #3232 available.
zlib ⚪ False positive CVE-2023-45853 affects MiniZip only (not compiled)
Others 🟢 Clean expat, brotli, libjpeg-turbo, dng_sdk

Corrections Made:

Initial assessment reported freetype CVE-2025-27363 as CRITICAL affecting 2.13.3 based on security blogs. NVD and Red Hat confirm vulnerability limited to ≤2.13.0. SkiaSharp's 2.13.3 not vulnerable.

Skill Optimization:

Restructured .github/skills/security-audit/ per skill-creator principles:

  • Moved examples from SKILL.md to checklist (SKILL.md: 183→127 lines, -31%)
  • Established source hierarchy: NVD/Red Hat → OpenCVE → blogs
  • Required checking closed PRs (last 30 days) to detect merged work
  • Eliminated duplication (~40% → 0%)
  • Progressive disclosure: Overview in SKILL.md, examples in checklist

Deliverables:

Audit reports:

  • SECURITY-AUDIT-2026-01-31.md - Full CVE analysis with risk assessments
  • SECURITY-AUDIT-SUMMARY.md - Executive summary with action items
  • AUDIT-CORRECTIONS-2026-01-31.md - Documents corrections with evidence tables

Skill improvements:

  • .github/skills/security-audit/SKILL.md - Workflow overview (optimized)
  • .github/skills/security-audit/references/best-practices-checklist.md - Execution checklist with examples
  • documentation/dependencies.md - Added security audit best practices

Bugs Fixed

None. Documentation only.

API Changes

None.

Behavioral Changes

None.

Required skia PR

None.

PR Checklist

  • Has tests (N/A - documentation only)
  • Rebased on top of main at time of PR
  • Merged related skia PRs (N/A)
  • Changes adhere to coding standard
  • Updated documentation
Original prompt

Can you do a dependency audit please.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits January 31, 2026 14:59
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Copilot AI changed the title [WIP] Conduct dependency audit for the project Comprehensive security audit of native dependencies (January 2026) Jan 31, 2026
Copilot AI requested a review from mattleibow January 31, 2026 15:00
Copilot AI and others added 2 commits January 31, 2026 15:51
… and libwebp resolution

Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Copilot AI changed the title Comprehensive security audit of native dependencies (January 2026) Security audit of native dependencies (January 2026) Jan 31, 2026
@mattleibow
Copy link
Contributor

@copilot please update the PR description too

Copy link
Contributor Author

Copilot AI commented Jan 31, 2026

@copilot please update the PR description too

Updated PR description to reflect the corrected findings:

Key changes:

  • 🔍 Clarified freetype CVE-2025-27363 affects ≤2.13.0 only (not 2.13.3) per NVD/Red Hat
  • ✅ Confirmed libwebp successfully updated to 1.6.0 during audit (PR Update libwebp to 1.6.0 #3478 merged)
  • 📊 Updated priority: Only 1 critical issue (libpng), down from initial 2
  • 📝 Added reference to new AUDIT-CORRECTIONS document

The PR description now accurately represents the final audit status with verified information from authoritative sources (NVD, Red Hat, OpenCVE).

@mattleibow
Copy link
Contributor

@copilot can you please see how you can update the skills and docs and instructions so you never make these mistakes. Then double check the changes.

…akes

- Add authoritative source hierarchy (NVD/Red Hat first, blogs second)
- Require checking recently closed PRs (last 30 days) to avoid missing work
- Correct example in SKILL.md about CVE-2025-27363
- Add lessons learned section documenting Jan 2026 audit mistakes
- Create comprehensive best-practices-checklist.md with step-by-step guidance
- Update dependencies.md with security audit best practices summary
- Document mistake patterns: trusting secondary sources, missing recent PRs, premature CRITICAL classification

Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 31, 2026

@copilot can you please see how you can update the skills and docs and instructions so you never make these mistakes. Then double check the changes.

Updated skills and documentation to prevent future mistakes (commit 5743f40):

Changes Made:

  1. .github/skills/security-audit/SKILL.md - Enhanced with:

    • Authoritative source hierarchy (NVD/Red Hat → OpenCVE → Blogs)
    • Requirement to check recently closed PRs (last 30 days)
    • Corrected CVE-2025-27363 example
    • New "Lessons Learned from Past Audits" section with DO/DON'T checklist
  2. .github/skills/security-audit/references/best-practices-checklist.md - NEW comprehensive checklist:

    • 3-tier source hierarchy (Primary/Secondary/Tertiary)
    • Step-by-step verification process
    • Common mistakes with examples from Jan 2026 audit
    • Quality assurance checks
  3. documentation/dependencies.md - Added security audit best practices section

Key Lessons Documented:

  • ✅ Always verify with NVD/Red Hat FIRST (not blogs)
  • ✅ Check closed PRs from last 30 days
  • ✅ Complete verification BEFORE assigning CRITICAL severity
  • ✅ Document corrections when initial findings change

These updates ensure future audits follow proper verification hierarchy and avoid the mistakes made in this audit.

Copilot AI changed the title Security audit of native dependencies (January 2026) Security audit of native dependencies (January 2026) + documentation improvements Jan 31, 2026
Copilot AI and others added 2 commits January 31, 2026 16:44
Per skill-creator validation:
- Remove duplicate content between SKILL.md and checklist
- Establish SKILL.md as single source of truth for rationale/examples
- Make checklist more actionable with cross-references
- Simplify best practices summary in SKILL.md (13 lines removed)
- Add clear signposting between files
- Improve progressive disclosure pattern

Changes:
- SKILL.md: Condensed best practices, added checklist reference
- best-practices-checklist.md: Removed duplicate explanations, added SKILL.md refs
- Validation: Passes quick_validate.py

Result: Clear separation - SKILL.md explains WHY, checklist shows HOW

Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Copilot AI changed the title Security audit of native dependencies (January 2026) + documentation improvements Security audit of native dependencies with skill optimization Jan 31, 2026
Copilot AI and others added 2 commits January 31, 2026 16:58
…cklist, focus SKILL.md on overview

Following skill-creator best practices and user feedback:

SKILL.md improvements (176→127 lines, -49 lines):
- Removed detailed examples from Steps 1, 3, 4
- Converted to concise overview with links to checklist
- Simplified "Lessons Learned" to brief bullet points
- Added clear signposting to checklist for details
- Focus on workflow overview, not execution details

Checklist improvements (218→190 lines, -28 lines):
- Consolidated examples from SKILL.md
- Removed duplicate Common Mistakes sections
- Kept CVE-2025-27363 case study in Step 3
- Added detailed mistake examples in one place
- Eliminated duplicate Steps 5-7

Result:
- Total reduction: 77 lines (-20%)
- Better progressive disclosure: Overview in SKILL.md, examples in checklist
- Clear separation: SKILL.md for workflow/principles, checklist for execution/examples
- Validation: Passes quick_validate.py

Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
@mattleibow mattleibow closed this Feb 3, 2026
@mattleibow mattleibow deleted the copilot/perform-dependency-audit branch February 3, 2026 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants