opandey1/SentinelScribe

GitHub: opandey1/SentinelScribe

基于三阶段 Actor-Critic 架构的 AI 流水线,将网络安全课程的音频转录文本转化为取证级准确的结构化 Markdown 学习指南。

Stars: 0 | Forks: 0

# 🛡️ SentinelScribe [![Python](https://img.shields.io/badge/Python-3.8%2B-3776AB?style=flat&logo=python&logoColor=white)](https://www.python.org/) [![NVIDIA NIM](https://img.shields.io/badge/NVIDIA%20NIM-Llama--3.3--70B-76B900?style=flat&logo=nvidia&logoColor=white)](https://build.nvidia.com/) [![模型](https://img.shields.io/badge/Model-meta%2Fllama--3.3--70b--instruct-orange?style=flat)](https://build.nvidia.com/meta/llama-3_3-70b-instruct) [![架构](https://img.shields.io/badge/Architecture-Actor--Critic%203--Pass-blueviolet?style=flat)]() [![Obsidian](https://img.shields.io/badge/Output-Obsidian%20Vault-7C3AED?style=flat&logo=obsidian&logoColor=white)](https://obsidian.md/) [![许可证](https://img.shields.io/badge/License-MIT-green?style=flat)](LICENSE) ## 📌 概述 SentinelScribe 旨在解决一个特定问题:由语音转文本工具(如 Otter.ai)生成的原始讲座转录文本充满噪音、缺乏结构且存在大量音标错误——这使得它们在技术学习方面几乎毫无用处。简单的单次提示并不够;模型会产生 CLI 标志的幻觉,静默地“纠正”未验证的 IOC 值,并总是遗漏整段内容。 解决方案是一个**三阶段 Actor-Critic 流水线**,将生成、验证和纠正分离为独立的、专门的角色——从而生成准确度足以作为事件响应参考的学习指南。 **专为以下内容设计:** TCM Security SOC 101/201 课程,但也适用于任何技术网络安全讲座系列。 **输出格式:** 结构化的 Markdown(`.md`)文件,可直接导入 Obsidian 库。 ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ SentinelScribe Pipeline │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ PASS 1 │ │ PASS 2 │ │ PASS 3 │ │ │ │ ACTOR │────►│ CRITIC │────►│ FIXER │ │ │ │ (Generate) │ │ (Validate) │ │ (Correct) │ │ │ │ │ │ │ │ │ │ │ │ Streaming │ │ Non-streaming│ │ Non-streaming │ │ │ │ max_tok=4096 │ │ max_tok=4096 │ │ max_tok=8192 │ │ │ │ │ │ │ │ │ │ │ │ Converts raw │ │ CoT gap │ │ Applies fixes; │ │ │ │ transcript │ │ analysis vs. │ │ outputs FULL │ │ │ │ → 7-section │ │ original │ │ corrected doc │ │ │ │ Markdown │ │ transcript │ │ │ │ │ └──────────────┘ └──────┬───────┘ └──────────────────┘ │ │ │ │ │ "VALIDATION PASSED"? │ │ ──► Skip Pass 3, save API call │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 为什么需要三个阶段? 单阶段的 LLM 在处理长转录文本时会遭遇**注意力退化**——它会生成一个结构看起来完整的文档,同时静默地丢失具体细节。通过分离工作负载: | 阶段 | 角色 | 职责 | |------|------|----------------| | 阶段 1 (Actor) | 生成器 | 仅负责格式化和结构提取 | | 阶段 2 (Critic) | 验证器 | 使用 CoT 检查表进行独立语义审计 | | 阶段 3 (Fixer) | 纠正器 | 针对性修复;输出完整文档 | ## 📋 输出结构 每份生成的学习指南均遵循一致的 7 节模式: | # | 章节 | 内容 | |---|---------|----------| | 1 | 课程目标与核心概念 | 学习目标、理论背景、教学类比 | | 2 | 端口、协议与关键值 | 包含详尽注释列的参考表 | | 3 | 命令行语法 | 每个 CLI 命令的围栏代码块 | | 4 | 工具与基础设施 | 工具、收集方法(SPAN 端口、分流器、NetFlow) | | 5 | 标志、设置与配置 | 按工具分类的标志表(tcpdump、grep 等已分离) | | 6 | 分析师技巧与 IR 方法论 | 按顺序保留的编号式 IR 逐步序列 | | 7 | IOC 与取证工件 | 3 列表格:IOC / 工件 \| 类型 \| 描述 | ## ✨ 主要特性 - **零幻觉模式** — `temperature=0.0` + `top_p=0.1` 强制模型充当严格的转录提取器,而非知识生成器 - **取证完整性** — 混乱或无法验证的值(IP、文件名)会被标记为 `[transcription unclear]`,而不是被静默“纠正” - **音标纠正映射** — 强制修复已知 Otter.ai 失败的语音转文本错误(例如,`'cobalt stripe'` → Cobalt Strike,`'Sierra cotta'` → Suricata) - **思维链(CoT)验证** — Critic 阶段在检查笔记之前,会建立转录文本中每个技术项目的内部检查表——这是捕获遗漏内容的唯一可靠方法 - **工具标志隔离** — 不同工具(例如,`grep` 与 `tcpdump`)的标志绝不混淆;接口名称绝不会被解析为标志 - **高性价比** — 当 Critic 未发现遗漏时,将自动跳过阶段 3 - **Obsidian 就绪** — 输出文件可直接放入 Obsidian 库,无需手动编辑 ## 🛠️ 技术栈 | 组件 | 技术 | |-----------|-----------| | 语言 | Python 3.8+ | | LLM 提供商 | NVIDIA NIM(免费层) | | 模型 | `meta/llama-3.3-70b-instruct` | | API 兼容性 | OpenAI SDK(`openai` Python 包) | | 输出格式 | Markdown(`.md`) | | 目标笔记应用 | Obsidian | ## 🚀 入门指南 ### 前置条件 - Python 3.8 或更高版本 - 一个免费的 [NVIDIA NIM API 密钥](https://build.nvidia.com/) ### 安装 ``` # 1. 克隆 repository git clone https://github.com/YOUR_USERNAME/sentinelscribe.git cd sentinelscribe # 2. 安装 dependencies pip install openai # 3. 添加你的 API key # 打开 Transcript_to_md.py 并替换 placeholder: # api_key = "xxxxxxxxxx" # 为你的实际 NVIDIA NIM API key ``` ### 配置 打开 `Transcript_to_md.py` 并更新顶部的三个配置常量: ``` INPUT_DIR = "path/to/your/transcript/folder" # Folder containing .txt transcript files OUTPUT_DIR = "path/to/your/output/folder" # Where .md files will be saved MODEL = "meta/llama-3.3-70b-instruct" # NVIDIA NIM model (can be swapped) ``` ### 使用方法 ``` # 将你的 .txt transcript 文件放置在 INPUT_DIR 中,然后运行: python Transcript_to_md.py ``` **控制台输出示例:** ``` Found 7 transcript(s) to process. ══════════════════════════════════════════════════ Processing: 6_tcpdump_Analyzing_Network_Traffic_transcript.txt ────────────────────────────────────────────────── Pass 1 — Generating notes: [Done] Pass 2 — Validating notes: [Done] ── Validation Report ── • Section 5: grep flags (-E, -i, -v) placed in tcpdump flag table • Section 7: IP 85.239.53.219 appears twice in IOC table ──────────────────────────────────────────────── Pass 3 — Fixing notes: [Done] Saved: path/to/output/6_tcpdump_Analyzing_Network_Traffic_transcript.md ``` ## 📁 项目结构 ``` sentinelscribe/ │ ├── Transcript_to_md.py # Main pipeline script │ ├── input/ # Place raw .txt transcript files here │ └── (your transcripts) │ ├── output/ # Generated .md files saved here │ └── (generated study guides) │ ├── docs/ │ └── SentinelScribe_Pipeline_Changelog.pdf # Full engineering changelog │ └── README.md ``` ## 🔬 工程演进历程 本项目经历了三个不同的阶段,每个阶段都由在 QA(质量保证)期间发现的具体失败模式所驱动: | 阶段 | 重点 | 解决的核心问题 | |-------|-------|--------------------| | **V1** | 基础设施 | OpenAI 配额限制;流式聚合;Token 限制 | | **V2** | 提示词护栏 | 幻觉;语义渗透;从 4 节模式升级至 7 节模式;取证完整性 | | **V3** | Actor-Critic 架构 | 注意力退化;通过 CoT 验证检测遗漏内容 | 有关每次更改的完整技术细节,请参阅 [`docs/SentinelScribe_Pipeline_Changelog.pdf`](docs/SentinelScribe_Pipeline_Changelog.pdf)。 ## 💡 项目扩展 SentinelScribe 采用模块化设计。以下是一些简单直接的扩展方向: - **替换模型** — 更改 `MODEL` 常量以使用任何兼容 OpenAI 的端点(GPT-4o、Claude API、Gemini 等) - **添加新课程** — 7 节模式和护栏与课程无关;适用于任何技术网络安全讲座 - **自定义纠正映射** — 在 `SYSTEM_PROMPT` 的规则 3 中,为您的语音转文本工具添加特定领域的音标错误 - **自动导入 Obsidian** — 将 `OUTPUT_DIR` 直接管道输出到您的 Obsidian 库文件夹 ## 📄 许可证 本项目基于 MIT 许可证授权——有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 - [TCM Security](https://tcm-sec.com/) — 激发本项目灵感的 SOC 101/201 课程内容 - [NVIDIA NIM](https://build.nvidia.com/) — 免费层 LLM 推理 API - [Obsidian](https://obsidian.md/) — 目标知识管理平台 - [Otter.ai](https://otter.ai/) — 源语音转文本转录工具
标签:Actor-Critic, AI内容生成, AI教育, DLL 劫持, Llama-3, Markdown, NLP, NVIDIA NIM, Obsidian, Python, SOC分析师, 人工智能, 多遍处理, 大语言模型, 学习工具, 学习笔记, 安全教育, 幻觉校正, 技术栈, 教育技术, 数字取证, 文本清洗, 文本结构化, 文档处理, 无后门, 用户模式Hook绕过, 知识管理, 笔记系统, 网络安全, 网络安全课程, 自动化脚本, 自动摘要, 课程转录, 逆向工具, 防御加固, 隐私保护, 音频转录