Tenable MCP(管理控制面板)
一个Spring Boot应用程序,为管理和可视化Tenable.io安全数据提供了一个全面的界面。
特性
- 配置管理
- 轻松配置Tenable.io API证书 - 支持自定义API端点 - 可配置的超时和重试策略
- 安全可视化
- 按严重程度划分的漏洞分布 - 资产脆弱性趋势 - 顶级脆弱资产分析 - 脆弱性年龄分布 - 修复进度跟踪 - 资产风险评分分布 - 漏洞类别分析
- 报告
- 全面的CSV导出 - 详细的安全态势摘要 - 可定制的时间范围过滤
先决条件
- Java 17或更高版本
- Gradle 7.x或更高版本(包含在项目中)
- Docker(可选,用于容器化部署)
- Tenable.io API证书
快速开始
- 克隆存储库:
git clone https://github.com/yourusername/tenablemcp.git
cd tenablemcp- 运行安装脚本:
chmod +x setup.sh
./setup.sh- 更新配置:
编辑 src/main/resources/application.yml 使用您的Tenable.io凭据:
tenable:
apiKey: "your-api-key"
accessKey: "your-access-key"
secretKey: "your-secret-key"
baseUrl: "https://cloud.tenable.com"- 运行应用程序:
./gradlew bootRun使用Docker运行
- 构建Docker镜像:
docker build -t tenable-mcp .- 运行容器:
docker run -p 8080:8080 tenable-mcpAPI终点
配置
GET /api/config
- 获取当前配置 - 响应:当前配置设置
POST /api/config
- 更新配置 - 正文:带配置参数的JSON - 例子:
{
"accessKey": "your-access-key",
"secretKey": "your-secret-key",
"baseUrl": "https://cloud.tenable.com"
}可视化
GET /api/v1/visualizations/report
- 获取全面的安全报告 - 查询参数: - startTime (可选):ISO-8601格式的开始时间 - endTime (可选):ISO-8601格式的结束时间 - 响应:JSON包含多个可视化
GET /api/v1/visualizations/export/vulnerabilities
- 将报告导出为CSV - 查询参数: - startTime (可选):ISO-8601格式的开始时间 - endTime (可选):ISO-8601格式的结束时间 - 响应:CSV文件下载
可视化类型
- 漏洞分布
- 按严重程度显示分布的饼图 - 颜色编码,便于解读
- 资产脆弱性趋势
- 显示漏洞随时间变化趋势的折线图 - 帮助跟踪安全态势的改进
- 最脆弱的资产
- 最脆弱资产柱状图 - 帮助确定补救工作的优先级
- 脆弱性年龄分布
- 显示漏洞年龄范围的饼图 - 帮助识别过时的漏洞
- 修复进度
- 显示固定漏洞与开放漏洞的圆环图 - 跟踪补救效果
- 资产风险评分分布
- 显示资产风险评分分布的柱状图 - 帮助识别高风险资产
发展
项目结构
src/main/kotlin/com/tenable/mcp/
├── config/ # Configuration classes
├── controller/ # REST controllers
├── service/ # Business logic
├── client/ # Tenable.io API client
└── model/ # Data models建筑
./gradlew clean build运行测试
./gradlew test贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
如需支持,请在GitHub存储库中打开问题或联系维护人员。
