NetLogic 是一款先进的网络分析与网络安全工具包,用于流量检查、数据包分析和威胁检测。
云原生攻击面映射器与漏洞关联器 — v3.0
NetLogic 是一个网络安全平台,结合了主动端口扫描、CVE 关联(实时 NVD API)、SSL/TLS 分析、HTTP 安全审计、DNS/电子邮件安全评估、子域名接管检测、被动 OSINT、主动漏洞探测、AI 驱动推理引擎、跨主机攻击链发现以及深度探测代理架构——以 Web 应用形式交付(React 仪表盘 + FastAPI)。核心扫描引擎纯 Python 3.9+ 标准库实现,无第三方依赖。
| 模块 | 描述 |
|---|---|
| Port Scanner | TCP 连接扫描,支持 43/58 个端口、22 种服务探测、横幅抓取 |
| CVE Correlator | 实时 NVD API v2.0 + 通过 FIRST.org 的 EPSS 丰富 |
| TLS Analyzer | 协议版本、弱密码套件、POODLE/BEAST/CRIME/DROWN、证书过期 |
| HTTP Header Audit | HSTS、CSP、X-Frame-Options、CORS、Cookie 标志;0–100 分 |
| Stack Fingerprint | 从横幅/头部/正文检测 CMS、框架、云提供商、CDN、WAF |
| DNS Security | SPF、DKIM、DMARC、DNSSEC、区域传输、欺骗性评分 |
| Passive OSINT | 证书透明度日志、DoH DNS、ASN 查询——无直接目标接触 |
| Service Prober | 未认证 Redis/Mongo/ES/Docker/K8s/etcd 探测、33 个管理路径 |
| Takeover Detector | CT 日志子域名发现 + 25 个云提供商 CNAME 指纹 |
| Nuclei Integration | 13k+ 社区模板封装(CVE、技术、暴露、错误配置)— MIT 许可证 |
| Fusion Pipeline | 多传感器信号门 → 确定性共识 → AI 裁决 → 攻击图 → 6 部分报告 |
| Web Fingerprint | Favicon 哈希(兼容 Shodan 的 mmh3)、JS 密钥、版本标记、暴露文件、默认登录页检测 |
| AI Analysis | OpenAI / Anthropic / OpenRouter / Ollama / Gemini / Groq / Kimi / Qwen — 令牌流式 SSE |
| Reasoning Engine | 自适应观察→推理→行动循环,包含证据图、假设引擎、置信度衰减、溯源、调度器、剧本、变更检测、主动验证 |
| Deep Probe | 每服务代理架构:ScoutAgent(侦察)、ProbeAgent(定向 CVE 检查)、协调器、沙箱 |
| AI Investigation Agent | ReAct 风格循环:在基线传感器之后,AI 驱动精炼、范围受限、可审计的工具面(约 35 个工具)来验证线索并构建攻击链——并可选启用激进工具(崩溃探测、自由形式验证、自由形式利用)用于授权目标 |
| Verifier Engine | AI 驱动的 CVE 重新验证:从 CVE 上下文设计原始 HTTP 探测计划,通过标准库套接字执行 |
| Multi-Host Orchestration | 每主机完整扫描流水线 → 跨主机上下文与可达性矩阵 → 攻击链发现 |
| AI Sensor Directors | LLM 根据开放端口、技术栈和 CVE 决定优先使用哪些传感器 |
| Authenticated SSH | 带凭证的 ssh 子进程读取实际安装的软件包版本(60+ 产品映射) |
| Service Enum | 协议级属性提取(SSH KEX、SMBv1、RDP NLA、SNMP 团体、HTTP 认证状态) |
| Topology Mapper | 反向 DNS、IPv6、traceroute、通过 ip-api.com 获取 ASN/组织/国家 |
| Reachability Prober | 入侵后横向移动矩阵,基于子网邻接 |
| Network Prober | 主动子网扫描(/24 私有邻居),两阶段发现(活跃扫描 → 全端口扫描) |
| Scan Diff | 随时间变化:针对每个目标,将当前扫描与最近一次 JSON 报告进行差异比较 |
| License Management | 商业许可证系统,密钥激活(Stripe/Paddle/Lemon Squeezy 桩模块) |
| Per-Org AI Config | 每个组织通过 Fernet 存储其自己的 LLM 凭据,静态加密 |
| OIDC / Clerk | 通过 Clerk 发布的会话 JWT 进行人类登录,使用公共 JWKS 验证,并自动配置 |
| PostgreSQL | 完整多租户持久化,自动应用迁移(扫描任务、组织设置、推理状态、审计) |
| Fusion Benchmark | 离线基准测试,基于录制的 HTTP 磁带;精确率/召回率/关键召回率/误报减少指标 |
| 模式 | 命令 | 功能 |
|---|---|---|
| Web 应用 | netlogic --gui | 启动 FastAPI 并提供 React SPA + 进程内扫描代理,自动生成密钥,并在浏览器中打开仪表盘。这是运行 Web 应用的唯一方式。 |
| 命令行 | netlogic <target> [flags] | 一次性终端扫描(无服务器),打印/写入报告。 |
产品界面是 Web 应用(React 仪表盘 + FastAPI)。src/ 下的扫描引擎驱动从 UI 启动的任务。
pip install -r requirements-api.txt pip install -e .
netlogic --gui
netlogic scanme.nmap.org --full
---
## CLI 参考```
netlogic [target] [flags]
入口点是 api.cli:main(定义在 pyproject.toml 中),它将任务委托给 netlogic.py:main()。所有扫描逻辑都在 src/ 目录下。
| 格式 | 示例 | 模式 |
|---|---|---|
| 主机名 | example.com | 单主机扫描 |
| IPv4 | 10.0.0.5 | 单主机扫描 |
| CIDR | 192.168.1.0/24 | CIDR 段扫描(仅扫描器,无融合) |
| 逗号分隔 | target1,target2 | 多主机编排(跨主机上下文) |
netlogic example.com
netlogic example.com --full
netlogic example.com --tls --headers
netlogic example.com --takeover
netlogic example.com --osint
netlogic example.com --stack
netlogic example.com --dns
netlogic 10.0.0.5 --probe
netlogic example.com --full --probe
### 端口选择```
# Quick — 43 common ports (default)
netlogic example.com --ports quick
# Full — 58 extended ports
netlogic example.com --ports full
# Custom list
netlogic example.com --ports custom=22,80,443,8080,9200
netlogic example.com --ai --ai-key $KEY
netlogic example.com --ai --ai-provider openai --ai-key $KEY --ai-model gpt-4o-mini
netlogic example.com --ai --ai-provider anthropic --ai-key $KEY
netlogic example.com --ai --ai-provider gemini --ai-key $KEY --ai-model gemini-2.0-flash
netlogic example.com --ai --ai-provider ollama
netlogic example.com --ai --ai-provider custom --ai-base-url https://... --ai-model model-name
### 支持的AI提供商
| 提供商 | 默认模型 | API 风格 |
|---|---|---|
| `openrouter` | `anthropic/claude-sonnet-4` | OpenAI |
| `openai` | `gpt-4o-mini` | OpenAI |
| `anthropic` | `claude-3-5-sonnet-20241022` | Anthropic Messages |
| `kimi` (Moonshot) | `kimi-k2.6` | OpenAI |
| `qwen` (Alibaba) | `qwen-plus` | OpenAI |
| `groq` | `llama-3.3-70b-versatile` | OpenAI |
| `gemini` (Google) | `gemini-2.0-flash` | OpenAI |
| `ollama` | `llama3` | OpenAI |
| `custom` | 用户指定 | OpenAI |
### 推理引擎```
# Adaptive observe→reason→act loop (deterministic by default; AI-augmented with --ai)
netlogic example.com --reason
# Multi-host world modeling — discovers in-scope neighbours, reasons per host
netlogic example.com --reason --multi-host
# Change detection — diffs against prior saved report
netlogic example.com --since-last
# Active validation — confirms hypotheses with safe non-destructive GETs
netlogic example.com --reason --active-validate
# Deep probe — per-service agent architecture with context isolation
netlogic example.com --deep-probe
基线传感器运行后,一个可选的 ReAct 风格智能体让 AI 能够自行驱动其工具来验证线索并构建攻击链,而不是将版本/横幅 CVE 命中作为未经验证的线索搁置。AI 提出工具调用;确定性运行时执行它们——每个工具都限定范围于目标,经过清理,并作为观察记录。AI 从不直接接触网络。```
netlogic example.com --ai --ai-agent
netlogic example.com --ai --agent-depth --agent-max-steps 24 --agent-max-requests 80
该代理默认拥有约35个只读/安全活跃工具:HTTP/TLS/DNS 探测器、`dir_enum`、`confirm_tech`、
`timing_probe`、`cve_probe`(精选的已知 CVE 标记检查)、`sqli_boolean`/`sqli_time`、`ssrf_canary`、
`idor_diff`、`file_disclosure`、`browser_get`(无头模式,通过 JS 挑战),以及 HackerOne 记账功能
(`record_poc`、`severity_suggest`、`submit_readiness`)。
**选择加入的攻击性工具** — 默认关闭,**仅限授权/拥有范围内的目标**(绝不用于公开或陌生人扫描)。每个都需要 `--ai-agent`:
| 标志 | 工具 | 解锁内容 | 保留限制 |
|---|---|---|---|
| `--allow-crash-probes` | `crash_probe` | 精选的崩溃/DoS CVE 检查(http.sys、MS15-034),可能导致主机崩溃 | 固定的 3-CVE 目录 — 非自由格式 |
| `--allow-freeform-proof` | `http_proof` | C 级:自由格式的 GET/HEAD/OPTIONS(+ 对搜索/登录/类 GraphQL 路径的 POST) | 破坏性模式 + PUT/PATCH/DELETE 被阻止;证明,而非修改 |
| `--allow-exploit-requests` | `exploit_request` | E 级:**任意方法**(包括 PUT/PATCH/DELETE)+ 针对目标的任意路径/标头/主体 | 作用域限制;在大量破坏性模式(DROP/TRUNCATE TABLE、`rm -rf`)和 CR/LF 标头注入上失败关闭;每个请求均被审计 |
确定性的 ActionGate 将核心保持在 `safe_active`;这三个标志是其上的明确、经审计的选择加入。示例(拥有实验室箱子 + 本地模型):```
netlogic YOUR_LAB_HOST --full --ai --ai-agent --agent-depth \
--allow-crash-probes --allow-exploit-requests \
--ai-provider ollama --ai-model gemma4:31b-cloud \
--ai-base-url http://localhost:11434/v1 --ai-key ollama
netlogic example.com --ssh-user admin --ssh-key ~/.ssh/id_rsa
netlogic example.com --ssh-user admin --ssh-pass SECRET