New in EE 2.0.0 — Node.js 24, the resolved-address pin, the drift file and its notification, an AI payload with no AWS account ID; paired with Community 1.0.0 →

Security Intelligence
Without Data Exposure.

Audit-ready compliance evidence from one read-only scan — SOC 2, HIPAA, NIST CSF 2.0, PCI DSS v4.0.1, ISO/IEC 27001:2022, CIS Controls v8, GDPR Article 32, and NIST SP 800-171 Rev 2, mapped from a single pass across AWS, Azure and GCP. 56 plugins, built on an open-source core. Runs entirely on your infrastructure — zero data exfiltration by architecture. Now every one-shot Enterprise compliance scan writes what changed since the previous one — and can notify your webhook, Slack or Teams when a control goes to fail or loses measurement.

nsauditor-ai — scan
$ nsauditor-ai scan --host aws --plugins all --compliance soc2,hipaa,nist-csf,pci-dss,iso-27001,cis-v8,gdpr,nist-800-171
✓ 56 plugins loaded (27 CE + 29 EE)
✓ Frameworks: SOC 2 · HIPAA §164.312 · NIST CSF 2.0 · PCI DSS v4.0.1 · ISO 27001:2022 · CIS Controls v8 · GDPR Art. 32 · NIST SP 800-171
✓ scan_compliance_soc2.{md,html,json} → 10/4/37
✓ scan_compliance_hipaa.{md,html,json} → 7/3/45
✓ scan_compliance_nist-csf.{md,html,json} → 13/10/83
✓ scan_compliance_pci-dss.{md,html,json} → 19/9/44 · 72 enumerated
✓ scan_compliance_iso-27001.{md,html,json} → 17/14/62
✓ scan_compliance_cis-v8.{md,html,json} → 17/23/113
✓ scan_compliance_gdpr.{md,html,json} → 4/5/2 Art.32 substrate
✓ Any cloud that could not be scanned is recorded as a fail-closed evidence gap — never as a pass
✓ Zero data exfiltration — no findings left your infra
# Audit a cloud account directly from Claude Desktop (MCP) — "audit my AWS account"
$ nsauditor-ai scan --host aws --env ~/envs/prod.env --compliance soc2
$ nsauditor-ai scan --host aws --aws-profile prod --compliance soc2
Get Started

The cloud-audit + compliance engine shown above is NSAuditor AI Enterprise · Community Edition is free forever, MIT licensed

What's Inside
🔒

Zero Data Exfiltration

Runs entirely on your machine. No cloud. No telemetry. License validation is offline. We can't see your data because we never touch it.

🎯

Risk-Scored Prioritization

Findings are risk-scored and ranked so you fix what matters first. Suppress accepted-risk or false-positive findings with the operator workflow — your triage decisions persist across scans.

🤖

AI-Powered Analysis

OpenAI, Claude, or Ollama (fully local). Compliance reports, remediation guidance, risk prioritization. Your API keys, your data.

📊

56 Scanner Plugins

27 CE plugins: Ports, SSH, HTTP, TLS, DNS, SNMP, SMB, RPC, mDNS, UPnP, and more. 29 EE plugins, of which 28 are cloud auditors: AWS S3, GCP, Azure, IAM Deep Auditor, CloudTrail, API Gateway, DynamoDB, KMS, Lambda, Secrets+SSM, CodePipeline, IAM Decrypt-Path, S3 Lifecycle, AWS Backup, RDS, SES, VPC/PrivateLink, EC2 SG, ElastiCache, Inspector2/GuardDuty, plus dedicated Azure Storage / NSG perimeter / Key Vault deep auditors, and more. The 29th, Zero Trust Assessment, is not a cloud auditor — it scores zero-trust posture from a network-host scan and calls no cloud API.

📋

Octa-Framework Compliance

SOC 2 (AICPA TSC 2017), HIPAA Security Rule §164.312, NIST CSF 2.0, PCI DSS v4.0.1, ISO/IEC 27001:2022, CIS Critical Security Controls v8, GDPR Article 32 (Security of Processing), and NIST SP 800-171 Rev 2 — all from one scan. Sub-requirement-level mapping for QSA RoC workflow. Customized Approach eligibility read from each requirement's own objective cell, identifiers derived from the standard. CHD Scope operator-attested. ISO 27001 Statement of Applicability discipline. CIS Implementation Group cumulative discipline (IG1 cyber-insurance baseline). GDPR Article 32 is an infrastructure substrate for Art. 32 only (4 covered + 5 partial + 2 OOS across 11 sub-measure units) — NOT GDPR compliance. Auditor-ready evidence packs with SHA-256 chain-of-custody. No BAA with Nsasoft required.

🔌

MCP Integration — free in Community

The MCP server ships free in the Community Edition — drive NSAuditor from Claude Desktop, Claude Code, Cursor, or any MCP-aware agent. Run nsauditor-ai mcp install-key and paste the mcpServers block it prints into your claude_desktop_config.json (it names node and the server script by absolute path), or in Claude Code: claude mcp add nsauditor-ai --env NSA_MCP_AUTH_KEY=<from: nsauditor-ai mcp install-key> -- nsauditor-ai-mcp. Then install the optional agent skill so the assistant knows NSAuditor's tools, schemas, and audit workflows — in Claude Desktop: Skills → Create skill → Upload a skill (upload SKILL.md). Then just ask: "audit my AWS account."

Latest Release — EE 2.0.0 · CE 1.0.0 · agent-skill 1.0.0 · 2026-10-15
📖

EE 2.0.0 — Node.js 24, the resolved-address pin, the drift file and its notification, an AI payload with no AWS account ID; paired with Community 1.0.0

Your compliance posture moves between audits — Enterprise 2.0.0 shows you what moved. Node.js 24 is the supported runtime. Every one-shot compliance scan writes what changed since the previous scan beside its pack — controls to fail or to pass, controls that lost measurement, violations new or cleared, and what could not be measured, never read as cleared — and can notify a webhook, Slack or Teams when a control goes to fail or loses measurement, when a new violation reaches a severity you set, or when the drift could not be compared. A scan connects only to the addresses its host check resolved (Community 1.0.0), the AI payload carries no AWS account ID, and plugin 040’s weak-key and weak-signature findings fail the certificate control in six of the eight frameworks. See Enterprise →

The drift file (Enterprise, one-shot compliance scan). scan_drift_<fw>.json sits beside each compliance pack. A violation is cleared only when this scan looked for it and it was gone; one whose scanner did not run or reported itself down, or whose port or region was not measured, is listed as could-not-measure with its reason. The notification is opt-in: --notify-webhook (public https only), --notify-format generic|slack|teams and --notify-severity send the drift when it crosses the trigger, and a drift that could not be compared with a previous run always notifies, but the first scan, with no previous run, is the baseline and sends nothing. The payload is minimal by default. CLI only — not --watch, not the MCP server. The resolved-address pin (Community 1.0.0): the host check resolves the target and checks every answer; the scan then connects only to those answers — on the CLI and through the MCP server, for the target and each redirect hop. An AI payload without AWS account IDs (Community 1.0.0): an account ID in an ARN or an AWS URL becomes [ACCOUNT_ID] everywhere it occurs, and any other 12-digit number [REDACTED_ID]; the system prompt is written beside the payload before the request, so the two files are what left the machine. Certificate strength in six frameworks (Enterprise compliance): plugin 040’s weak-key and weak-signature findings now fail the certificate control in SOC 2, HIPAA, NIST CSF 2.0, PCI DSS v4.0.1, ISO/IEC 27001:2022 and CIS v8; GDPR Article 32 and NIST SP 800-171 stay held for review. Fewer phantom services (Community 1.0.0): on TCP, a row from a port’s authoritative probe that did not identify its service is evidence with a reason, not a service row, so the CSV, SARIF, the Markdown report and the AI payload no longer list it.

Where it stops, stated: a notification retried after a timeout or a server error can arrive twice, and a hanging endpoint can cost about 32 seconds per framework. A scan that found its ports with the Nmap plugin (024) alone has no port oracle, so a violation on a port that scan did not measure can be listed as cleared; include the port scanner (003) in the scans you compare. The pin does not hold through an HTTP proxy set with NODE_USE_ENV_PROXY, which resolves the name itself, or over an idle connection opened earlier to the same name, for as long as the target keeps it open. UDP non-answers stay in the service list: a UDP silence is open-or-filtered, and the delta reads those rows. A probe with no adapter of its own can still list a port it did not identify, with a status other than open: on a router scan, the SUN RPC plugin listed port 111, which the port scanner had measured closed.

Upgrade both packages together: Enterprise 2.0.0 runs on Node.js 24 and requires Community 1.0.0 — npm i -g nsauditor-ai@1.0.0 @nsasoft/nsauditor-ai-ee@2.0.0. Enterprise 2.0.0 imports a name that first ships in Community 1.0.0; below it Enterprise’s core does not load while its plugins still do — on Community 0.2.57 as on 0.2.56 — so the scan skips its intelligence, analysis-agent and compliance stages: Community 0.2.56 and later name that on stderr, and 0.2.55 or older says nothing. Rotate a webhook URL a logged --watch run printed: --watch printed the full --webhook-url to stdout, and now prints the host. A weak certificate under a trusted CA now reads as the weak-key or weak-signature finding alone, not also as an untrusted chain; a weak certificate under an untrusted CA still reads untrusted. Compared across the upgrade, the phantom rows’ disappearance reads as not measured, never as fixed. Coverage: all eight coverage matrices unchanged since EE 1.3.0. 29 Enterprise auditors (28 cloud auditors + 1 non-cloud), 56 plugins overall; floor CE ≥ 1.0.0. Release notes live in the package CHANGELOG.md.

Viewing Scan Reports
out/<host>_<timestamp>/ — output files
scan_response_ai.html Styled AI report — CVE links, risk badges, remediation guidance
scan_conclusion_raw.html Full admin detail — interactive filters, all plugin findings unredacted
scan_intelligence.json CVE matches, MITRE ATT&CK mapping, risk scores (Pro)
scan_conclusion_raw.json Full machine-readable conclusion for automation
scan_response_ai.txt AI analysis as plain Markdown — paste into issues, Slack, chat
scan_compliance_soc2.{html,json,md} SOC 2 evidence pack — AICPA TSC 2017, SHA-256 chain-of-custody (EE)
scan_compliance_hipaa.{html,json,md} HIPAA §164.312 evidence pack — R/A discipline, no BAA with Nsasoft (EE)
scan_compliance_nist-csf.{html,json,md} NIST CSF 2.0 evidence pack — subcategory-level, SP 800-53 refs (EE)
scan_compliance_pci-dss.{html,json,md} PCI DSS v4.0.1 evidence pack — sub-requirement-level for QSA RoC, CHD Scope operator-attested, card-brand AOC enforcement view (EE)
scan_compliance_gdpr.{html,json,md} GDPR Article 32 evidence pack — Security-of-Processing infrastructure substrate (Art. 32 only, not GDPR compliance), 4 covered + 5 partial + 2 OOS across 11 sub-measure units (EE)
scan_drift_<fw>.json What changed since the previous compliance scan — controls to fail or to pass, controls that lost measurement, violations new or cleared, and what could not be measured, with its reason (EE)
Open reports in your browser
# macOS — open AI report open out/192.168.1.1_*/scan_response_ai.html # macOS — open full admin detail open out/192.168.1.1_*/scan_conclusion_raw.html # Linux xdg-open out/192.168.1.1_*/scan_response_ai.html # Custom output directory nsauditor-ai scan --host 10.0.0.1 --out ./reports open ./reports/10.0.0.1_*/scan_response_ai.html # Markdown report (paste-ready) nsauditor-ai scan --host 10.0.0.1 --output-format md
56
Scanner Plugins
8
Compliance Frameworks
MIT
Licensed
0
Data Collected
Three Editions
Community
Free
forever, MIT licensed
npm install -g nsauditor-ai
  • 27 scanner plugins
  • AI analysis (OpenAI, Claude, Ollama)
  • CTEM watch mode
  • SARIF + CSV export
  • MCP server (Claude Desktop / Code / Cursor)
Pro
$39/mo
billed $470/yr · save 20% vs monthly
Learn More & Subscribe →
  • CVE matching + MITRE
  • Parallel analysis agents
  • Finding queue + suppression workflow
  • Risk scoring
  • Exploit intelligence — CISA KEV + FIRST EPSS (stores you populate)
  • Send-ready reports — report --from <dir> --format executive → self-contained executive HTML, or --format jira → a Jira-importer CSV
  • Delta reports — what changed since the last scan, and a not-comparable list with the reason on every row
  • Intelligence-enriched AI reports