mcpField
P
performing-asset-criticality-scoring-for-vulns

performing-asset-criticality-scoring-for-vulns

github.com/mukul975安全35.2k57 次安装8 周前更新
代码仓库

关于 performing-asset-criticality-scoring-for-vulns

用于评定 IT 资产关键性的安全技能,帮助指导漏洞修复优先级。它结合业务影响、数据敏感度、合规范围、网络暴露、可恢复性和用户数量划分等级,并据此调整修复 SLA。

主要功能

  1. 01按六项业务和技术因素评定资产
  2. 02将资产划分为五个关键性等级
  3. 03按等级调整漏洞修复 SLA
  4. 04纳入数据分类和合规范围
  5. 05系统及用途变化时复核评分

适用场景

  1. 01优先修复高影响资产上的漏洞
  2. 02按资产关键性设定修复时限
  3. 03与业务相关方共同确定资产等级
  4. 04系统变更后更新资产评分

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-asset-criticality-scoring-for-vulns

安装后在 Claude Code 中输入/performing-asset-criticality-scoring-for-vulns确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

为漏洞执行资产关键性评分

概述

资产关键性评分会为每个 IT 资产分配业务影响评级,使漏洞修复工作聚焦于对组织风险最大的系统。缺少关键性上下文时,测试服务器上的 CVSS 9.0 漏洞与支付处理数据库上的同一漏洞会被同等紧急地对待。本技能涵盖构建多因素评分模型,纳入数据敏感性、业务功能依赖、监管范围、网络暴露面和可恢复性,以创建 1-5 的关键性层级,直接调整漏洞修复 SLA。

何时使用

  • 在开展涉及为漏洞执行资产关键性评分的 security assessments 时
  • 在针对相关安全事件遵循事件响应流程时
  • 在执行计划内的安全测试或审计活动时
  • 在通过实际测试验证安全控制措施时

前提条件

  • 配置管理数据库(CMDB)或资产清单
  • 业务影响分析(BIA)数据
  • 数据分类政策
  • 网络架构文档
  • 来自业务部门负责人的利益相关方输入

核心概念

资产关键性评分模型
因素权重分值范围描述
业务功能影响25%1-5所支持业务流程的关键程度
数据敏感性25%1-5处理/存储数据的类型和敏感性
监管范围15%1-5监管要求(PCI、HIPAA、SOX)
网络暴露面15%1-5面向互联网还是仅限内部
可恢复性10%1-5RTO/RPO 要求、DR 能力
用户规模10%1-5受影响的用户/客户数量
关键性层级定义
层级分值范围标签SLA 调整示例
14.5-5.0核心资产-50% SLA域控制器、支付系统、ERP
23.5-4.4高价值-25% SLA电子邮件服务器、HR 系统、CI/CD
32.5-3.4标准基准 SLA内部应用、文件服务器
41.5-2.4低影响+25% SLA测试环境、打印机
51.0-1.4最低+50% SLA正在退役的系统、隔离实验室
数据敏感性评分
分值分类示例
5受限/机密PII、PHI、支付卡数据、商业秘密
4保密财务报告、HR 记录、源代码
3内部内部文档、政策、项目文件
2半公开营销材料、新闻稿(草稿)
1公开已发布内容、公共 API

工作流

步骤 1:定义评分标准
class AssetCriticalityScorer:
    """Multi-factor asset criticality scoring engine."""

    WEIGHTS = {
        "business_function": 0.25,
        "data_sensitivity": 0.25,
        "regulatory_scope": 0.15,
        "network_exposure": 0.15,
        "recoverability": 0.10,
        "user_population": 0.10,
    }

    TIER_THRESHOLDS = [
        (4.5, 1, "Crown Jewels", -0.50),
        (3.5, 2, "High Value", -0.25),
        (2.5, 3, "Standard", 0.00),
        (1.5, 4, "Low Impact", 0.25),
        (1.0, 5, "Minimal", 0.50),
    ]

    def score_asset(self, asset):
        """Calculate criticality score for an asset."""
        weighted_score = sum(
            asset.get(factor, 3) * weight
            for factor, weight in self.WEIGHTS.items()
        )
        score = round(weighted_score, 2)

        for threshold, tier, label, sla_mod in self.TIER_THRESHOLDS:
            if score >= threshold:
                return {
                    "score": score,
                    "tier": tier,
                    "label": label,
                    "sla_modifier": sla_mod,
                }
        return {"score": score, "tier": 5, "label": "Minimal", "sla_modifier": 0.50}

    def adjust_vuln_sla(self, base_sla_days, asset_tier_data):
        """Adjust vulnerability SLA based on asset criticality."""
        modifier = asset_tier_data["sla_modifier"]
        adjusted = int(base_sla_days * (1 + modifier))
        return max(1, adjusted)  # Minimum 1 day SLA
步骤 2:与漏洞优先级排序集成
def apply_criticality_to_vulns(vulns_df, asset_scores):
    """Enrich vulnerability data with asset criticality context."""
    for idx, vuln in vulns_df.iterrows():
        asset_id = vuln.get("asset_id", "")
        asset_data = asset_scores.get(asset_id, {"tier": 3, "sla_modifier": 0})

        vulns_df.at[idx, "asset_tier"] = asset_data["tier"]
        vulns_df.at[idx, "asset_label"] = asset_data.get("label", "Standard")

        base_sla = get_base_sla(vuln["severity"])
        adjusted_sla = int(base_sla * (1 + asset_data["sla_modifier"]))
        vulns_df.at[idx, "adjusted_sla_days"] = max(1, adjusted_sla)

    return vulns_df

最佳实践

  1. 让业务利益相关方参与关键性评分;仅靠 IT 无法评估业务影响
  2. 至少每季度或在系统角色变化时审查并更新关键性评分
  3. 尽可能使用 CMDB 标签和数据分类标签自动化评分
  4. 将关键性层级应用于漏洞 SLA,以实现与风险成比例的修复
  5. 用实际事件影响数据验证评分,以校准模型
  6. 先从简单的 3 层级模型开始,再扩展到 5 层级

常见陷阱

  • 将所有资产都归类为“关键”,这会使分层失去意义
  • 当系统被改作他用或退役时未更新关键性评分
  • 只使用技术因素而缺少业务上下文
  • 不论资产重要性都应用统一 SLA
  • 未记录评分方法,无法支持审计和一致性

相关技能

  • performing-cve-prioritization-with-kev-catalog
  • building-vulnerability-aging-and-sla-tracking
  • performing-business-impact-analysis
  • implementing-asset-management-program

评论

支持 Markdown