raylee-hawkins/HawkinsOperations
GitHub: raylee-hawkins/HawkinsOperations
一个证据优先的SOC作品集仓库,提供跨平台检测规则、事件响应剧本和自动化验证框架,强调可验证性和可复现性。
Stars: 3 | Forks: 1
# HawkinsOperations
[](https://github.com/raylee-hawkins/HawkinsOperations/actions/workflows/verify.yml)
[](LICENSE)
## 发布更新 (03-02-2026)
- AutoSOC 生产强化已完成,旨在提升流水线弹性和操作员可见性:
- 针对临时性索引器连接故障的轮询重试/退避处理
- 空闲周期的明确无新警报遥测数据
- 队列增长防护,包含溢出归档至已处理通道
- 流水线日志保留控制和单次运行日志元数据
- 端到端工作流已通过实时警报处理验证:
- ingest -> triage -> redact -> pack -> repo-staged 事件输出
- 调度器在健康周期内以 `Last Result: 0` 稳定运行
- 主页视觉刷新:
- 核心位置的 hero 资源已升级为 AutoSOC 系统地图
- OG/Twitter 分享图片已与新地图对齐,以确保外部预览的一致性
- 已添加运维文档:
- `docs/execution/AUTOSOC_OPERATIONS_RUNBOOK_03-02-2026.md`
## 作品集站点与快速入口
- 站点:[hawkinsops.com](https://hawkinsops.com)
- 验证包:[`PROOF_PACK/PROOF_INDEX.md`](PROOF_PACK/PROOF_INDEX.md)
- 克隆 + 验证:[`scripts/verify/verify-counts.ps1`](scripts/verify/verify-counts.ps1)
- 项目:[`projects/`](projects/)
## 仓库简介(一句话)
一个专注于可验证检测内容(Sigma, Splunk, Wazuh)、结构化 IR Playbook 以及可在本地或 CI 中验证的可复现工件的安全运营作品集仓库。
如果一项声明无法被验证,它就不属于这里。
## 选择您的路径(任选其一)
| 您的身份 | 从这里开始 | 您可以快速验证的内容 |
|---|---|---|
| 招聘人员 / 招聘经理 | [`START_HERE.md`](START_HERE.md) | 数分钟内的验证通道 + 样本工件 |
| 技术审查人员 | [`PROOF_PACK/VERIFIED_COUNTS.md`](PROOF_PACK/VERIFIED_COUNTS.md) | 实时计数 + 确切位置 |
| 检测工程师 | [`detection-rules/INDEX.md`](detection-rules/INDEX.md) | 跨 Sigma/Splunk/Wazuh 的规则结构 |
| 事件响应人员 | [`incident-response/INDEX.md`](incident-response/INDEX.md) | Playbook 目录 + 一致的框架 |
| 作品集审查人员 | [`PROOF_PACK/PROOF_INDEX.md`](PROOF_PACK/PROOF_INDEX.md) | 精选的审查通道 |
| SOC 集成方向 | [`projects/lab/PP_SOC_Integration/README.md`](projects/lab/PP_SOC_Integration/README.md) | 规则已验证,现运行于生产模拟工作流中 |
## 当前已验证清单(根据仓库内容生成)
事实来源:[`PROOF_PACK/VERIFIED_COUNTS.md`](PROOF_PACK/VERIFIED_COUNTS.md)
### 检测规则
| 平台 | 数量 | 位置 |
|---|---:|---|
| Sigma (YAML) | 103 条规则 | `detection-rules/sigma/` |
| Splunk (SPL) | 8 个查询 | `detection-rules/splunk/` |
| Wazuh (XML) | 24 个文件 / 28 个规则块 | `detection-rules/wazuh/rules/` |
### 事件响应
| 类型 | 数量 | 位置 |
|---|---:|---|
| IR Playbook (`IR-*.md`) | 10 个 Playbook | `incident-response/playbooks/` |
为何有两个 Wazuh 计数:当某些 XML 模块包含多个 `` 块时,文件数和规则块数是不同的。
## 90 秒验证
1. 打开 [`START_HERE.md`](START_HERE.md) 查看 5 分钟验证路径。
2. 查看 [`PROOF_PACK/VERIFIED_COUNTS.md`](PROOF_PACK/VERIFIED_COUNTS.md) 获取当前计数。
3. 通过 [`PROOF_PACK/PROOF_INDEX.md`](PROOF_PACK/PROOF_INDEX.md) 检查 `PROOF_PACK/SAMPLES/` 中的 2-3 个工件。
## 快速验证(本地,可复现)
从仓库根目录运行 (PowerShell):
```
pwsh -NoProfile -File ".\scripts\verify\verify-counts.ps1"
pwsh -NoProfile -File ".\scripts\verify\generate-verified-counts.ps1" -OutFile ".\PROOF_PACK\VERIFIED_COUNTS.md"
python .\scripts\drift_scan.py --refresh
pwsh -NoProfile -File ".\scripts\build-wazuh-bundle.ps1"
node .\scripts\build-site-includes.js
node .\scripts\generate-site-data.js
node .\scripts\generate-site-content.js
node .\scripts\generate-media-manifest.js
node .\scripts\verify\hosting-cloudflare-only.js
# Release/proof-pack JSON 镜像(在正常 UI 提交中可选)
node .\scripts\generate-site-data.js --with-proof-pack
python -m http.server --directory site 8000
```
预期工件:
- `PROOF_PACK/VERIFIED_COUNTS.md`
- `site/assets/verified-counts.json`
- `dist/wazuh/local_rules.xml`
## 仓库地图
| 区域 | 包含内容 | 存在原因 |
|---|---|---|
| `lab/` | 实时基础设施工档、VM 笔记、实验室 Runbook | 家庭实验室的运维背景 |
| `PROOF_PACK/` | 精选工件 + 证据通道 | 面试中可审查的证明路径 |
| `detection-rules/` | Sigma/Splunk/Wazuh + 映射 | 多平台检测工程 |
| `incident-response/` | Playbook + 模板 + 索引 | 一致的 IR 执行模型 |
| `threat-hunting/` | 狩猎矩阵 + 假设笔记 | 结构化狩猎实践 |
| `tools/` | 辅助工具和迁移工具 | 可重复的维护和打包支持 |
| `scripts/` | 验证 + 打包构建器 | 可复现性 + 可部署工件 |
| `docs/` | 执行笔记和支持文档 | 实施决策和审查背景 |
| `site/` | 静态作品集站点源码 | 已发布的面向招聘人员的网页内容 |
| `content/` | 结构化站点内容 (JSON) | 内容驱动列表的事实来源 |
| `components/` | 设计系统规范 | UI/区块架构约定 |
| `projects/` | 参考/归档项目子树 | 非规范、有时间限制或遗留的工作流 |
## 内容流转方式(仓库 -> 证明 -> 部署)
```
detection-rules/* incident-response/*
| |
|-- verify-counts.ps1 |-- IR-*.md (counted)
|
|-- generate-verified-counts.ps1 -> PROOF_PACK/VERIFIED_COUNTS.md
|
'-- build-wazuh-bundle.ps1 -> dist/wazuh/local_rules.xml
content/projects.json + content/detections.json
|-- generate-site-content.js -> site/assets/data/*.json
'-- portfolio-data.js -> rendered listings + filters
PROOF_PACK/VERIFIED_COUNTS.md
|-- generate-site-data.js -> site/assets/verified-counts.json
'-- generate-site-data.js --with-proof-pack -> PROOF_PACK/verified_counts.json (release mirror)
'-- drift_scan.py -> fail on markdown/json/site drift
```
这与文档化的 Wazuh 部署流程一致:模块 -> 包 -> `/var/ossec/etc/rules/local_rules.xml` -> 重启管理器。
## 安全与脱敏
- 安全策略:[`SECURITY.md`](SECURITY.md)
- 脱敏检查表:[`PROOF_PACK/EVIDENCE_CHECKLIST.md`](PROOF_PACK/EVIDENCE_CHECKLIST.md)
仓库标准:无真实凭据/令牌,无内部 IP,无意外身份泄露。敏感内部细节请使用 `[REDACTED_INTERNAL]`。
## 深入文档
- 架构 + 覆盖范围:`PROOF_PACK/ARCHITECTURE.md`
- 贡献工作流:[`CONTRIBUTING.md`](CONTRIBUTING.md)
- 验证通道索引:[`PROOF_PACK/PROOF_INDEX.md`](PROOF_PACK/PROOF_INDEX.md)
## 站点架构(静态 + 内容驱动)
- 运行时保持为 `site/` 下的静态 HTML/CSS/JS(无框架锁定)。
- 设计令牌和流式布局原语:`site/assets/design-system.css`。
- 内容驱动页面:
- `site/projects.html` 读取 `site/assets/data/projects.json`。
- `site/security.html` 读取 `site/assets/data/detections.json`。
- 源内容文件:
- `content/projects.json`
- `content/detections.json`
- 构建同步脚本:
- `scripts/generate-site-data.js`(验证计数 JSON 生成 + 检测计数同步)
- `scripts/drift_scan.py`(漂移门禁:markdown -> json -> 站点声明表面)
- `scripts/generate-site-content.js`(内容 JSON 发布步骤)
- `scripts/generate-media-manifest.js`(媒体清单 + 分类报告 + 安全媒体副本)
Cloudflare Pages 生产构建:
- `node scripts/generate-site-data.js && node scripts/generate-site-content.js && node scripts/generate-media-manifest.js && node scripts/verify/hosting-cloudflare-only.js`
- 输出目录:`site`
## 许可证
MIT。详见 [LICENSE](LICENSE)。
标签:AI合规, AMSI绕过, ATT&CK框架, DAST, EDR, IR剧本, MITM代理, Sigma规则, Wazuh, 取证, 后端开发, 后端开发, 威胁情报, 威胁检测, 子域名暴力破解, 安全工程, 安全运营, 开发者工具, 恶意软件分析, 扫描框架, 目标导入, 网络安全, 脆弱性评估, 自动化检测, 逆向工具, 防御性安全, 隐私保护