使用说明
🛡️ 渲染DevSecOps哨兵
PaaS环境中主动可观察性的参考实现。
此存储库实现了 哨兵特工 模式:一个短暂的、自动化的审计员,持续监控您的Render基础设施的安全威胁(凭据泄露)和系统不稳定(关键应用程序错误)。
📖 阅读研究文章: [链接到您的媒体文章]
🏗️ 建筑
与被动监控解决方案不同,此Sentinel Agent通过以下方式在外部运行 GitHub操作 cron作业,确保审计员在与被监控的基础设施分离的信任平面上运行。
核心能力
-
🕵️ 人类行为分析(审计日志):
- 发现 凭证过滤 (
ViewConnectionInfoEvent). - 发现 未经授权的SSH访问 (
StartShellEvent). - 发现 数据转储 (
DownloadDatabaseBackupEvent).
- 发现 凭证过滤 (
-
🔥 系统健康启发式(应用程序日志):
- 扫描运行时日志中的关键字,如
CRITICAL,Panic,或Exception. - 对不触发标准正常运行时间监视器的无声故障发出警报。
- 扫描运行时日志中的关键字,如
-
🤖 AI原生集成(MCP):
- 包含 模型上下文协议 配置。
- 允许AI助手(Claude、Cursor、Windsurf)与基础设施进行上下文交互。
🚀 快速开始
1.分叉和克隆
将此存储库分叉到您的GitHub帐户以启用Actions工作流。
2.配置机密
转到您的存储库 设置>秘密和变量>操作 并添加以下内容:
| 机密 | 描述 |
|---|---|
RENDER_API_KEY |
渲染API密钥(帐户设置)。 |
RENDER_WORKSPACE_ID |
您的工作区ID(在仪表板URL中找到)。 |
RENDER_SERVICE_ID |
您要监视的特定服务的ID(例如。, srv-xxxx). |
SLACK_WEBHOOK |
用于警报的Slack传入Webhook URL。 |
3.部署“受害者”API(可选)
此仓库包含一个示例FastAPI应用程序 src/ 以演示日志生成。
- 创建新的 网络服务 在与此仓库链接的Render中。
- 构建命令:
pip install -r requirements.txt - 启动命令:
uvicorn src.main:app --host 0.0.0.0 --port 10000
4.激活哨兵
代理程序计划每30分钟自动运行一次。立即进行测试:
- 去 行动 GitHub中的选项卡。
- 选择 🛡️ 哨兵主动观察员.
- 点击 运行工作流.
📂 项目结构
render-devsecops-starter/
├── .github/
│ ├── workflows/
│ │ └── security.yml # The Orchestrator (Cron Job)
│ └── scripts/
│ └── agent.py # The Brain (Heuristic Logic)
├── mcp/
│ └── config.json # AI Integration Config
├── src/ # Sample Application
│ ├── main.py
│ └── routes.py
└── requirements.txt
## 🤖 AI Integration (MCP)
This project supports the official **Render Hosted MCP Server**. This allows you to manage the infrastructure using natural language in Cursor or Claude while you develop.
**Setup for Cursor/Windsurf:**
1. Open your MCP settings (usually `~/.cursor/mcp.json` or via UI).
2. Add the Hosted Render configuration:
```json
{
"mcpServers": {
"render": {
"url": "[https://mcp.render.com/mcp](https://mcp.render.com/mcp)",
"headers": {
"Authorization": "Bearer YOUR_API_KEY_HERE"
}
}
}
}````
