nsasoft/nsauditor-ai

GitHub: nsasoft/nsauditor-ai

一款基于 Node.js 的开源 AI 网络安全扫描器,旨在零数据外泄的前提下提供自动化漏洞发现、验证与跟踪。

Stars: 1 | Forks: 0

# NSAuditor AI **零数据暴露的安全智能。** 一个模块化的 AI 辅助网络安全审计平台,能够扫描、理解、优先级排序和跟踪漏洞——无需您的数据离开您的基础设施。 [![npm](https://img.shields.io/npm/v/nsauditor-ai.svg)](https://www.npmjs.com/package/nsauditor-ai) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Node.js 20+](https://img.shields.io/badge/node-20%2B-green.svg)](https://nodejs.org) [![Tests](https://img.shields.io/badge/tests-506%20passing-brightgreen.svg)](#tests) NSAuditor AI 是由 [Nsasoft US LLC](https://www.nsauditor.com/ai/>) 构建的隐私优先安全智能平台的开源核心。它协调 20 多个专用扫描插件对目标主机进行探测,通过智能结论融合器合并结果,并可选地生成 AI 驱动的漏洞报告——所有操作完全在您的机器上运行。 **设计上零数据外泄。** NSAuditor AI 完全离线工作。AI 分析、CVE 关联和持续监控全部在本地进行。外部调用(到 AI API、NVD 等)均为可选,并使用您自己的 API 密钥。我们永远不会看到您的扫描数据。 ## 功能 ``` Scan → Verify → Prioritize → Track → Act ``` - **26 个扫描插件** 探测 ICMP、TCP、UDP、HTTP、TLS、SNMP、DNS、SMB、RPC、mDNS、UPnP、WS-Discovery 等网络 - **智能结果融合** —— 结果融合器将所有插件输出合并为归一化视图,包含操作系统检测、服务指纹识别和证据关联 - **结构化发现格式** —— 所有发现使用统一模式(类别、严重性、证据、修复),支持一致的 SARIF 导出和 MCP 集成 - **AI 驱动分析** —— 将脱敏的扫描结果发送到 OpenAI 或 Claude(您选择密钥)进行漏洞评估和修复指导 - **已验证漏洞(专业版)** —— 安全、非破坏性探针确认发现为真实结果,而非仅基于版本匹配。若无法验证,则标记为“潜在”而非“确认” - **持续监控(CTEM)** —— 定时重扫、结果差异对比,并在变更时触发 Webhook 告警 - **MCP 集成** —— 通过模型上下文协议向 Claude Code 等 AI 助手暴露扫描工具 - **CI/CD 就绪** —— 提供 SARIF 输出和 `--fail-on` 严重性门控,支持流水线集成 ## 版本 NSAuditor AI 提供三个版本: | | 社区版(免费) | 专业版($49/月) | 企业版($2k+/年) | |---|:---:|:---:|:---:| | 26 个扫描插件 | ✅ | ✅ | ✅ | | AI 分析(OpenAI、Claude、Ollama) | ✅(基础提示) | ✅(增强提示) | ✅(增强提示) | | 结构化发现格式 | ✅ | ✅ | ✅ | | CTEM 监控模式 | ✅ | ✅ | ✅ | | SARIF + CSV 导出 | ✅ | ✅ | ✅ | | CVE 匹配 + MITRE ATT&CK | — | ✅ | ✅ | | 并行分析代理 | — | ✅ | ✅ | | 已验证漏洞(安全探针) | — | ✅ | ✅ | | 风险评分与优先级 | — | ✅ | ✅ | | 智能增强 AI 提示 | — | ✅ | ✅ | | 高级 CTEM + 趋势分析 | — | ✅ | ✅ | | 云扫描器(AWS/GCP/Azure) | — | — | ✅ | | 零信任评估 | — | — | ✅ | | 合规性(NIST/HIPAA/GDPR/PCI) | — | — | ✅ | | 每扫描 Docker 隔离 | — | — | ✅ | | 空气隔离部署 | — | — | ✅ | **本仓库为社区版本** —— 功能完整,采用 MIT 许可,无任何限制。专业版和企业版功能可通过 [`@nsasoft/nsauditor-ai-ee`](https://www.nsauditor.com/ai/pricing) 包获取。 → [开始 14 天专业版免费试用](https://www.nsauditor.com/ai/trial)(无需信用卡) ## 快速开始 ``` # 全局安装 npm install -g nsauditor-ai # 配置(可选 — 扫描完全可在无 AI 模式下离线运行) cat > .env << 'EOF' AI_ENABLED=true AI_PROVIDER=ollama # openai | claude | ollama OLLAMA_MODEL=llama3 # For local AI (no API key needed) # OPENAI_API_KEY=sk-... # 或使用 OpenAI # ANTHROPIC_API_KEY=sk-ant-... # 或使用 Claude OPENAI_REDACT=true EOF # 扫描主机(全部插件) nsauditor-ai scan --host 192.168.1.1 --plugins all # 并行扫描子网 nsauditor-ai scan --host 192.168.1.0/24 --plugins all --parallel 10 # 为 AI 助手启动 MCP 服务器 nsauditor-ai-mcp ``` 或者无需安装直接运行: ``` npx nsauditor-ai scan --host 192.168.1.1 --plugins all ``` 或者克隆并从源码运行: ``` git clone https://github.com/nsasoft/nsauditor-ai.git cd nsauditor-ai npm install node --env-file=.env cli.mjs scan --host 192.168.1.1 --plugins all ``` 结果输出至 `./out/_/`: | 文件 | 内容 | |---|---| | `scan_conclusion_raw.json` | 完整未脱敏结论(管理员参考) | | `scan_conclusion_raw.html` | 管理员 RAW HTML(含过滤器和完整详情) | | `scan_response_ai_payload.json` | 发送到 AI 的脱敏负载 | | `scan_response_ai.json` | 原始 AI API 响应 | | `scan_response_ai.txt` | AI 结论(Markdown) | | `scan_response_ai.html` | 带 CVE 链接和徽章的样式化 HTML 报告 | ## 插件 ### 核心扫描器 | ID | 名称 | 协议 | 用途 | |---|---|---|---| | 001 | Ping 检查器 | ICMP/ARP | 可达性 + 基于 TTL 的操作系统提示 | | 002 | SSH 扫描器 | TCP:22 | 横幅、版本指纹识别、超时策略 | | 003 | 端口扫描器 | TCP/UDP | 批量开放端口检测(为下游插件填充上下文) | | 004 | FTP 横幅检查 | TCP:21 | FTP 守护进程版本检测 | | 005 | 主机存活检查 | TCP/UDP | 多探针快速可达性确认 | | 006 | HTTP 探测 | TCP:80/443 | 头部、服务器令牌、厂商提示 | | 007 | SNMP 扫描器 | UDP:161 | sysDescr、OID、序列号/硬件/固件提取 | | 008 | 结果融合器 | 元 | 融合所有插件输出(始终最后运行) | | 009 | DNS 扫描器 | TCP/UDP:53 | `version.bind` CHAOS/TXT + A 记录查询 | | 010 | Web 应用检测器 | HTTP | 通过 wappalyzer 进行技术栈指纹识别 | | 011 | TLS 扫描器 | TCP:443+ | 每个端口的 TLS 版本与密码套件枚举 | | 012 | OpenSearch 扫描器 | HTTP:9200+ | OpenSearch/Dashboards 版本 + Linux/Node.js 提示 | | 013 | 操作系统检测器 | 元 | 从所有先前横幅及 TTL 回退推导发行版/操作系统 | | 014 | NetBIOS 扫描器 | UDP:137/TCP:445 | NetBIOS/SMB 枚举 + SMB2 空会话探测 | | 015 | SUN RPC 扫描器 | TCP/UDP:111 | RPC 端口映射服务发现(NFS、mountd) | | 016 | WS-Discovery | UDP:3702 | 多播设备发现与 XML 元数据解析 | | 024 | TCP SYN 扫描器 | TCP(Nmap) | 通过 Nmap 封装的 SYN 半开放扫描(可选) | | 040 | TLS 证书与密码审计器 | TCP:443+ | 证书过期、链完整性、主机名不匹配、弱密码、已弃用协议、密钥强度 | | 050 | TRIBE v2 神经 API 安全探针 | TCP/HTTP:8080 | 调试泄露检测、错误中的堆栈跟踪、头部安全性、CORS 误配置、未认证路由 | | 060 | DNS 安全审计器 | DNS/UDP:53 | SPF/DKIM/DMARC、悬空 CNAME、DNSSEC、NS 委托、区域传输暴露、MX 安全性、CAA 记录 | ### 发现插件 | 名称 | 用途 | |---|---| | ARP 扫描器 | MAC 解析 + OUI 厂商查找 + 操作系统提示 | | mDNS/Bon 扫描器 | 本地服务发现 + TXT 记录中的友好名称 | | UPnP/SSDP 扫描器 | 设备发现 + 描述 XML 解析 | | DNS-SD 扫描器 | DNS 服务发现公告 | | LLMNR 扫描器 | 链路本地多播名称解析 | | 数据库扫描器 | 数据库服务检测(MySQL、PostgreSQL、Redis 等) | ### 专业版/企业版插件(通过 @nsasoft/nsauditor-ai-ee) | ID | 名称 | 等级 | 用途 | |---|---|---|---| | 020 | AWS 云扫描器 | 企业 | 安全组 + IAM 策略分析 | | 021 | GCP 云扫描器 | 企业 | 防火墙规则 + IAM 绑定 | | 022 | Azure 云扫描器 | 企业 | NSG 规则 + RBAC 分析 | | 023 | 零信任检查器 | 企业 | 分段、加密、身份、横向移动评分 | ### 结果如何融合 结果融合器(插件 008)将所有插件输出合并为归一化结构: 1. **导入** 每个插件的 `conclude()` 适配器以获取归一化的 `ServiceRecord` 对象 2. **合并** 按 `(协议, 端口)` 合并服务,优先选择权威记录 3. **选择操作系统** —— 优先使用操作系统检测器结果,其次为高信号提示(Windows 服务、HTTP 令牌),最后使用 TTL 回退 4. **生成** 统一的 `{ summary, host, services, evidence }` 输出 5. **增强** 主机详情,添加来自 mDNS、UPnP、NetBIOS 的名称;MAC 和厂商信息来自 ARP ## AI 分析 NSAuditor AI 支持三种 AI 提供商进行漏洞分析。**所有提供者在所有层级(CE、专业版、企业版)均可用**。AI 是可选的;平台在不使用 AI 的情况下完全可用。 **提供者:** OpenAI(GPT-4o)、Anthropic Claude(Sonnet/Opus)、Ollama(完全本地) **各层级变化的是提示内容,而非提供者:** - **CE** — 基础扫描摘要提示(检测到的服务、端口、版本) - **专业版** — 增强提示(CVE 匹配、MITRE 技术、风险评分、验证状态注入提示)。相同的 API 调用,输出显著更优 - **企业版** — 专业版提示 + 合规上下文 **脱敏处理:** 在任何数据到达 AI API 之前,脱敏流水线会屏蔽 IP 地址、MAC 地址、序列号以及可配置的敏感关键词。管理员 RAW 报告保留完整细节供内部审查。 ``` # .env AI_PROVIDER=claude ANTHROPIC_API_KEY=sk-ant-... # Your key — never sent to Nsasoft ANTHROPIC_MODEL=claude-sonnet-4-20250514 OPENAI_PROMPT_MODE=optimized OPENAI_REDACT=true ``` 对于完全本地 AI(无需外部 API 调用),请使用 [Ollama](https://ollama.ai): ``` AI_PROVIDER=ollama OLLAMA_MODEL=llama3 ``` ## 持续监控(CTEM) 监控模式支持周期性重扫、差异检测和 Webhook 告警: ``` nsauditor-ai scan --host 192.168.1.0/24 --plugins all \ --watch --interval 15 \ --webhook-url https://hooks.example.com/security \ --alert-severity high ``` - **调度** — 可配置间隔和并发控制 - **差异检测** — 新、移除和变更的服务在周期之间高亮显示 - **Webhook 告警** — 带重试(指数退避,4xx 错误不重试)的 JSON POST - **SSRF 防护** — 私有、回路和云元数据地址在扫描入口点和 `sendWebhook()` 中被屏蔽。设置 `NSA_ALLOW_ALL_HOSTS=1` 可扫描 RFC 1918 范围(本地网络审计) - **扫描历史** 存储在 `.scan_history/`(JSONL 格式,CE 版本保留 7 天) ## MCP 服务器 通过 [模型上下文协议](https://modelcontextprotocol.io) 向 AI 助手暴露扫描能力: ``` nsauditor-ai-mcp # 或 npx nsauditor-ai-mcp ``` **CE 工具:** | 工具 | 用途 | |---|---| | `scan_host` | 使用插件选择对主机执行完整扫描 | | `list_plugins` | 列出可用的扫描器插件及其元数据 | **专业版工具**(需要许可证密钥和 `@nsasoft/nsauditor-ai-ee`): | 工具 | 用途 | |---|---| | `probe_service` | 深度扫描特定端口/服务 | | `get_vulnerabilities` | 按 CPE 字符串查询 CVE | | `risk_summary` | 基于上次扫描的优先级风险概览 | | `scan_compare` | 使用风险加权比较两个扫描结果 | | `save_finding` | 将已验证的发现保存到发现队列(经过模式检查) | **企业版工具**(需要企业许可证): | 工具 | 用途 | |---|---| | `start_assessment` | 多主机编排评估工作流 | | `prioritize_risks` | 跨主机风险优先级排序 | | `compliance_check` | 合规性映射与差距分析 | | `export_report` | 生成格式化的合规报告 | 所有主机输入均具备 SSRF 防护(屏蔽 RFC 1918、回路地址、fc00::/7、云元数据),端口校验(1–65535),CPE 格式强制约束,以及用于测试隔离的依赖注入。 ### Claude Desktop 设置 首先全局安装包: ``` npm install -g nsauditor-ai ``` 然后将其添加到 `claude_desktop_config.json`(设置 → 开发者 → 编辑配置): ``` { "mcpServers": { "nsauditor-ai": { "command": "node", "args": ["/path/to/global/node_modules/nsauditor-ai/mcp_server.mjs"], "env": { "AI_PROVIDER": "claude", "ANTHROPIC_API_KEY": "your-key-here", "NSA_ALLOW_ALL_HOSTS": "1", "PLUGIN_TIMEOUT_MS": "5000" } } } } ``` 使用 `npm root -g` 查找全局安装路径,然后追加 `/nsauditor-ai/mcp_server.mjs`。 - `NSA_ALLOW_ALL_HOSTS=1` — 扫描私有/RFC 1918 地址(如 `192.168.x.x`)所必需 - `PLUGIN_TIMEOUT_MS=5000` — 将每个插件超时缩短至 5 秒,使完整扫描在 Claude Desktop 的 60 秒 MCP 限制内完成 - `AI_PROVIDER` 和 API 密钥 — 可选,启用 AI 驱动的扫描结果分析 ### Claude Code 设置 ``` claude mcp add nsauditor-ai -- npx nsauditor-ai-mcp ``` ## 安全凭证存储 将 API 密钥存储在 macOS 钥匙串中,而非明文 `.env` 文件: ``` # 存储密钥 nsauditor-ai security set ANTHROPIC_API_KEY nsauditor-ai security set OPENAI_API_KEY # 列出已存储的密钥(脱敏) nsauditor-ai security list # 删除密钥 nsauditor-ai security delete OPENAI_API_KEY ``` 然后在 `.env` 或 Claude Desktop 配置中使用 `keychain:` 前缀引用: ``` ANTHROPIC_API_KEY=keychain:ANTHROPIC_API_KEY ``` ``` "env": { "ANTHROPIC_API_KEY": "keychain:ANTHROPIC_API_KEY" } ``` `keychain:` 前缀在任何读取 API 密钥的位置均有效 — CLI、MCP 服务器或程序化 API。## CLI 参考 ``` nsauditor-ai scan [options] ``` | 标志 | 描述 | 默认值 | |---|---|---| | `--host <目标>` | 目标:IP、主机名、CIDR、连字符范围。别名:`--ip`、`--target` | *必需* | | `--host-file <路径>` | 每行一个主机(支持 `#` 注释和空行)的文件 | — | | `--plugins <列表>` | 逗号分隔的插件 ID 或 `all` | `all` | | `--ports <列表>` | 逗号分隔的端口列表 | — | | `--out <目录>` | 自定义输出目录 | `out/` | | `--parallel ` | 并发主机扫描数 | `1` | | `--output-format <格式>` | 输出格式:`sarif` 用于 CI/CD | — | | `--fail-on <严重性>` | 发现严重性达到或超过指定级别时退出码为 2:`critical\|high\|medium\|low\|info` | — | | `--insecure-https` | 接受自签名 TLS 证书 | `false` | | `--watch` | 启用 CTEM 持续扫描 | `false` | | `--interval <分钟>` | 重扫间隔(需启用 `--watch`) | `60` | | `--webhook-url ` | Webhook URL,用于增量告警 | — | | `--alert-severity <严重性>` | 触发 Webhook 告警的最低严重性 | `high` | \* 必须提供 `--host` 或 `--host-file` 之一。 ### 主机格式 | 格式 | 示例 | 描述 | |---|---|---| | 单个 IP | `192.16.1.1` | 扫描单个主机 | | 主机名 | `example.com` | 通过 DNS 解析 | | CIDR | `192.168.1.0/24` | 所有可用主机(最小前缀:/16) | | 连字符范围(短) | `192.168.1.1-50` | 最后一段范围 | | 连字符范围(全) | `10.0.0.1-10.0.1.254` | IP 到 IP 范围(最多 65534) | | 主机文件 | `--host-file targets.txt` | 每行一个主机/CIDR/范围 | ### 示例 ``` # 全量扫描(启用自签名证书容差) nsauditor-ai scan --host 192.168.1.1 --plugins all --insecure-https # 并行子网扫描 nsauditor-ai scan --host 192.168.1.0/24 --plugins all --parallel 10 # 定向扫描:TLS + HTTP + DNS + 操作系统检测 nsauditor-ai scan --host 192.168.1.8 --plugins 011,006,009,013,008 # SARIF 输出用于 CI/CD,高危及以上发现项导致失败 nsauditor-ai scan --host 10.0.0.5 --plugins all --output-format sarif --fail-on high # 持续监控与 Webhook 告警 nsauditor-ai scan --host 192.168.1.0/24 --plugins all \ --watch --interval 30 \ --webhook-url https://hooks.example.com/alerts \ --alert-severity high # 从文件导入主机并并行执行 4 次扫描 nsauditor-ai scan --host-file targets.txt --plugins all --parallel 4 ``` ## 配置 ### 环境变量(.env) **AI 配置:** ``` AI_ENABLED=false # Set to true to enable AI analysis AI_PROVIDER=openai # openai | claude | ollama OPENAI_API_KEY=sk-... # Your OpenAI key OPENAI_MODEL=gpt-4o-mini ANTHROPIC_API_KEY=sk-ant-... # Your Claude key ANTHROPIC_MODEL=claude-sonnet-4-20250514 OPENAI_PROMPT_MODE=optimized # basic | pro | optimized OPENAI_REDACT=true # Redact before sending to AI CONFIDENTIAL_KEYWORDS=serial,password,token,secret ``` **插件特定配置:** ``` TLS_SCANNER_TIMEOUT_MS=8000 TLS_SCANNER_VERSIONS=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 TLS_SCANNER_PORTS=443:https,465:smtps,563:nntps,993:imaps,995:pop3s OPENSEARCH_SCANNER_TIMEOUT_MS=6000 OPENSEARCH_SCANNER_INSECURE_TLS=false DNS_TIMEOUT_MS=800 HTTP_PROBE_TIMEOUT_MS=6000 WEBAPP_DETECTOR_TIMEOUT_MS=6000 SMB_NULL_SESSION=false SMB_NULL_SESSION_TIMEOUT=5000 ENABLE_SYN_SCAN=false SYN_SCAN_PORTS= SYN_SCAN_TIMEOUT=30000 PING_FALLBACK=true PING_FALLBACK_TIMEOUT=2000 ``` **许可(专业版/企业版):** ``` NSAUDITOR_LICENSE_KEY=pro_eyJhbGci... # Pro or Enterprise license key NSAUDITOR_PLUGIN_PATH= # Additional plugin directories (colon-separated) ``` **安全覆盖:** ``` NSA_ALLOW_ALL_HOSTS=1 # Allow scanning private/RFC 1918 ranges (local network auditing) NSA_AI_TIMEOUT_MS=120000 # AI provider call timeout in ms (default: 120000 = 2 min) ``` **调试:** ``` NSA_VERBOSE=true # Verbose PluginManager logging DEBUG_MODE=true # Plugin-level debug output ``` ## 开发插件 NSAuditor AI 使用即插即用的插件系统。插件会自动从 `./plugins/` 发现——无需注册。 ### 插件接口 ``` // plugins/0xx_my_scanner.mjs export default { id: "0xx", name: "My Scanner", description: "What it probes", priority: 300, // Lower runs first; Concluder is 100000 protocols: ["tcp"], ports: [1234], requirements: { // All optional host: "up", // Skip if host unreachable tcp_open: [1234], // Skip if port not open }, // requiredCapabilities: ["enterprise"], // EE plugins only async run(host, port, opts = {}) { const { context } = opts; // Shared state + OUI helpers return { up: true, program: "my-service", version: "1.0.0", data: [{ probe_protocol: "tcp", probe_port: 1234, probe_info: "OK", response_banner: "my-service/1.0.0" }] }; }, // Adapter for Result Concluder conclude({ result, host }) { return [{ port: 1234, protocol: "tcp", service: "my-service", program: result.program, version: result.version, status: "open", info: null, banner: result.data?.[0]?.response_banner || null, source: "my-scanner", evidence: result.data || [], authoritative: true }]; }, authoritativePorts: new Set(["tcp:1234"]) }; ``` ### 插件提示 - 对所有网络调用使用基于环境的超时 - 在所有代码路径上使用小延迟后关闭套接字 - 保持 `probe_info` 和 `response_banner` 简洁——完整细节放入证据中 - 使用 `authoritativePorts` 为同一端口优先于其他插件 - 插件也可通过 `NSAUDITOR_PLUGIN_PATH` 从外部 npm 包加载 ## 专业版与企业版激活 购买后 [nsauditor.com/ai/pricing](https://www.nsauditor.com/ai/pricing),您将收到一封包含许可证密钥和 npm 安装命令的电子邮件。两个步骤: ``` # 1. 安装 EE 包(一次性,密钥包含在邮件中) npm install -g @nsasoft/nsauditor-ai-ee --//registry.npmjs.org/:_authToken=npm_xxxxx # 2. 设置您的许可证密钥 export NSAUDITOR_LICENSE_KEY=pro_eyJhbGci... ``` 验证: ``` nsauditor-ai license --status # ✓ Pro license active | Expires: 2027-04-04 nsauditor-ai license --capabilities # ✓ intelligenceEngine ✓ riskScoring ✓ proAI ✓ advancedCTEM ... ``` 许可证密钥通过 Stripe Webhook 自动交付——无需手动处理。订阅续订会生成新密钥并在当前密钥到期前通过电子邮件发送。 没有许可证密钥?本仓库中的所有功能均可完美使用,无需密钥。社区版本未被阉割——它是一个完整、生产就绪的安全扫描器。 → [定价](https://www.nsauditor.com/ai/pricing) · [开始免费试用](https://www.nsauditor.com/ai/trial) · [企业联系](https://www.nsauditor.com/ai/enterprise) ## 测试 运行全部 506 个测试: ``` npm test ``` 运行特定测试套件: ``` node --test tests/tls_scanner.test.mjs node --test tests/port_scanner.test.mjs node --test tests/result_concluder.test.mjs node --test tests/os_detector.test.mjs node --test tests/mcp_server.test.mjs node --test tests/attack_map.test.mjs ``` 测试使用 Node.js 内置的 `--test` 运行器和 `assert` 模块——无需外部测试框架。每个测试都是独立的,并带有内联固件和轻量级网络存根。 ## 故障排除 | 问题 | 解决方案 | |---|---| | 无 DNS 横幅 | 提供商可能屏蔽 CHAOS/TXT(`version.bind`)或 UDP/53 | | OpenSearch 通过自签名 TLS | 设置 `OPENSEARCH_SCANNER_INSECURE_TLS=true` | | TLS 显示“已关闭” | 服务可能需要 SNI —— 设置 `TLS_SCANNER_SNI=hostname` | | RPC 未检测到 | 确保 111 端口可访问且 RPC 端口映射器正在运行 | | WS-Discovery 超时 | 检查网络配置和防火墙是否允许 UDP 3702 多播 | | SYN 扫描需要 root | 使用 `sudo` 运行或改用 TCP 连接扫描器(插件 003) | | Webhook URL 被拒绝 | 私有/回路/云元数据被 SSRF 防护屏蔽。设置 `NSA_ALLOW_ALL_HOSTS=1` 以允许扫描 RFC 1918 范围(本地网络审计) | | EE 插件未加载 | 验证 `@nsasoft/nsauditor-ai-ee` 已安装且许可证密钥已设置 | ## 贡献 欢迎贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。 **快速版本:** 1. Fork 本仓库并创建功能分支 2. 在提交中添加 `Signed-off-by` 行(`git commit -s`) 3. 为任何新或变更的行为添加测试 4. 提交 PR **本仓库的所有贡献均遵循 MIT 许可。** 对于企业版贡献,请参阅 [`@nsasoft/nsauditor-ai-ee`](https://www.nsauditor.com/ai/enterprise) 仓库,该仓库需要签署 IP 分配协议。 **我们不会接受:** 拨打电话外部、传输扫描数据或削弱零数据外泄边界的代码。 ### 请求或贡献插件 请先检查 `./plugins/`。若插件不存在: - **请求它:** 在问题中打开范围、目标端口、协议和示例横幅 - **构建它:** 按照上述插件接口操作,包含测试并更新本 README 常见请求的插件:RDP、VNC、SMTP/POP3/IMAP、MySQL/PostgreSQL/MSSQL/MongoDB/Redis、LDAP、RabbitMQ/Kafka/MQTT、SIP、NTP、Modbus/S7/DNP3/BACnet、WordPress/Jenkins/GitLab 检测器。 ## 架构 完整的专业技术架构请参见 [ARCHITECTURE.md](docs/architecture.md)。 **技术栈:** Node.js 20+ · ES Modules (.mjs) · OpenAI + Anthropic SDK · Node.js 内置测试运行器 · MCP stdio 传输 **设计模式:** 工厂(PluginManager.create)· 策略(编排执行/遗留执行)· 上下文(共享状态)· 适配器(plugin conclude())· 守卫子句(需求门控)· 能力门控(CE/专业版/企业版)· 信号量(并发控制)· 差异(扫描历史差异)· 边界防护(SSRF/注入防护)· 查找队列(结构化中间格式)· 并行代理(并发专用分析)· 验证探针(安全非破坏性确认) ## 隐私与安全 NSAuditor AI 构建在 **零数据外泄(ZDE)** 架构之上: - **无遥测。** 无分析、无使用跟踪、无电话外联。 - **无数据处理。** Nsasoft US LLC 绝不会查看、存储或处理您的扫描结果。 - **AI 可选。** 外部 AI 调用使用您自己的 API 密钥。脱敏在本地先行运行。 - **许可验证离线。** JWT 签名在本地使用嵌入式公钥验证。 - **完全可空气隔离。** 每项功能均可在无互联网访问下运行(企业版包含离线 NVD 源)。 Nsasoft US LLC 不是数据处理器、数据控制者或任何数据保护法规下的业务关联方。您拥有并控制 NSAuditor AI 产生的所有数据。 ## 许可证 **MIT** —— 详见 [LICENSE](LICENSE) 全文。 © 2024-present Nsasoft US LLC。“NSAuditor”和“NSAuditor AI”是 Nsasoft US LLC 的商标。 通过 `@nsasoft/nsauditor-ai-ee` 提供的专业版和企业版功能受单独专有许可约束。详情请参见 [www.nsauditor.com/ai/pricing](https://www.nsauditor.com/ai/pricing)。
标签:AI安全, Chat Copilot, Cloudflare, CMS安全, CVE匹配, GNU通用公共许可证, JavaScript, Maven, MCP集成, MITRE ATT&CK, Node.js, npm, Red Team, SARIF导出, TypeScript, 云存储安全, 安全情报, 安全插件, 开源安全工具, 持续监控, 插件架构, 智能结论, 本地部署, 漏洞验证, 离线分析, 结构化查询, 结构化输出, 结果融合, 网络扫描, 网络防护, 自动化安全, 自定义脚本, 请求拦截, 逆向工程平台, 隐私安全, 零数据外泄