面向气隙渗透测试的离线AI安全助手
离线渗透测试 AI 助手。粘贴你的工具输出,用简单英文提问,即可得到基于实际数据的答案。无需互联网连接,无需 API 密钥,所有数据不离开本机。
完全在 CPU 上运行。已在标准笔记本硬件上测试通过。
已在以下硬件上测试:AMD Ryzen AI 9 365,24GB 内存。该硬件上查询耗时 2-5 秒。16GB 内存也能运行,但请先关闭其他所有占用内存的程序。
git clone https://github.com/Sydsec/syd
cd syd
python setup.py
python syd.py
安装过程会自动下载模型(约 9.7GB)和嵌入模型(约 90MB)。无需 HuggingFace 账户。根据网络速度,耗时约 20-30 分钟。完成后所有功能均可离线运行。
如果在安装 llama-cpp-python 时遇到错误,请在运行 setup.py 之前手动执行以下命令:
pip install llama-cpp-python==0.3.16 --force-reinstall --no-cache-dir --config-settings="cmake.args=-DGGML_AVX2=OFF;-DGGML_AVX=OFF;-DGGML_F16C=OFF;-DGGML_FMA=OFF"
这是某些 Windows 环境中已知的兼容性问题。该 cmake 标志禁用 AVX2,避免在某些 CPU 上导致崩溃。
分三个阶段。首先,你的扫描文件会被确定性解析——不使用 AI,纯正则表达式和结构化解析,确保数据提取始终准确。其次,从本地 FAISS 索引中提取相关的技术文档。最后,Qwen 2.5 14B 仅基于这些验证过的事实生成答案。
生成的答案随后会与你的扫描实际内容进行核对。如果模型引用了数据中不存在的 IP、进程或主机名,答案会被阻止并重新生成。这就是防止幻觉的机制。
在相应标签页中加载文件或粘贴输出。点击“Analyse”。分析完成后,在“Ask Syd”框中输入问题。
以下示例效果良好:
Nmap: “哪些主机禁用了 SMB 签名?” / “显示所有非标准端口上的服务” / “10.0.0.15 的攻击面是什么?”
BloodHound: “到域管理员的最短路径是什么?” / “哪些用户可进行 Kerberoast?” / “显示所有具有非约束委派的计算机”
Volatility: “最可疑的进程是什么?” / “是否存在注入的进程?” / “列出所有外部网络连接”
“Model not found” — setup.py 未完成。请检查模型文件 rag_engine/models/qwen2.5-14b-instruct-q5_k_m.gguf 是否存在且大小约为 9.7GB。如果文件较小,说明下载被中断,请删除后重新运行 setup.py。
内存不足 — 关闭浏览器和其他占用内存的程序。16GB 内存下运行较紧张,24GB 则更宽松。
首次启动缓慢 — 属正常现象。加载模型需要 10-20 秒,之后每次查询耗时 2-5 秒。
FAISS 错误 — 索引随仓库一同提供。如果索引缺失或损坏,请运行 python build_all_databases.py。
企业版在此仓库所有功能基础上,增加了 Metasploit 和 Sliver C2 分析。
如果你在进行红队演练,一定清楚问题所在——由于 NDA 和客户数据限制,你无法将会话输出粘贴到 ChatGPT。企业版为你提供完全离线的 AI 分析,适用于你的 MSF 会话和 Sliver Beacon。询问发生了什么、下一步如何横向移动、这些凭证在上下文中的含义。
联系方式:[email protected] 或 https://sydsec.co.uk
YouTube 上的教程和演练视频:https://www.youtube.com/@paularmstrong8306
在深入使用前值得观看——展示了针对真实渗透测试数据的实际工作流程。
Qwen 2.5 14B Instruct,Q5_K_M 量化。Temperature 0.05-0.1 以保持答案精确。重复惩罚 2.8-3.2。上下文窗口 8192 tokens。
嵌入模型:all-MiniLM-L6-v2。向量存储:FAISS(IndexFlatIP,余弦相似度)。
Paul Armstrong — https://sydsec.co.uk — YouTube:https://www.youtube.com/@paularmstrong8306