vyrox-security/vyrox-proxy
GitHub: vyrox-security/vyrox-proxy
一个用 Rust 编写的加固型 EDR 操作代理,通过 HMAC 签名验证、速率限制和只追加审计日志来安全地隔离和执行端点安全动作。
Stars: 7 | Forks: 0
# Vyrox Proxy





Vyrox Proxy 是 Vyrox 的包含执行边界,实现为一个小型 Rust 服务,它接收签名的操作请求,并仅在边界检查通过后调用 endpoint 安全 API。它作为一个独立的仓库存在,因为开源核心模型依赖于它:此代理采用 MIT 许可证,因此零信任模式下的 CISO 可以准确审计允许哪些代码来隔离主机、终止进程或在部署任何其他内容之前拦截哈希值。
网站:vyrox.dev(即将推出)
## 为什么存在此项目
代理是产生副作用的地方。系统的其余部分可能会错误地对警报进行分类并造成尴尬;而这个组件如果实现不佳,可能会中断生产工作负载。这就是为什么它与分类栈隔离,并在范围上有意保持狭窄的原因。
这里使用 Rust 是为了保证内存安全和可预测的 runtime 行为,因为这项服务在失败时应该安全关闭,而不是产生未知错误。请求认证使用 HMAC-SHA256,因此可以在 alpha 阶段验证调用方,而无需引入昂贵的密钥交换机制。
速率限制的存在是因为受损的凭据加上高度自动化是一个糟糕的组合。只追加的审计日志的存在是因为每个操作都应该是可归因、可审查的,并且在几个月后调查起来也是平淡无奇的。
## 架构
```
[Python backend]
|
| POST /execute + X-Vyrox-Signature
v
[HMAC verify] --fail--> [401]
|
v
[Rate limiter] --exceeded--> [429]
|
v
[Action dispatcher]
|\
| +--> [Audit log append]
|
+--> [DRY_RUN=true] -> [return executed,dry_run]
|
+--> [DRY_RUN=false] -> [EDR API call] -> [response]
```
## 快速开始
前置条件:
1. Rust 稳定版工具链
2. Docker 和 Docker Compose
3. 包含代理变量的本地 `.env` 文件
4. 使用 `vyrox-deploy` 中的 compose 文件启动本地栈。
```
# 从共享 compose file 启动 ingestion、worker、slack bot 和 proxy
docker compose -f ../vyrox-deploy/docker-compose.yml up -d
```
2. 在本地运行代理测试。
```
# 以单线程模式执行 Rust test suite 以进行确定性 IO 测试
cargo test -- --test-threads=1
```
3. 运行 lint 和格式检查。
```
# 强制要求零 clippy 警告并符合格式规范
cargo clippy -- -D warnings
cargo fmt -- --check
```
## 配置
| 变量 | 必需 | 默认值 | 描述 |
| --- | --- | --- | --- |
| VYROX_HMAC_SECRET | 是 | None | 共享的请求签名密钥 [secret] |
| DRY_RUN | 否 | true | 如果为 true,则记录操作并跳过实时的 EDR 调用 |
| AUDIT_LOG_PATH | 否 | ./audit.jsonl | 只追加的 JSONL 审计日志输出路径 |
## 许可证
MIT License
Copyright (c) 2026 Vyrox Security, Inc.
标签:API安全, EDR, HMAC验证, HTTP/HTTPS抓包, JSON输出, Mit许可证, Rust, 主机隔离, 内存安全, 可视化界面, 哈希阻断, 安全代理, 安全防护, 审计日志, 态势感知, 版权保护, 端点安全, 纵深防御, 网络安全, 网络流量审计, 脆弱性评估, 补丁管理, 请求响应过滤, 请求拦截, 进程终止, 进程隔离, 通知系统, 隐私保护, 零信任网络