xavient/cisco-advisory-impact-analyzer
GitHub: xavient/cisco-advisory-impact-analyzer
一款利用AI将Cisco安全公告与防火墙设备清单自动比对并生成Excel影响评估报告的运维工具。
Stars: 0 | Forks: 0
# Cisco 公告影响分析器
粘贴一个 Cisco **Event Response (ERP)** 链接,即可获取一个电子表格,告诉你
**哪些防火墙受到了影响**。
在后台,它会查找 ERP 引用的每个安全公告,下载每个
公告的官方数据 (CSAF),并使用 AI(通过 **FueliX**)将受影响的
产品和软件版本与**你的防火墙清单**进行比较。结果是一个
带有时间戳的 Excel 文件,其中按公告列出了受影响的防火墙——或者显示为 `Indeterminate`
/ `Not Affected`。
支持 **macOS、Windows 和 Linux**。
## 开始之前 — 你需要什么
请确保你拥有以下所有四项内容。没有它们,该工具将无法运行。
| # | 要求 | 如何获取 |
| - | ----------- | ------------- |
| 1 | **Python 3.9 或更高版本** | 从下方链接一次性安装。 |
| 2 | **一个 FueliX API key** | 从
获取你的专属 key — 每个人都需要自己的 key(步骤如下)。 |
| 3 | **你的防火墙清单**,作为一个单独的 Excel `.xlsx` 文件放置在 **`inventory`** 文件夹中 | 你需要自己构建它(格式如下)。 |
| 4 | 连接到 `sec.cloudapps.cisco.com` 和 `api.fuelix.ai` 的 **互联网访问权限** | 通常已经具备;公司代理可能会阻止这些连接。 |
**安装 Python(一次性):**
- **Windows:** — 在安装程序的第一个
屏幕上,在点击 Install 之前勾选 **“Add python.exe to PATH”**。(或者从 Microsoft Store 安装 “Python”。)
- **macOS:** (或运行 `brew install python`)。
- **Linux:** 使用你的包管理器,例如 `sudo apt install python3 python3-venv`。
### 清单格式
你的清单 `.xlsx` 必须包含一个名为 **`FW_List`** 的工作表,并包含以下列(标题
名称可以略有不同 — 匹配规则很灵活):
| FirewallName | Model | Firewalltype | IOS version | Priority |
| ------------ | ----- | ------------ | ----------- | -------- |
| FWLOC1-001 | ISA-3000 | FTD | 7.4.2 | 2 |
| FWLOC3-004 | ASA 5506 | ASA | 9.16(4)67 | 1 |
`Firewalltype` 应该是 `FTD`、`ASA` 或 `ASAv`。如果你没有模板,请先运行
安装程序 — 它会告诉你将文件放在哪里。
## 安装(一次性)
**1. 获取工具。** 在 GitHub 页面上,点击绿色的 **`Code`** 按钮 → **Download
ZIP**。解压它。你会得到一个文件夹(例如 `cisco-advisory-impact-analyzer`)。
**2. 将你的清单放入 `inventory` 文件夹。** 将你的清单 `.xlsx` 复制到解压后文件夹的 **`inventory`**
子文件夹中(如果该文件夹不存在,工具会在首次运行时自动创建)。在其中保留**且仅保留一个** `.xlsx` 文件 — 如果工具发现
多于一个文件,它会停止并要求你进行清理。
**3. 在*该文件夹中*打开终端。**
- **Windows:** 在文件资源管理器中打开该文件夹,然后按住 Shift + 右键单击空白区域 →
**“Open PowerShell window here.”**
- **macOS:** 打开 **Terminal**,输入 `cd `(带一个空格),然后将该文件夹拖到
Terminal 窗口中并按 Enter 键。
- **Linux:** 右键单击该文件夹 → **“Open Terminal Here,”**,或者使用 `cd` 进入它。
**4. 运行安装程序。**
```
python3 install.py # macOS / Linux
python install.py # Windows (if that fails, try: py install.py)
```
安装程序将:
1. 检查你的 Python 版本,
2. 创建一个私有的、独立的环境(`.venv`)— 它**不会**触及你的
系统 Python,
3. 安装它需要的两个小型包,
4. **询问你的 FueliX API key**(输入将被隐藏)并将其保存到 `.env`,
5. 确认你的 `inventory.xlsx` 存在,
6. 运行快速自检。
完成后,你将看到 **“Setup complete.”**。
## 运行
在同一个文件夹中,每当你想要分析 ERP 时:
```
python3 run.py # macOS / Linux
python run.py # Windows (or: py run.py)
```
然后在出现提示时**粘贴 Cisco ERP 链接**,例如:
```
https://sec.cloudapps.cisco.com/security/center/viewErp.x?alertId=ERP-75736
```
(单个公告链接 — `.../CiscoSecurityAdvisory/cisco-sa-...` — 也可以。)
该工具会查找所有公告,将每个公告与你的清单进行比对分析,并写入一个
名为 **`analysis_output__标签:AI辅助, Cisco, GPT, PB级数据处理, Python, 安全运维, 无后门, 漏洞管理, 自动化报告, 逆向工具, 防火墙