AshwinNHacker/nyx-zeroday
GitHub: AshwinNHacker/nyx-zeroday
Nyx 是一个集持续 fuzzing、沙箱化恶意样本引爆、行为异常检测与自动虚拟补丁推送于一体的零日漏洞研究与防御平台。
Stars: 2 | Forks: 0
# Nyx — 零日漏洞检测与漏洞研究平台
Nyx 能够在攻击者之前发现你自己代码中的漏洞(持续 fuzzing),
捕获没有现有特征的攻击(行为异常检测),
安全地引爆可疑文件以观察其实际行为(隔离沙箱),并且——最重要的是——
在确认发现问题的瞬间,自动将虚拟补丁推送到你的防火墙。
这是防御性安全研究基础设施:对你的代码进行 fuzzing
以及对可疑文件进行沙箱隔离是标准的行业常规实践
(这与 Google 的 OSS-Fuzz 以及每个企业级恶意软件沙箱使用的模式相同),
而不是漏洞利用开发。
与 [Argus](../argus-soc)(检测)和
[Aegis](../aegis-firewall)(执行)天然搭配使用——Nyx 负责在第一时间发现零日漏洞,
并完成闭环将防御策略推送到防火墙。
## 为什么选择这套技术栈
每一项选择背后的完整理由请参见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md):
```
Fuzz target + harness C, libFuzzer/ASan — finds real memory-safety bugs
│
Fuzz orchestrator Go — dedups crashes, tracks findings
│
Sandbox agent Rust — safely detonates suspicious samples
Behavior monitor C, eBPF — traces syscalls the sample can't see or evade
│
Anomaly detector Python, Isolation Forest — flags novel behavior, no signature needed
│
Vulnerability intel Python + Neo4j — "what are we exposed to, right now"
│
Mitigation orchestrator Go — pushes a virtual patch the moment a finding is confirmed
│
Dashboard React + TypeScript — one console for all of it
```
由以下工具封装:Docker、Kubernetes(为沙箱工作负载配置 default-deny egress 和资源配额)、提供真正内核级隔离的 Firecracker microVMs、Terraform 以及 GitHub Actions CI——它实际上会构建 fuzzing harness,并在每次推送时确认它能发现真实的崩溃。
## 仓库结构
```
services/
fuzz-target-sample-c/ Toy vulnerable target + libFuzzer harness (teaching example)
fuzz-orchestrator-go/ Schedules fuzzing, dedups and tracks crashes
sandbox-agent-rust/ Detonates samples, reports behavior
behavior-monitor-c/ eBPF syscall tracing for the sandbox
anomaly-detector-python/ Unsupervised behavioral anomaly scoring
vuln-intel-service-python/ CVE ingestion + asset exposure graph queries
mitigation-orchestrator-go/ Pushes virtual patches to the enforcement layer
dashboard/ Researcher console (React + TypeScript)
db/
postgres/ Campaign/finding metadata
neo4j/ Asset/CVE risk graph schema
opensearch/ Detonation history search index
infra/
firecracker/ MicroVM sandbox isolation notes
k8s/ Namespace, resource quota, default-deny network policy
terraform/ AWS sandbox cluster + GCP vuln-intel infra stubs
docs/
ARCHITECTURE.md Full design rationale
```
## 本地运行
```
docker compose up --build
```
直接尝试异常检测器:
```
curl -X POST http://localhost:8700/analyze \
-H "Content-Type: application/json" \
-d '{"syscall_rate":400,"distinct_child_processes":12,"outbound_connection_attempts":5,"file_writes":80,"avg_file_write_size_kb":900,"process_lifetime_seconds":0.2}'
```
观察 fuzzer 发现真实的崩溃:
```
cd services/fuzz-target-sample-c
make run
```
Dashboard:`http://localhost:3100`。Neo4j 浏览器:`http://localhost:7474`。
## 状态
脚手架:Python 异常检测器和 React dashboard 已经构建并在本地验证通过(模型能够训练,能正确区分正常与异常行为;dashboard 通过了其单元测试并为生产环境进行了干净的构建)。C 语言的 fuzzing harness 和 target 是一套真实可用的 libFuzzer 配置——请在安装了 clang 的机器上通过 `make run` 验证它是否能发现崩溃。Go、Rust 和 eBPF probe 是完整且符合语言规范的入门级实现,并未在此环境中验证构建;在依赖它们之前,请使用你本地的工具链进行测试。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:Docker镜像, Go, Python, Ruby工具, Rust, 可视化界面, 子域名突变, 异常检测, 无后门, 日志审计, 沙箱逃逸, 测试用例, 网络流量审计, 自动修复, 请求拦截, 逆向工具