maureille/agentic-pcap

GitHub: maureille/agentic-pcap

该项目提供了一套基准测试框架及数据集,用于评估和复现使用工具调用型LLM智能体自主分析原始PCAP文件并检测网络攻击的完整研究流程。

Stars: 0 | Forks: 0

# 用于网络攻击检测的 Agentic LLMs 本项目评估使用 agentic LLMs 进行自主网络流量调查。在仅给定数据包捕获(PCAP)文件路径和 11 种可能攻击的自然语言描述的情况下,OpenCode agent 会选择并执行自己的数据包分析查询,使其适应连续的观察结果,并返回一个捕获级别的决策。模型不接收任何预计算的数据包特征或流量摘要。 ## 从完整的研究版本开始 [**Hugging Face 数据集与产物页面**](https://huggingface.co/datasets/maureille/agentic-pcap) 是规范的项目主页。它提供了完整的实验描述、44 个 PCAP、所有 4,752 项已记录的调查、prompt 变体、模型配置、汇总结果、许可信息和引用元数据。 本 GitHub 仓库专注于 MIT 许可下的实现和复现工作流。如需面向论文的结果表格、图表和会话 dashboard,请从 [GitHub Pages 结果门户](https://maureille.github.io/agentic-pcap/) 开始。 基准测试比较了两种流量条件: - **低背景流量:** 捕获仅包含场景流量和测试台的正常空闲活动。不生成额外的背景流量。 - **生成的高背景流量:** 将相同类型的场景与大量自动生成的良性流量相结合。 每种条件包含 11 个攻击捕获和 11 个良性捕获。 **44 个 PCAP · 11 个攻击类别 · 6 种 prompt 变体 · 18 种模型/推理配置 · 4,752 项完整的 agent 调查** 该版本保留了完整的调查轨迹,而不仅仅是最终预测,以便检查查询选择、工具使用、观察结果、prompt 指导、失败模式和 token 消耗。 ## 探索结果 [GitHub Pages 结果门户](https://maureille.github.io/agentic-pcap/) 是用于查看论文结果交互版本和完整 4,752 次 session dashboard 的唯一 Web 入口。它展示了结果表格、所有七张论文图表、模型比较以及指向详细 session 浏览器的链接,且无需下载。 由 Matthieu Aureille 和 Jan Fesl 撰写的配套研究论文目前正在准备出版,并很快可用。公开版本发布后,将立即在此处添加链接。 ## 仓库内容 | 路径 | 内容 | |---|---| | `config/` | 捕获标签、研究设置和通用本地编排模板 | | `docker/` | 带有数据包分析和 agent 工具的 Kali rolling 镜像 | | `docs/` | GitHub Pages 主页、交互式论文结果、图表和 session dashboard | | `prompts/` | 研究中使用的六种 prompt 变体 | | `scripts/*.py` | 稳定的命令行入口点 | | `scripts/agentic_pcap/` | 基准测试、session、报告和编排实现 | | `reproducibility/` | 记录的软件、模型和测试床元数据 | | `vllm_parsers/` | 固定的第三方 Gemma 4 chat-template 镜像 | | `LICENSES/` | 重新分发的第三方文件的许可文本 | | `pyproject.toml` | Python 格式化和 lint 配置 | | `opencode.json` | 示例 OpenCode provider 配置 | | `RUNBOOK.md` | 全新的 Debian/Ubuntu 设置和执行指南 | 生成的 prompt 文件与实验中使用的完全一致。在该文本中,“anonymized attacks”是指攻击名称隐藏在通用标签背后;它并不指代数据包数据的匿名化。 ## 架构 直接位于 `scripts/` 下的文件是小型命令行入口点。基准测试逻辑被组织在 `scripts/agentic_pcap/` 下的专注模块中。 ``` configuration + prompts + one PCAP path ↓ benchmark runner ↓ workspace - OpenCode - session export ↓ retained run artifacts ↓ scoring and reporting ↓ CSVs + dashboards ``` | 模块 | 职责 | |---|---| | `runs`, `workspace` | 捕获映射、prompt 注入、托管路径和清理 | | `opencode`, `session_render` | OpenCode 进程、session 恢复、最终答案以及保留的 HTML/Markdown 导出 | | `matrix`, `results` | 执行、并行调度、修复/恢复、评分和批处理元数据 | | `reporting`, `dashboard`, `variant_report` | 汇总指标、CSV 输出和自包含 dashboards | | `orchestration_config`, `orchestration_remote`, `orchestration` | 类型化配置、SSH/vLLM 生命周期、队列状态和交互式执行 | `scripts/orchestrate_benchmarks.py` 是可选的,当需要在基准测试批次前后启动和停止远程 vLLM 服务器时使用。捕获标签定义在 `config/benchmark_runs.csv` 中;确切的 prompt 文本由 `prompts/prompt_variants.py` 生成。提交的 `docs/index.html` 是简短的项目登陆页面。`docs/results/` 包含交互式论文结果伴侣,而 `docs/dashboard/` 包含从完整发布的 session 生成的自包含 dashboard。 ## 设置与执行 Python 基准测试实现仅使用标准库。实时调查还需要 OpenCode、TShark、`tcpdump`、常见的 Unix 工具、44 个 PCAP 工作区以及至少一个已配置的模型 provider。 Agent 会执行不受限制的 shell 命令。请仅在隔离的 container 或一次性虚拟机中运行它们,切勿在个人工作目录中运行。 历史上的 vLLM 启动命令记录了研究环境,并非可移植的部署预设。文件 `config/benchmark_orchestrator.local.json` 提供了一个通用的起始模板,没有固定的 GPU 数量或内存值。在启动本地模型之前,请用实际的 accelerator、VRAM、驱动程序、模型权重和已安装的 vLLM 版本替换其显式的 `REPLACE_*` 值。两个引用的 Gemma 4 模板镜像在 `vllm_parsers/` 下。 完整的、可复制的 Debian/Ubuntu 程序,包括 Docker、Kali container、PCAP 下载和验证、专用 SSH 访问、硬件适配、单模型验证、编排、恢复和 dashboard 生成,都在[全新机器执行指南](RUNBOOK.md)中。 发布的 session、最终答案和预构建的 dashboards 可在 Hugging Face 上的 `artifacts/primary_runs/` 下获取。 ## 实验协议 - 44 个 PCAP:22 个攻击捕获和 22 个良性捕获; - 低和生成的高背景流量条件; - 以通用标签呈现的 11 个攻击类别; - 六种 prompt 变体; - 每次捕获一个固定的预期输出; - 在伴随研究中报告的 18 种配置中完成了 4,752 项调查。 未应用采样或覆盖 seed;每个运行时或 provider 使用其记录的默认配置。确切的模型和环境信息保留在 `reproducibility/` 下。 ## 引用 如果您使用此基准测试,请引用 [Hugging Face 数据集](https://huggingface.co/datasets/maureille/agentic-pcap) 并参考此 [GitHub 代码仓库](https://github.com/maureille/agentic-pcap)。 **建议的数据集引用** **BibTeX** ``` @misc{aureille2026agentic, author = {Matthieu Aureille and Jan Fesl}, title = {Agentic LLMs for Network Attack Detection}, year = {2026}, howpublished = {Hugging Face dataset}, note = {Version 1.0.0}, url = {https://huggingface.co/datasets/maureille/agentic-pcap} } ``` 本仓库的机器可读软件引用元数据可在 `CITATION.cff` 中获取。 ## 许可证 本项目对其软件和数据组件使用单独的许可证: - **软件 - MIT。** 基准测试运行器、编排和评分脚本、prompt 生成代码、dashboard 生成代码以及 GitHub Pages 演示软件均根据 MIT 许可证获得许可。完整条款请参见 `LICENSE`。 - **镜像的 chat templates - Apache 2.0。** `vllm_parsers/` 下的两个第三方 Gemma 4 Jinja 模板保留其上游的 Apache-2.0 许可证,并且不在本仓库的 MIT 授权范围内。它们的不可变来源和哈希记录在 `vllm_parsers/README.md` 中;许可文本在 `LICENSES/Apache-2.0.txt` 中。 - **数据集和实验产物 - CC BY 4.0。** PCAP 文件、捕获元数据、自然语言攻击描述、提交的 prompt 内容、记录的 agent session、最终决策、汇总结果表格、图表以及嵌入在 GitHub Pages 网站中的基准测试数据均根据 [知识共享署名 4.0 国际许可协议](https://creativecommons.org/licenses/by/4.0/) 获得许可。 完整的数据集许可证随 [Hugging Face 数据集](https://huggingface.co/datasets/maureille/agentic-pcap) 一起提供。 ### 归属与再分发 在 CC BY 4.0 许可下,允许对数据集和实验产物进行重用、再分发、修改和商业使用。在共享数据集或其修改版本时,请注明 Matthieu Aureille 和 Jan Fesl 的署名,链接到规范的 Hugging Face 发布版和 CC BY 4.0 许可证,并指示是否进行了更改。非官方镜像和衍生发布版应明确标识,并链接回规范的发布版。 MIT 许可的软件也可以被使用、修改、再分发和出售。软件的副本或实质部分必须保留版权和 MIT 许可声明。 在整个 `docs/` 中,HTML/CSS/JavaScript 演示软件受 MIT 保护,而页面中嵌入的调查记录、指标、表格和图表仍受 CC BY 4.0 保护。 版权 © 2026 Matthieu Aureille 和 Jan Fesl。
标签:IaC 扫描, 请求拦截, 逆向工具