building-vulnerability-exception-tracking-system

构建具有审批工作流、补偿控制文档和到期管理功能的漏洞例外与风险接受跟踪系统。

9 stars

Best use case

building-vulnerability-exception-tracking-system is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

构建具有审批工作流、补偿控制文档和到期管理功能的漏洞例外与风险接受跟踪系统。

Teams using building-vulnerability-exception-tracking-system should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/building-vulnerability-exception-tracking-system/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/building-vulnerability-exception-tracking-system/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/building-vulnerability-exception-tracking-system/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How building-vulnerability-exception-tracking-system Compares

Feature / Agentbuilding-vulnerability-exception-tracking-systemStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

构建具有审批工作流、补偿控制文档和到期管理功能的漏洞例外与风险接受跟踪系统。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 构建漏洞例外跟踪系统

## 概述

漏洞例外跟踪系统管理无法在 SLA 时间线内完成修复的漏洞情况。它提供结构化的工作流用于申请例外、记录补偿控制、获取风险接受批准,并在有效期结束时自动使例外失效。这确保组织在符合 PCI DSS、SOC 2 和 NIST CSF 等框架的同时,保持对已接受风险的可见性。

## 前置条件

- Python 3.9+,包含 `flask`、`sqlalchemy`、`requests`、`jinja2`
- PostgreSQL 或 SQLite 数据库
- 用于审批通知的邮件/Slack 集成
- 漏洞管理平台 API(DefectDojo、Qualys、Tenable)

## 例外申请工作流

### 例外类别

| 类别 | 描述 | 最长有效期 | 审批级别 |
|----------|------------|-------------|----------------|
| 修复延迟 | 补丁可用但部署受阻 | 30 天 | 团队负责人 + 安全团队 |
| 无可用修复 | 供应商尚未发布补丁 | 90 天 | 安全总监 |
| 业务关键 | 系统修补将导致停机 | 60 天 | VP 工程 + CISO |
| 误报 | 发现结果并非真实漏洞 | 永久 | 安全分析师 |
| 补偿控制 | 已部署替代缓解措施 | 180 天 | 安全架构师 |

### 例外申请必填字段

```python
exception_schema = {
    "cve_id": "CVE-2024-XXXX",
    "finding_id": "unique-finding-reference",
    "asset_hostname": "prod-db-01.corp.local",
    "severity": "high",
    "cvss_score": 8.1,
    "category": "remediation_delay",
    "justification": "数据库升级完成前无法应用补丁",
    "compensating_controls": [
        "已部署封锁利用模式的 WAF 规则",
        "网络分段仅允许受信任 VLAN 访问",
        "通过 Splunk 告警对利用指标进行增强监控"
    ],
    "requested_expiration": "2024-06-15",
    "requestor_email": "dbadmin@company.com",
    "approver_emails": ["security-lead@company.com", "ciso@company.com"],
    "risk_rating": "medium",
}
```

## 数据库模式

```sql
CREATE TABLE vulnerability_exceptions (
    id SERIAL PRIMARY KEY,
    cve_id VARCHAR(20) NOT NULL,
    finding_id VARCHAR(100) NOT NULL,
    asset_hostname VARCHAR(255),
    severity VARCHAR(20),
    cvss_score DECIMAL(3,1),
    category VARCHAR(50) NOT NULL,
    justification TEXT NOT NULL,
    compensating_controls TEXT,
    status VARCHAR(20) DEFAULT 'pending',
    requested_by VARCHAR(255) NOT NULL,
    approved_by VARCHAR(255),
    requested_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    approved_at TIMESTAMP,
    expires_at TIMESTAMP NOT NULL,
    expired BOOLEAN DEFAULT FALSE,
    risk_rating VARCHAR(20),
    review_notes TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE exception_audit_log (
    id SERIAL PRIMARY KEY,
    exception_id INTEGER REFERENCES vulnerability_exceptions(id),
    action VARCHAR(50) NOT NULL,
    actor VARCHAR(255) NOT NULL,
    details TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX idx_exception_status ON vulnerability_exceptions(status);
CREATE INDEX idx_exception_expires ON vulnerability_exceptions(expires_at);
CREATE INDEX idx_exception_cve ON vulnerability_exceptions(cve_id);
```

## 实施

### 例外申请 API

```python
from flask import Flask, request, jsonify
from datetime import datetime, timezone
import json

app = Flask(__name__)

@app.route("/api/exceptions", methods=["POST"])
def create_exception():
    data = request.json
    required = ["cve_id", "finding_id", "category", "justification", "expires_at", "requestor_email"]
    for field in required:
        if field not in data:
            return jsonify({"error": f"缺少必填字段:{field}"}), 400

    # 验证到期时间未超过类别最长有效期
    max_days = {"remediation_delay": 30, "no_fix": 90, "business_critical": 60,
                "false_positive": 365, "compensating_control": 180}
    # 插入数据库并通知审批人
    return jsonify({"status": "pending", "id": "exc-12345"})

@app.route("/api/exceptions/<exc_id>/approve", methods=["POST"])
def approve_exception(exc_id):
    approver = request.json.get("approver_email")
    notes = request.json.get("notes", "")
    # 更新状态为已批准,记录审批人和时间戳
    return jsonify({"status": "approved"})

@app.route("/api/exceptions/<exc_id>/reject", methods=["POST"])
def reject_exception(exc_id):
    reviewer = request.json.get("reviewer_email")
    reason = request.json.get("reason")
    # 更新状态为已拒绝,记录审核人和拒绝原因
    return jsonify({"status": "rejected"})
```

### 到期检查器(每日定时任务)

```bash
# 每日检查已过期的例外
python3 scripts/process.py --check-expirations

# 生成每月例外报告
python3 scripts/process.py --report --output exception_report.json
```

## 补偿控制文档

每项例外的补偿控制必须覆盖以下方面:
1. **检测**:如何检测利用尝试?
2. **预防**:哪些屏障降低了被利用的可能性?
3. **响应**:已准备哪些事件响应流程?
4. **监控**:哪些持续监控确保控制措施仍然有效?

## 参考资料

- [NIST SP 800-53 Rev 5 - CA-7 持续监控](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)
- [PCI DSS v4.0 补偿控制](https://docs-prv.pcisecuritystandards.org/PCI%20DSS/Standard/PCI-DSS-v4_0.pdf)
- [CIS Controls v8 - 控制 7.7](https://www.cisecurity.org/controls/continuous-vulnerability-management)

Related Skills

tracking-threat-actor-infrastructure

9
from killvxk/cybersecurity-skills-zh

威胁行为者基础设施追踪涉及使用被动 DNS、证书透明度日志、Shodan/Censys 扫描、WHOIS 分析和网络指纹技术,对对手控制的 C2 服务器、钓鱼域名和暂存服务器等资产进行监控、映射和持续追踪

testing-api-for-mass-assignment-vulnerability

9
from killvxk/cybersecurity-skills-zh

测试 API 是否存在批量赋值(mass assignment,自动绑定)漏洞——攻击者可在 API 请求中附加额外参数,从而修改本不应被访问的对象属性。测试人员识别可写端点,向请求体注入未公开字段(role、isAdmin、price、balance),验证服务器是否在未过滤的情况下将这些字段绑定到数据模型。属于 OWASP API3:2023 Broken Object Property Level Authorization 范畴。适用于批量赋值测试、参数绑定滥用、自动绑定漏洞或 API 过度发布(over-posting)相关请求。

performing-web-application-vulnerability-triage

9
from killvxk/cybersecurity-skills-zh

使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。

performing-vulnerability-scanning-with-nessus

9
from killvxk/cybersecurity-skills-zh

使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。

performing-ssrf-vulnerability-exploitation

9
from killvxk/cybersecurity-skills-zh

通过探测云元数据端点、内网服务和协议处理器,检测用户可控 URL 参数中的 服务端请求伪造(SSRF)漏洞。测试 AWS/GCP/Azure 元数据 API(169.254.169.254)、 通过 HTTP 进行内网端口扫描、URL 协议绕过技术以及 DNS 重绑定检测。

performing-ot-vulnerability-scanning-safely

9
from killvxk/cybersecurity-skills-zh

使用被动监控、原生协议查询和经过精心控制的Tenable OT Security主动扫描,在OT/ICS环境中安全执行漏洞扫描,在不破坏工业过程或导致旧版控制器崩溃的情况下识别漏洞。

performing-ot-vulnerability-assessment-with-claroty

9
from killvxk/cybersecurity-skills-zh

本技能涵盖使用Claroty xDome平台在OT环境中执行漏洞评估,实现全面资产发现、风险评分、漏洞关联和修复优先级排序。内容涉及通过流量分析进行被动漏洞识别、OT设备安全主动查询、与CVE数据库和ICS-CERT公告集成,以及考虑运营影响和补偿控制措施的基于风险的优先级排序。

performing-endpoint-vulnerability-remediation

9
from killvxk/cybersecurity-skills-zh

通过基于风险评分对 CVE 进行优先级排序、部署补丁、应用配置变更和验证修复 来执行端点漏洞修复。适用于修复漏洞扫描发现的问题、响应严重 CVE 公告 或维护端点合规性与补丁管理 SLA 的场景。适用于涉及漏洞修复、CVE 补丁、 端点漏洞管理或安全修复部署的请求。

performing-authenticated-vulnerability-scan

9
from killvxk/cybersecurity-skills-zh

认证(凭据)漏洞扫描使用有效的系统凭据登录目标主机,对已安装软件、补丁、配置和安全设置进行深度检查,相比未认证扫描可发现 45-60% 更多漏洞。

performing-agentless-vulnerability-scanning

9
from killvxk/cybersecurity-skills-zh

配置并执行无代理漏洞扫描(agentless vulnerability scanning),利用网络协议、云快照分析和基于 API 的发现方式评估系统安全,无需在端点安装 Agent。

performing-active-directory-vulnerability-assessment

9
from killvxk/cybersecurity-skills-zh

使用 PingCastle、BloodHound 和 Purple Knight 评估 Active Directory 安全态势,识别错误配置、权限提升路径和攻击向量。

implementing-vulnerability-sla-breach-alerting

9
from killvxk/cybersecurity-skills-zh

为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。