NSAuditor AI EE 0.5.3 — SES Auditor v3 Pins DKIM Keys to Catch Supply-Chain Attacks

What’s new: NSAuditor AI EE 0.5.3 ships SES Auditor v3 with DKIM public-key fingerprint pinning and an in-band DMARC alignment classifier. The pin-mode catches a class of attacks the v2 CNAME-chain validation alone can’t see — unauthorized rotation, supply-chain attacks, and DNS-layer key substitution. Ninth consecutive trio-publish (EE + CE 0.1.52 + agent-skill 0.1.19); EE plugin count unchanged at 20.

How DKIM pinning works

v2 verified that the DNS delegation chain was intact (the CNAME for <token>._domainkey.<domain> resolves to <token>.dkim.amazonses.com). v3 goes one layer deeper: it reads the TXT record at the resolved name, parses the RFC 6376 §3.6.1 tag-list, and SHA-256-fingerprints the base64-decoded public-key bytes. If the operator has pinned a baseline, MISMATCH is deterministic.

The R-CRITICAL fold

_stripControlChars silently truncated text at 256 chars — but real-world DKIM RSA-2048 keys produce TXT records ~360-700 chars long. Pre-fold this produced wrong SHA-256 fingerprints (false-CLEAN pin matches OR false-MISMATCH). Discovered by tests, not by reviewer. A new _stripControlCharsNoTruncate helper bypasses the cap at the cryptographic-data surface only.

What else

  • Short-key floor (≥128 bytes) catches p= empty + 1-byte substitution attacks.
  • Multiple-record detection routes to LOW + evidenceGap instead of silently parsing only the first record.
  • DMARC alignment classifier projects whether the identity’s actual config can ever satisfy adkim/aspf alignment.

Numbers

  • Plugin count UNCHANGED at 20
  • +61 new tests; EE full regression 4962/4962 across 778 suites
  • 49-session 100% green streak preserved
  • Ninth consecutive trio-publish

Install

npm install -g nsauditor-ai@0.1.52 @nsasoft/nsauditor-ai-ee@0.5.3
npm install nsauditor-ai-agent-skill@0.1.19

Sources