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框架, 多智能体协同, 大语言模型, 物联网安全, 网络安全评测, 逆向工具