KRYPTON0078/ros-cyber

GitHub: KRYPTON0078/ros-cyber

面向 ROS2 机器人生态的生产级信息物理安全平台,通过策略门控、实时威胁检测与 SOC 监控保障机器人车队的运行安全。

Stars: 1 | Forks: 0

# ROS Cyber [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/KRYPTON0078/ros-cyber/actions/workflows/ci.yml) [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Coverage](https://img.shields.io/badge/coverage-80%25+-green.svg)](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, 上游代理, 插件系统, 搜索引擎查询, 无后门, 机器人安全, 测试用例, 物联网安全, 自定义请求头, 请求拦截, 逆向工具