KRYPTON0078/ros-cyber
GitHub: KRYPTON0078/ros-cyber
面向 ROS2 机器人生态的生产级信息物理安全平台,通过策略门控、实时威胁检测与 SOC 监控保障机器人车队的运行安全。
Stars: 1 | Forks: 0
# ROS Cyber
[](https://github.com/KRYPTON0078/ros-cyber/actions/workflows/ci.yml)
[](https://www.python.org/downloads/)
[](LICENSE)
[](tests/)
**生产级 ROS2 信息物理安全平台** — 策略门控机器人指令、实时威胁检测、攻击性安全实验室以及 SOC 仪表板。
## 功能
- **Policy Engine** — 基于 YAML 定义的规则对每个 `cmd_vel` 指令进行门控(速度限制、地理围栏、急停开关)
- **Detection Pipeline** — Redis Streams → 异步 worker → PostgreSQL 告警,并包含 MITRE ATT&CK + IEC 62443 映射
- **SOC 仪表板** — 实时 WebSocket 告警、车队 GPS 地图、审计日志、合规性面板
- **安全扫描器** — `roscyber scan` 检查 DDS 暴露情况、默认凭据、明文 API、SROS2 状态
- **攻击性实验室** — 隔离的漏洞 Docker 配置,包含 6 个已记录的渗透测试发现 + PoC 脚本
- **硬化配置** — 生产部署模板,包含 SROS2 指南和完整的修复方案
- **完整 SDLC** — 80% 测试覆盖率、CI/CD、ADR、威胁模型、结构化日志、Prometheus 指标
## 快速开始
### 选项 A — Docker(完整技术栈,推荐)
**需要安装并运行 [Docker Desktop for Windows](https://docs.docker.com/desktop/setup/install/windows-install/)**。
```
git clone https://github.com/KRYPTON0078/ros-cyber.git
cd ros-cyber
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -e ".[dev]"
.\scripts\docker-up.ps1
```
或者使用 Make(如果 Docker 在 PATH 中):`make docker-up`
### 选项 B — 无 Docker 的本地开发(Windows)
如果未安装 Docker,请使用 PowerShell 脚本:
```
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -e ".[dev]"
.\scripts\local-dev.ps1
```
这将在 8000–8002 端口上使用 SQLite 启动 Ingestion API、Policy Engine 和 SOC Dashboard。
## 演示凭据
| 用户 | 密码 | 角色 |
|------|----------|------|
| admin | admin123! | admin |
| operator | operator123! | operator |
## 架构
```
ROS2 Fleet → Ingestion API → Redis Streams → Detection Worker → Alerts → Dashboard
↓
Policy Engine → Audit Log (PostgreSQL)
↓
Approved Commands → Robot Motion
```
完整的 C4 图表请参见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。
## 攻击性实验室(仅限隔离测试)
```
# 警告: intentionally vulnerable — 仅限隔离网络
make docker-vuln
make demo-attack
```
发现详情记录在 [docs/PENTEST_REPORT.md](docs/PENTEST_REPORT.md) 中。
## 开发
```
pip install -e ".[dev]"
make test # pytest with 80% coverage gate
make lint # ruff + black + mypy
make scan # run security scanner
pre-commit install
```
## 项目结构
```
ros-cyber/
├── src/roscyber/ # Python platform (ingestion, policy, detection, dashboard, scanner)
├── ros2_ws/ # ROS2 fleet simulator + attack injector
├── policies/ # YAML command policies
├── labs/poc/ # Pentest proof-of-concept scripts
├── infra/ # Docker, Prometheus, Grafana configs
├── docs/ # Requirements, architecture, ADRs, threat model
└── tests/ # Unit, integration, e2e tests
```
## 文档
| 文档 | 描述 |
|----------|-------------|
| [REQUIREMENTS.md](docs/REQUIREMENTS.md) | 功能与非功能需求 |
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | 系统设计与数据流 |
| [THREAT_MODEL.md](docs/THREAT_MODEL.md) | STRIDE 分析 |
| [PENTEST_REPORT.md](docs/PENTEST_REPORT.md) | 6 个包含 CVSS 和 PoC 的发现 |
| [HARDENING_GUIDE.md](docs/HARDENING_GUIDE.md) | SROS2、TLS、生产检查清单 |
## 许可证
MIT — 详见 [LICENSE](LICENSE)
## 安全
负责任的披露政策请参见 [SECURITY.md](SECURITY.md)。
# CI 触发器
标签:DevSecOps, Python, ROS2, StruQ, 上游代理, 插件系统, 搜索引擎查询, 无后门, 机器人安全, 测试用例, 物联网安全, 自定义请求头, 请求拦截, 逆向工具