NullSpace-BitCradle/Rapid7_InsightVM_Console_Resources

GitHub: NullSpace-BitCradle/Rapid7_InsightVM_Console_Resources

为 Rapid7 InsightVM SQL Query Export 接口提供完整的表结构参考、实体关系图和分类查询模板的综合文档库。

Stars: 1 | Forks: 0

# Rapid7 InsightVM SQL Query Export 文档 [![表格](https://img.shields.io/badge/Tables-89-blue)](./COMPLETE_TABLE_REFERENCE.md) [![查询](https://img.shields.io/badge/Queries-151-green)](./QUERIES/) [![架构](https://img.shields.io/badge/Schema-Complete-orange)](./RAPID7_INSIGHTVM_ERD.md) [![许可证](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ## 概述 本仓库包含目前最详尽的 **Rapid7 InsightVM SQL Query Export** 接口文档,提供详细的 schema 信息、表格参考,并为漏洞管理团队提供实践指南。 ## 快速入门 ### 面向漏洞管理团队 1. **从** [快速表格查询](./QUICK_TABLE_LOOKUP.md) **开始**,获取即时解答 2. **浏览** [SQL 查询](./QUERIES/),获取可直接运行的报告模板 3. **参考** [完整表格参考](./COMPLETE_TABLE_REFERENCE.md),获取详细的字段信息 4. **使用** [实体关系图](./RAPID7_INSIGHTVM_ERD.md) 了解表格关系 ### 面向开发者和集成商 1. **从** [机器可读的 Schema 文件](./SCHEMA_FILES_README.md) **开始**,用于自动化和代码生成 2. **查阅** [完整表格参考](./COMPLETE_TABLE_REFERENCE.md),了解字段级别的详细信息 3. **研究** [实体关系图](./RAPID7_INSIGHTVM_ERD.md) 以进行数据建模 4. **使用** JSON schema 进行 MCP 集成、ORM 生成或构建查询器 ## 文档文件 | 文件 | 描述 | |------|-------------| | [完整表格参考](./COMPLETE_TABLE_REFERENCE.md) | 包含字段描述、数据类型、约束和关键关系的全部 89 个表(64 个维度表 + 24 个事实表 + 1 个函数) | | [快速表格查询](./QUICK_TABLE_LOOKUP.md) | 前 10 个表、用例分类、可直接使用的 SQL 示例、join 模式以及性能提示 | | [实体关系图](./RAPID7_INSIGHTVM_ERD.md) | 展示表关系、事实表与维度表组织结构以及桥接表的 Mermaid 图表 | | [Schema 文件指南](./SCHEMA_FILES_README.md) | 用于自动化、查询构建、MCP 开发和代码生成的 JSON schema 文件 | ## SQL 查询 在 [`./QUERIES/`](./QUERIES/) 中提供了 151 个可直接运行的 SQL 查询,按用例进行分类: | 类别 | 查询示例 | 描述 | |----------|----------------|-------------| | **资产清单** | `COMPREHENSIVE_ASSET_INVENTORY`, `LIVE_ASSETS`, `ASSET_COUNT` | 资产发现、主机详情、IP/MAC/OS 数据 | | **漏洞** | `ALL_ASSETS_ALL_VULNS`, `MOST_CRITICAL_VULNERABILITIES`, `VULN_AGING` | 漏洞发现、严重程度、时效性、漏洞利用状态 | | **风险与优先级排序** | `ASSETS_ORDERED_BY_RISK`, `TOP_10_RISKIEST_ASSETS`, `ASSET_CONTEXT_DRIVEN_RISK` | 风险评分、优先修复目标 | | **修复** | `TOP_25_REMEDIATION_REPORT`, `REMEDIATION_SUMMARY`, `TRACK_REMEDIATION` | 解决方案跟踪、修复进度、汇总报告 | | **合规性** | `POLICY_COMPLIANCE`, `POLICY_RESULTS_AND_EXCEPTIONS`, `POLICY_REPORT_WITH_DETAILS` | 策略规则结果、合规百分比、例外情况 | | **身份验证** | `LIST_ASSETS_WITH_CREDENTIAL_STATUS`, `AUTHENTICATION_SERVICE_STATUS` | 凭据验证、扫描身份验证结果 | | **软件** | `SOFTWARE_INVENTORY`, `OBSOLETE_SOFTWARE`, `DETECT_FIREFOX_PER_VERSION` | 已安装软件、过时的 OS/软件检测 | | **扫描** | `SCAN_DURATION_REPORT`, `RECENTLY_SCANNED_ASSETS`, `SCAN_HISTORY_RISK` | 扫描性能、覆盖范围、历史记录 | | **趋势分析** | `ASSET_GROUP_COMPARE_4_WEEK_TREND`, `HISTORICAL_VULNERABILITY_FINDINGS` | 周环比比较、历史快照 | | **SSL/TLS** | `TLS_1_VULNERABILITIES`, `SSL_ALL_CERTS`, `ASSETS_WITH_EXPIRING_CERTIFICATES` | 证书清单、TLS/SSL 协议发现 | | **热门主题** | `LOG4J_QUERY_BY_INSTANCE`, `SMBV1_ENABLED`, `ASSET_WITH_SHELL_SHOCK` | 针对高知名度漏洞的查询 | ### 如何使用 1. 在 InsightVM SQL Query Export 控制台或您的 PostgreSQL 客户端中打开 `./QUERIES/` 中的查询 2. 检查 `FROM`/`JOIN` 的表以及任何 `WHERE` 过滤条件 —— 根据您的环境(站点、标签、日期)进行调整 3. 在测试期间先使用 `LIMIT`,然后在用于报告和仪表板时将其删除或调整 4. 许多查询包含带有用途、数据源和预估行数说明的头部注释 ### 性能提示 - 对于计数和聚合,建议优先使用**事实表** - 在大型 join 之前,使用 `WHERE` 子句**尽早过滤** - 在开发和测试期间**限制结果数量** - 带有 `WARNING` 注释的查询可能会返回庞大的结果集 —— 在生产环境中运行前请添加过滤条件 ## Schema 概述 ### 表分布 - **维度表:** 64(主数据、查找表、配置) - **事实表:** 24(指标、度量、聚合) - **函数:** 1(修复分析) ### 关键实体类别 | 类别 | 描述 | 核心表 | |----------|-------------|-------------| | **资产** | 主机、服务器、网络设备 | `dim_asset`, `fact_asset` | | **漏洞** | 安全发现和 CVSS 评分 | `dim_vulnerability`, `fact_asset_vulnerability_instance` | | **扫描** | 发现和评估活动 | `dim_scan`, `fact_scan`, `fact_asset_scan` | | **策略** | 合规性和配置检查 | `dim_policy`, `dim_policy_rule`, `fact_asset_policy` | | **解决方案** | 修复建议 | `dim_solution`, `fact_remediation()` | | **例外** | 风险接受和排除项 | `dim_vulnerability_exception` | ### 数据模型类型 - **累积快照表** —— 当前状态 (`fact_asset`, `fact_vulnerability`) - **事务事实表** —— 历史事件 (`fact_asset_scan`, `fact_scan`) - **桥接表** —— 多对多关系 - **查找表** —— 引用数据和枚举值 ## 常见用例 ### 带有漏洞数量的资产清单 ``` SELECT da.ip_address, da.host_name, fa.vulnerabilities, fa.critical_vulnerabilities, fa.riskscore FROM dim_asset da JOIN fact_asset fa ON da.asset_id = fa.asset_id WHERE fa.vulnerabilities > 0 ORDER BY fa.riskscore DESC; ``` ### 带有解决方案的关键漏洞 ``` SELECT dv.title, dv.severity, dv.cvss_score, ds.summary, ds.solution_type FROM dim_vulnerability dv JOIN dim_vulnerability_solution dvs ON dv.vulnerability_id = dvs.vulnerability_id JOIN dim_solution ds ON dvs.solution_id = ds.solution_id WHERE dv.severity = 'Critical' ORDER BY dv.cvss_score DESC; ``` ### 按资产划分的合规性策略 ``` SELECT da.ip_address, dp.title AS policy_name, fap.rule_compliance, fap.compliant_rules, fap.noncompliant_rules FROM fact_asset_policy fap JOIN dim_asset da ON fap.asset_id = da.asset_id JOIN dim_policy dp ON fap.policy_id = dp.policy_id WHERE fap.rule_compliance < 100 ORDER BY fap.rule_compliance ASC; ``` ## 技术细节 ### 前置条件 - 启用了 SQL Query Export 的 **Rapid7 InsightVM** - **数据库访问权限**(本地控制台或托管版) - 用于构建查询的 **SQL 知识** - **PostgreSQL**(用于本地控制台访问) ### 支持的版本 - **InsightVM 6.x** 及更高版本 - **PostgreSQL 9.x** 及更高版本 - **SQL Query Export** 接口 ## 免责声明 - 本文档基于对 InsightVM SQL Query Export 接口的广泛分析 - **未经 Rapid7 官方验证** —— 仅作参考,不作为规范说明 - **Schema 可能因** InsightVM 版本和配置的不同而有所差异 - **自定义配置** 可能会影响表结构 - 在生产环境中使用前,**务必在**您的具体环境中验证字段名称和数据类型 ## 许可证 本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 致谢 - **Rapid7**,感谢其提供的 InsightVM 平台和 SQL Query Export 接口 - **漏洞管理社区**,感谢其提供的反馈和贡献 - **安全团队**,感谢其提供的真实用例和示例
标签:GPT, Homebrew安装, Rapid7 InsightVM, 代码示例, 多线程, 技术文档, 数据分析, 数据库文档, 测试用例, 漏洞管理