소스 정보
- 저장소
- infometa/workbuddyskills
- 최근 소스 활동
- 2026년 7월 22일 01:54
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 205
- 포크
- 65
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/infometa/workbuddyskills --skill host-intrusion-analysis명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | host-intrusion-analysis |
| version | 4.3.0-external |
| triggers | ["入侵检测","后门","webshell","异常进程","入侵排查"] |
| description | 入侵分析 Skill。由主机上的日志数据生成结构化的入侵分析报告。当用户说"入侵分析"、"日志分析"、"安全排查"时触发。 |
| allowed-tools | python3, search_content, run_command, read_file |
本 Skill 文档使用 run_command(...) 作为通用占位符,表示"在 skill 根目录下执行一条 shell 命令并取回 stdout"。请将其映射到你的 AI Agent 框架对应的 shell 执行 API(例如 Bash / shell_exec / 自定义 tool)。映射时需保证:
scripts/analysis/preanalyze.py、templates/...)可直接使用;本 Skill 为可执行工具型,通过 shell 命令调用预分析脚本(详见上方"调用约定"),然后 AI 基于预分析输出撰写报告。
# 步骤 1:运行预分析脚本(路径必须是绝对路径)
# 任意类型日志文件/文件夹均可,脚本会自识别,传入用户提供的绝对路径。
# 压缩包无需解压,原样传入即可。同理,无论用户提供何种格式,均直接传入预分析脚本即可。
run_command('python3 scripts/analysis/preanalyze.py "/absolute/path/to/log.xxx"')
# 步骤 2:基于预分析输出,按需精准回查原始日志
# 步骤 3:读取模板 → 生成报告
run_command("cat templates/analysis_report_template.md")
read_file 原始日志或脚本源码。graph LR(左到右)流程图输出,用 classDef 颜色区分正常(绿)/可疑(橙)/高危(红)事件,≤8 个节点。禁止使用 graph TD。无攻击时呈现运维时间线。⚠️ 关键:节点标签和边标注中的文本必须用双引号包裹,如 A["04-02 15:55 暴力破解"].md 文件并通过 present_files 展示给用户,禁止仅在对话中输出而不落盘。唯一提问场景:输入不是日志报告。scripts/analysis/preanalyze.py 唯一脚本,不存在其他任何脚本,报告的编写需要由 AI+模板 完成,不存在报告编写脚本。scripts/linux/ 和 scripts/windows/ 直接位于本 skill 的 scripts 目录,AI 运行时通过 find ~/.workbuddy/plugins -name "get_log_all_in_one.*" 定位实际绝对路径,并通过 present_files 工具把脚本文件本身展示给用户下载。当用户触发入侵分析但尚未提供日志文件时,用专家包内源路径在第一句话中主动引导,并调用 present_files 展示脚本文件本体供用户下载:
检测到您需要进行入侵分析。请在目标服务器上运行采集脚本生成日志文件:
Windows 服务器:
- 采集脚本:
references/intrusion-analysis/host-intrusion-analysis/scripts/windows/get_log_all_in_one.ps1- 以管理员身份打开 PowerShell,运行:
powershell -ExecutionPolicy Bypass -File get_log_all_in_one.ps1Linux 服务器:
- 采集脚本:
references/intrusion-analysis/host-intrusion-analysis/scripts/linux/get_log_all_in_one.sh- 以 root 权限运行:
sudo bash get_log_all_in_one.sh采集完成后,将生成的
log_*.txt文件路径告诉我即可。
🚫 门控检查:用户是否提供了日志文件路径?
- ✅ 提供了文件路径 → 进入步骤 1
- ❌ 用户表示无法采集 → 告知"无日志文件无法进行分析",终止流程
使用 run_command 执行预分析脚本(cwd 已自动设置为 skill 根目录,脚本路径用 scripts/analysis/preanalyze.py,日志路径必须是绝对路径)。
run_command('python3 scripts/analysis/preanalyze.py "<绝对路径>"', timeout=120)
🚫 门控检查:预分析脚本是否成功返回了结构化数据?
- ✅ 返回了
## 摘要+ 各章节数据 → 继续步骤 2- ❌ 返回错误/异常 → 检查日志路径是否正确(必须是绝对路径),修正后重试一次。两次失败则告知用户并终止
- ❌ 返回数据但所有章节均为
not_found→ 告知用户"日志文件可能格式不匹配或为空",终止流程,禁止生成空报告
预分析脚本成功返回后,检查日志是否由标准采集脚本生成。同时检查两项:
检查 A — 文件名模式:
标准采集脚本生成的文件名匹配 log_*.txt 模式。
检查 B — 预分析输出头部标记:
预分析输出头部包含 platform: 行。若日志来自标准采集脚本,头部不含 data_source: raw_var_log_folder 或 LinuxCheck.sh 等非标准来源标识。
判断规则: 文件名不匹配 log_*.txt 或 预分析头部含非标准来源标识 → 判定为"非标准采集脚本日志"。
若判定为非标准日志,在最终分析报告最开头插入以下提醒块,然后继续输出完整分析报告:
> ⚠️ **日志来源提醒**
>
> 当前分析的日志并非由标准采集脚本生成,部分分析维度可能数据不完整。
>
> 建议下次使用标准采集脚本以获得更全面的入侵分析覆盖(9 大维度):
>
> | 平台 | 脚本路径(专家包内源路径) | 运行方式 |
> |------|---------|---------|
> | Windows | `references/intrusion-analysis/host-intrusion-analysis/scripts/windows/get_log_all_in_one.ps1` | 管理员 PowerShell 运行 |
> | Linux | `references/intrusion-analysis/host-intrusion-analysis/scripts/linux/get_log_all_in_one.sh` | `sudo bash` 运行 |
>
> ---
>
提醒块之后不要中断,继续按步骤 2、步骤 3 完成完整分析报告。
基于预分析输出,按需精准回查:仅当数据状态为 error 或预分析数据不足以支撑研判时,用 search_content 按关键词搜索原始日志补充证据。
Token 安全限制:
read_file 整个原始日志search_content 搜索特定关键词,单次回查结果控制在 50 行以内🚫 门控检查:是否已获得足够的入侵攻击时间线数据(用于生成 Mermaid 流程图)?
- ✅ 已完成 → 继续步骤 3
通过 run_command + cat 读取模板文件(cwd 已自动设置为 skill 根目录):
run_command("cat templates/analysis_report_template.md")
⚠️ 禁止用
read_file读取模板文件——模板没有固定的绝对路径,read_file会失败。
严格以模板结构为骨架填充数据,不得自行改变章节顺序或标题格式。
报告必须落盘,按以下流程执行(禁止仅在对话中输出而不写文件):
写入文件:将完整报告写入当前工作空间的 reports/ 目录(若不存在则先创建)。
入侵分析报告_<主机名或事件名>_<YYYYMMDD-HHmmss>.md入侵分析报告_lavm-xile9vly1p_20260721-1445.md入侵分析报告_2000-00入侵事件_20260721-1445.mddate +%Y%m%d-%H%M%S 获取,禁止硬编码。展示文件:落盘后必须调用 present_files 工具把报告文件展示给用户,让用户可直接查看/下载/转发。
对话回复:在对话中给出简要结论(风险等级 + 最关键 2-3 条发现 + 报告文件路径),不要把整份报告内容复制到对话中(用户已通过 present_files 看到完整报告)。
| 场景 | 处理方式 |
|---|---|
| 预分析返回错误 | 检查路径后重试一次,两次失败则告知用户并终止 |
预分析所有章节 not_found | 告知用户"日志格式不匹配或为空",终止,禁止生成空报告 |
| 精准回查找不到数据 | 标注"数据不可用,无法排除",不要编造 |
| 报告生成中断/截断 | 标注"⚠️ 报告不完整:以下章节因上下文限制未能生成" |
graph LR 流程图格式(即使无攻击也需呈现运维时间线)reports/ 目录并通过 present_files 展示给用户(禁止仅在对话中输出)