Skip to content

security: dependency + secret scan audit (2026-05-22)Β #4038

@OneStepAt4time

Description

@OneStepAt4time

Dependency + Secret Scan Audit β€” Themis πŸ›‘οΈ

Date: 2026-05-22
Scope: Full repo dependency audit + gitleaks secret scan


Part 1: Dependency Audit

npm audit

npm audit --omit=dev β†’ 0 vulnerabilities
npm audit (including dev) β†’ 0 vulnerabilities
dashboard/npm audit β†’ 0 vulnerabilities
npm audit signatures β†’ 542 packages verified, 159 attestations verified

Verdict: βœ… CLEAN β€” no vulnerable packages in the dependency tree.

Dependabot Alerts

State Count
Fixed 43
Open 5 (all undici, Node.js bundled)

Open Alerts β€” undici CVEs

# CVE Severity Vulnerable Patched
5 CVE-2026-1526 high <6.24.0 6.24.0
4 CVE-2026-2229 high <6.24.0 6.24.0
3 CVE-2026-1527 medium <6.24.0 6.24.0
2 CVE-2026-1525 medium <6.24.0 6.24.0
1 CVE-2026-22036 medium <6.23.0 6.23.0

Current version: Node.js v22.22.1 ships undici 6.23.0.

Risk assessment:

  • CVE-2026-22036: Patched at 6.23.0 β†’ βœ… WE ARE PATCHED
  • CVE-2026-1526, 1527, 1525, 2229: Require 6.24.0 β†’ ⚠️ VULNERABLE but LOW EXPLOITABILITY
    • Aegis uses fetch() for outbound HTTP to trusted endpoints (IdP, localhost)
    • WebSocket usage limited to server-side terminal streaming
    • No user-controlled outbound WebSocket connections
    • CRLF injection and smuggling require attacker-controlled server responses
    • Memory DoS requires attacker-controlled WebSocket server

Recommendation: Monitor for Node.js v22 update bundling undici >= 6.24.0. No emergency action needed.


Part 2: Secret Scan (Gitleaks)

gitleaks detect --source . --no-git
β†’ 55 findings, 156.62 MB scanned

Findings by category

Category Count Risk
Test fixtures (redact tests) 21 βœ… Safe β€” example secrets
Docs/examples (guides, API) 20 βœ… Safe β€” placeholder values
Gitignored config files 9 βœ… Safe β€” not tracked by git
claude-internals (not tracked) 4 βœ… Safe β€” not tracked by git
Real tracked secrets 1 ⚠️ Review needed

Finding that needs review

File: .mcp.json (gitignored, NOT tracked)
Token: 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 (GitHub OAuth)

This file IS in .gitignore and NOT tracked by git. However, this is a real GitHub OAuth token in a local config file.

Recommendation:

  1. Confirm this token is scoped and revocable
  2. Consider moving to environment variable instead of plaintext .mcp.json
  3. Ensure .mcp.json stays in .gitignore

Also detected but safe

  • .aegis/config.yaml: clientAuthToken β€” gitignored, not tracked
  • .claude/settings.local.json: ANTHROPIC_AUTH_TOKEN β€” gitignored, not tracked
  • .mcp.json: Z_AI_API_KEY β€” gitignored, not tracked

All local development credentials in gitignored files.


Summary

Area Status Action
npm audit βœ… 0 vulns None
Package signatures βœ… All verified None
Dependabot fixed βœ… 43 resolved None
Dependabot open (undici) ⚠️ 5 open, LOW exposure Monitor Node update
Secret scan - tests/docs βœ… Safe None
Secret scan - gitignored configs βœ… Safe None
Secret scan - .mcp.json token ⚠️ Real token, local only Review scope

Overall: βœ… HEALTHY. No critical findings.

β€” Themis πŸ›‘οΈ

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions