ugurcan-aytar/rampart
GitHub: ugurcan-aytar/rampart
云无关的供应链事件响应引擎,通过统一契约联动多消费者,解决受影响服务、归属与应对方案三大问题。
Stars: 0 | Forks: 0
# rampart
`rampart` 是一个用于 npm、pypi、cargo 和 Go 生态系统的供应链事件响应引擎。当一个包被攻破时,它回答三个关键问题:**哪些服务受到影响**、**谁拥有它们**,以及**应对方案是什么**。
完整的 README(包括 CLI、Backstage 插件、GitHub Action 和 Slack 通知器的安装说明)位于 Adım 9。以下部分是 Phase-1 骨架。
## 快速开始(默认:嵌入式 Go 解析器)
```
docker compose up -d
# engine listens on :8080 ; parser.strategy=go (no sidecar)
```
默认配置文件运行一个单容器(`engine`),使用
嵌入式 Go 锁文件解析器。没有 UDS 卷,没有额外进程,也没有
边车需要部署。这是大多数部署的推荐方式——基准数据在 [docs/benchmarks/sbom-parser.md](./docs/benchmarks/sbom-parser.md)
显示 Go 路径在 Phase 1 测量的每种锁文件大小上都占优。
## 实验性:Rust 解析器边车(可选)
`native` 配置文件切换到 `rampart-native`,一个独立的 Rust
进程,通过 Unix 域套接字解析锁文件。它**不是**
性能提升(基准测试显示 Go 在 10 万个包时仍快约 1.8 倍,即使使用了二进制信封优化)——它的价值在于
**防御性解析器隔离**:一个导致解析器崩溃或 OOM 的恶意锁文件只能使边车崩溃,之后引擎会记录警告并回退到 Go 解析器。
在摄取来自不受信来源的 SBOM 时启用它:
```
RAMPART_PARSER_STRATEGY=native docker compose --profile native up -d
# engine + rampart-native are both up; engine talks UDS to the sidecar
```
架构:[ADR-0005](./docs/decisions/0005-no-cgo-rust-via-uds.md)
记录了原始决策和基准测试驱动的最终决策(可选):
线协议:[schemas/native-ipc.md](./schemas/native-ipc.md)。
## 目录
- [ARCHITECTURE.md](./ARCHITECTURE.md) — 领域模型、状态机、存储设计
- [DEPS.md](./DEPS.md) — 每个运行时依赖项及其合理性
- [SECURITY.md](./SECURITY.md) — 威胁模型和负责任披露
- [CONTRIBUTING.md](./CONTRIBUTING.md) — 开发设置和提交规范
- [ROADMAP.md](./ROADMAP.md) — Phase 1 / 2 / 3 范围
- [schemas/openapi.yaml](./schemas/openapi.yaml) — API 契约(单一事实来源)
- [docs/decisions/](./docs/decisions/) — ADR 0001–0008
## 许可证
MIT。参见 [LICENSE](./LICENSE)。
标签:Backstage, cargo, CLI, EVTX分析, GitHub Action, Go, Go生态系统, NIDS, npm, OpenAPI, pypi, Ruby工具, Rust, SBOM, sidecar, Slack通知, Unix Domain Socket, WiFi技术, 云无关, 包管理, 可视化界面, 容器化, 库, 应急响应, 日志审计, 硬件无关, 网络流量审计, 解析器隔离, 请求拦截, 跨云, 防御纵深