Skill: ykjack2005/uos-cve-checker (version 1.0.0)

--- name: uos-cve-checker description: 这是一个用于检查 UOS（统信操作系统）系统 CVE 漏洞的技能。当用户需要检查特定漏洞是否影响 UOS 系统，或者需要获取漏洞修复信息和补丁下载链接时，应自动调用此技能。 compatibility: Python 3.X --- # UOS CVE 漏洞检查技能 ## 技能概述 这是一个用于检查 UOS（统信操作系统）系统 CVE 漏洞的技能。当用户需要检查特定漏洞是否影响 UOS 系统，或者需要获取漏洞修复信息和补丁下载链接时，应自动调用此技能。 本技能具有以下特点： - **零依赖**：仅依赖 Python 标准库和 requests 库，兼容 Python 3.x - **多格式支持**：支持四种漏洞编号格式（CVE、CNNVD、CNVD、UT） - **简单易用**：通过命令行参数直接调用，无需复杂的配置 - **自动下载**：支持自动下载漏洞修复补丁 ## 适用场景 当用户提出以下类型的请求时，应调用此技能： - 检查某个 CVE 漏洞是否影响 UOS 系统 - 查询 UOS 系统的安全漏洞信息 - 获取漏洞修复版本和补丁下载链接 - 批量检查多个 CVE 漏洞 - 下载 CVE 漏洞的修复补丁 ## 使用条件 在调用此技能之前，需要确保以下条件满足： - 目标系统为 UOS（统信操作系统） - 需要提供操作系统版本号（桌面版或服务器版） - 需要提供包含 CVE 编号列表的文件 - Python 环境中已安装 requests 库 - 运行环境能够访问 UOS 安全公告网站（src.uniontech.com） ## 调用方法 此技能通过执行 Python 脚本来实现功能。Agent 应使用 bash 工具调用 cve_checker.py 脚本。 ### 基本调用格式 ```bash cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py <系统版本> <CVE文件> [-d] ``` ### 参数说明 | 参数 | 必填 | 说明 | |------|------|------| | <系统版本> | 是 | 操作系统版本号 | | <CVE文件> | 是 | 包含漏洞编号列表的文件路径 | | -d | 否 | 是否下载补丁，添加此参数启用下载功能 | ### 版本号格式说明 - **服务器系统**：格式为 1070e、1070a 等，其中数字部分为主版本号，字母部分表示服务器类型 - a = ServerA - c = ServerC - e = ServerE - d = ServerD - **桌面系统**：格式为 1070、1050 等，直接使用数字版本号 ### 漏洞文件格式 CVE 文件应包含漏洞编号，每行一个编号。支持以下四种格式： 1. **CVE 标准格式**：CVE-2024-57900 2. **CNNVD 格式**：CNNVD-202501-2163 3. **CNVD 格式**：CNVD-2025-02113 4. **统信内部格式**：UT-2025-0006 脚本会自动从文件内容中提取匹配的漏洞编号。 ## 使用示例 ### 示例 1：检查 UOS 桌面版 1070 的漏洞 ```bash cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070 /path/to/cve_list.txt 或者 cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070 CNVD-2025-02113 ``` ### 示例 2：检查 UOS 服务器版 1070e 的漏洞 ```bash cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070e /path/to/cve_list.txt 或者 cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070e CNVD-2025-02113 ``` ### 示例 3：检查漏洞并下载补丁 ```bash cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070e /path/to/cve_list.txt -d 或者 cd ~/.config/aish/skills/check_cve/scripts/ && python3 cve_checker.py 1070e CNVD-2025-02113 -d ``` ### 示例 4：CVE 文件内容示例 文件 /path/to/cve_list.txt 内容： ``` CVE-2024-57900 CNNVD-202501-2163 CNVD-2025-02113 UT-2025-0006 ``` 或者混合在文本中： ``` 根据安全公告，漏洞 CVE-2024-57900 已修复。 同时 CNNVD-202501-2163 也需要关注。 ``` ## 输出说明 脚本执行完成后会生成以下输出： ### 控制台输出 显示每个漏洞的检查结果，包括： - **受影响漏洞**：显示 CVE 编号、受影响的软件包名称、修复后的版本号、漏洞补丁下载链接 - **不受影响漏洞**：显示 CVE 编号、软件包名称、修复状态 - **未查询到**：显示 CVE 编号、查询状态 - **下载信息**：显示补丁下载进度和结果 ### CSV 结果文件 在脚本运行目录生成 cve_info.csv 文件，包含以下字段： | 字段名 | 说明 | |--------|------| | CVE 编号 | 漏洞的唯一标识符 | | 受影响软件 | 受影响的软件包名称 | | 修复版本 | 修复后的版本号（不受影响时显示"不受影响"） | | 漏洞补丁下载链接 | 补丁下载链接（可能为空） | ### 下载的补丁文件 如果指定了 -d 参数，补丁文件会保存在以下目录结构中： ``` 当前目录或者用户要求目录/ ├── cve_info.csv # 检查结果 ├── x86_64/ # x86_64 架构补丁 │ ├── package1.deb │ └── package2.deb ├── arm64/ # ARM64 架构补丁 │ └── package3.deb └── ... ``` 脚本会自动跳过已存在的文件，避免重复下载。 ## 结果处理 Agent 在调用此技能后应： 1. 检查命令执行是否成功 2. 读取生成的 cve_info.csv 文件（如果存在） 3. 向用户呈现清晰的漏洞检查结果，包括： - 每个漏洞的检查状态 - 受影响软件的详细信息 - 修复建议和补丁链接 4. 如果用户需要，提供补丁下载链接或说明下载已完成 5. 告知用户结果文件的位置 ## 注意事项 1. **网络要求**：脚本需要访问 UOS 安全公告网站（src.uniontech.com），请确保网络连接正常 2. **版本匹配**：确保提供的操作系统版本号格式正确，否则可能导致查询失败 3. **文件路径**：确保 CVE 文件路径正确且文件可读 4. **并发限制**：建议不要在短时间内大量查询，以免对目标服务器造成压力 5. **下载限制**：大量下载补丁可能会占用较多磁盘空间和带宽，请谨慎使用 -d 参数 6. **工作目录**：脚本会在当前工作目录生成结果文件和下载的补丁，请确保有足够的磁盘空间和写权限 7. **错误重试**：脚本会对网络请求自动重试 3 次，间隔 2 秒 ## 错误处理 如果技能执行过程中出现错误，Agent 应： 1. **参数错误**：提示用户正确的参数格式和使用方法 2. **文件不存在**：检查 CVE 文件路径是否正确，文件是否存在且可读 3. **网络错误**：检查网络连接，可能需要重试 4. **权限错误**：确保当前用户对工作目录有写权限 5. **其他错误**：向用户报告错误信息并提供解决建议 常见错误信息及解决方法： - 用法: python3 cve_checker.py <系统版本> <CVE文件> [-d]：参数不足，请提供系统版本和 CVE 文件路径 - FileNotFoundError: [Errno 2] No such file or directory: xxx：CVE 文件不存在，请检查文件路径 - 查询 xxx 时请求失败: xxx：网络请求失败，可能是网络连接问题或目标服务器不可用 ## 依赖安装 在使用此技能之前，请确保安装了 requests 库： ```bash sudo apt install python3-requests ``` ## 技能维护 此技能的底层功能由 cve_checker.py 脚本提供，该脚本调用 UOS 官方安全公告接口获取漏洞信息。当 UOS 网站接口发生变化时，可能需要更新脚本中的接口调用逻辑。 技能本身不需要额外维护，只需确保 requests 库保持更新即可。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)