返回首页

一周热榜

2作者: j-raghavan4 天前原帖
嗨,HN!<p>我开发了ChronoGuard,这是一个开源的零信任代理,提供网络强制授权用于浏览器自动化。<p>## 问题<p>如果您在大规模运行Playwright、Puppeteer或Selenium代理(CI/CD、K8s、虚拟机集群),您将面临两个挑战:<p><pre><code> 1. **访问控制**:如何确保代理仅访问经过批准的域名? 2. **审计性**:如何证明您的自动化在何时何地访问了外部资源? </code></pre> 传统方法(SDK限制、代码审查、监控)容易被绕过或缺乏时间证明。审计员和合规团队希望获得加密可验证、不可篡改的日志。<p>## 解决方案<p>ChronoGuard是一个强制性的前向代理,位于您的代理与互联网之间。每个请求都经过以下流程:<p><pre><code> 代理 → Envoy (mTLS) → OPA (策略检查) → 目标域名 ↓ 不可变审计日志(哈希链,时间序列) </code></pre> *关键特性:* - mTLS身份验证用于代理身份验证 - 带有时间窗口限制的域名白名单/黑名单 - 用于审计日志完整性的加密哈希链 - OPA集成以实现代码即策略 - 多租户隔离 - 96%以上的测试覆盖率<p>## 立即尝试<p>无需设置 - 只需点击: [![在Codespaces中打开](<a href="https://github.com/codespaces/badge.svg" rel="nofollow">https://github.com/codespaces/badge.svg</a>)](<a href="https://codespaces.new/j-raghavan/ChronoGuard?quickstart=1" rel="nofollow">https://codespaces.new/j-raghavan/ChronoGuard?quickstart=1</a>)<p>或者本地运行: ```bash git clone <a href="https://github.com/j-raghavan/chronoguard" rel="nofollow">https://github.com/j-raghavan/chronoguard</a> cd chronoguard .&#x2F;scripts&#x2F;generate_secrets.sh docker compose up -d ```<p><pre><code> 仪表板: http://localhost:3000 API文档: http://localhost:8000/docs </code></pre> 架构<p>采用领域驱动设计 + 清晰架构构建: - 6个服务:Envoy代理、OPA策略引擎、FastAPI后端、React仪表板、PostgreSQL+TimescaleDB、Redis - 技术栈:Python 3.11+、FastAPI、Envoy、Open Policy Agent、TimescaleDB - 部署:Docker Compose(MVP),Kubernetes就绪(路线图)<p>用例<p><pre><code> - 电子商务竞争情报 - 金融科技市场研究 - 医疗数据操作(符合HIPAA要求) - 具有审计要求的质量保证/测试提供商 - 任何有合规义务的组织运行浏览器代理 </code></pre> 接下来<p><pre><code> 这是v0.1.0的MVP。我希望获得关于以下方面的反馈: - 我未考虑的实际用例 - 与现有自动化堆栈的集成痛点 - 功能优先级(WebSocket流、gRPC、高级速率限制) </code></pre> 贡献<p><pre><code> 该项目遵循严格的质量标准(95%以上的测试覆盖率要求,DRY原则,mypy + ruff)。寻找对以下方面感兴趣的贡献者: - 安全测试和威胁建模 - Kubernetes/Helm部署 - 性能优化 - 客户端SDK(Python、JS、Go) GitHub: https://github.com/j-raghavan/ChronoGuard 许可证:Apache 2.0 </code></pre> 欢迎就架构、设计决策或路线图提出问题!<p>最诚挚的问候!