vnageshwaran-de/agentic-iot-security

GitHub: vnageshwaran-de/agentic-iot-security

面向IoT网络安全的LLM智能体实验框架,提供提示词模板、多agent协调循环与Edge-IIoTset评测工具,配套学术论文的分类法实现。

Stars: 0 | Forks: 0

# Agentic IoT 安全实验室 综述论文 **“Agentic AI 和大型语言模型在自主 IoT 网络安全中的应用:系统性综述、分类法与研究路线图”** 的配套代码产出物。 本仓库通过提供以下内容,将原稿第 5 节中的四大支柱分类法进行了具体实现: - **`/prompts`** — 针对每种行动范围(异常解释、响应编排、威胁狩猎、漏洞发现、欺骗)的可重用系统提示词模板和 JSON 工具 schema。 - **`/core_loops`** — 单 agent ReAct 循环以及三种多 agent 协调模式(pipeline、debate、blackboard)的最小化、可复现的 Python 参考实现。 - **`/evaluation`** — benchmark 测试工具,用于在 Edge-IIoTset 风格的流量上运行 agent,并记录检测准确率和端到端延迟;此外还包含一个用于注入 prompt-injection 探针的对抗性测试工具。 - **`/data`** — 用于存放下载数据集的占位符(不进行再分发)。 ## 快速开始 ``` python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt # 针对 stub LLM 和 stub tools 运行 single-agent ReAct loop。 python core_loops/react_agent.py --model stub # 运行这三种 multi-agent patterns。 python core_loops/multi_agent.py --pattern pipeline python core_loops/multi_agent.py --pattern debate python core_loops/multi_agent.py --pattern blackboard # 在合成的 Edge-IIoTset 行上运行 evaluation harness。 python evaluation/benchmark.py --rows 200 # 运行 adversarial prompt-injection harness。 python evaluation/adversarial.py --probes 25 ``` 默认的 `--model stub` 后端实现了确定性响应,因此该测试工具可以离线运行。要针对真实的 LLM 运行,请设置 `--model openai|anthropic|llamacpp` 以及相应的 API 密钥/路径。 ## 项目结构 ``` . ├── README.md ├── requirements.txt ├── prompts/ │ ├── anomaly_interpretation.md │ ├── response_orchestration.md │ ├── threat_hunting.md │ ├── vulnerability_discovery.md │ ├── deception.md │ └── tool_schemas.json ├── core_loops/ │ ├── react_agent.py │ ├── multi_agent.py │ └── utils.py ├── evaluation/ │ ├── benchmark.py │ ├── adversarial.py │ ├── metrics.py │ └── datasets.py └── data/.gitkeep ``` ## 与原稿分类法的映射 | 分类法维度 | 本仓库中的位置 | |---|---| | 支柱 I — Agent 架构 | `core_loops/react_agent.py`, `core_loops/multi_agent.py` | | 支柱 II — 推理策略 | `react_agent.py` 中的 ReAct 循环;`utils.py` 中的反思辅助工具 | | 支柱 III — 行动范围 | `prompts/*.md`, `prompts/tool_schemas.json` | | 支柱 IV — 部署拓扑 | `--topology edge\|fog\|cloud` 标志在 `benchmark.py` 中切换模型大小和工具集 | ## 许可证 MIT。请参阅 `LICENSE`。 ## 引用 如果您基于此仓库进行开发,请引用配套的综述论文(完整的 BibTeX 条目请参见原稿参考文献)。 ## v0.2.0 最新更新 - **`evaluation/probes/PROVENANCE.md`** — 25 个 prompt-injection 探针的完整出处映射表(12 个来自 CyberSecEval 3,6 个来自 Greshake 等人发表于 ACM AISec 2023 的论文,7 个由作者针对 IoT 特定生成)。 - **`core_loops/multi_agent/` 现已成为一个包**,其中 `sanitize.py` 提供了原稿 §10.3 中描述的两阶段语法 + 语义 agent 间输入过滤器。 - **`evaluation/sample_runs/`** — 来自确定性 stub 模式的可复现输出,这些输出支持了 §10.3 中引用的验证数据(二分类 F1 = 0.83,多分类 macro F1 = 0.54,在 5,000 行数据的运行中实现了亚微秒级的 stub 延迟)。 - `core_loops/utils.py` 中的 **`PROMPT_INJECTION_PROBES`** 已从 5 个条目扩展至 25 个,以匹配出处映射表。 ## v0.2.0 以来的更新(第一轮修订对齐) - **`corpus/`** — 新增目录,提供了原稿 §§3.4–3.5 和 10 中引用的 PRISMA 语料库材料:编码提取矩阵(`extraction_matrix.csv`)和搜索策略/筛选文档(`search_strategy.md`)。该矩阵目前包含了支持修订后原稿量化统计数据的数据行(复合故障模式:5/153,§8.2;误报率报告:2/13,§5.3.4);其余数据行正在根据筛选记录进行填充——请参见 `corpus/README.md`。 - **Stub 运行文档已更新** — 在修订后的原稿中,健全性检查运行的描述从 §10.3 移至了附录 A;`evaluation/sample_runs/README.md` 现在明确指出 stub 数据仅用于验证测试工具的功能(未涉及任何语言模型)。
标签:AI智能体, CISA项目, DLL 劫持, Petitpotam, ReAct框架, 多智能体协同, 大语言模型, 物联网安全, 网络安全评测, 逆向工具