MohsenBah/clinical-ai-detections

GitHub: MohsenBah/clinical-ai-detections

这是一个Wazuh规则集,用于检测临床AI系统中的安全威胁,如提示注入和PHI探测,以增强医疗AI部署的安全监控。

Stars: 0 | Forks: 0

# 临床AI检测 针对临床LLM部署攻击的检测工程内容。 本仓库包含Wazuh规则、日志样本、检测文档以及用于监控临床AI网关的未来仪表盘内容。 ## 目标 目的是检测针对临床AI系统的可疑及对抗性行为,包括: - 提示注入尝试 - 系统提示提取尝试 - PHI探测行为 - 异常API使用 - 模型访问或篡改信号 本仓库是MedSecLab产品组合架构的一部分。 ## 当前重点 首个检测目标是临床AI网关审计日志中产生的被阻止的提示注入活动。 该网关输出结构化JSON日志,例如: ``` { "timestamp": "2026-05-09T18:24:10.442Z", "event_type": "query", "request_id": "def-456", "user_id": "demo-user", "session_id": "demo-session", "decision": "blocked", "reason": "blocked_pattern:ignore all previous instructions", "query_length": 74, "latency_ms": 2.1 } ``` ## AI安全检测流水线 临床AI网关输出结构化JSON审计事件,这些事件流经可观测性与检测技术栈: ``` ┌─────────────────────────────┐ │ Clinician │ │ (Kasm Workspace) │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ AI Gateway │ │ FastAPI + Guardrails │ │ │ │ - Prompt injection checks │ │ - PHI filtering │ │ - Request validation │ │ - Output filtering │ └──────────────┬──────────────┘ │ │ Structured security telemetry ▼ ┌─────────────────────────────┐ │ Promtail │ │ Log Shipping │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Loki │ │ Log Aggregation │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Grafana Dashboards │ │ Visualization & Alerting │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Wazuh Detections │ │ │ │ - Prompt injection │ │ - Instruction override │ │ - Repeated probing │ │ - PHI probing │ │ - Abnormal query behavior │ └─────────────────────────────┘ ``` ### 架构组件 | 组件 | 用途 | |------------|------| | **AI网关** | 具有输入/输出验证防护栏的FastAPI应用程序 | | **security.log** | 结构化JSON安全遥测数据(10MB轮换,5份备份) | | **Promtail** | 日志传输器,跟踪security.log并转发至Loki | | **Loki** | 用于查询和存储日志流的日志聚合系统 | | **Grafana** | 可视化、指标和告警的仪表盘 | | **Wazuh** | 用于检测规则、关联和合规的SIEM系统 | ### Grafana可观测性技术栈 ![Grafana流水线](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f16e74eb77054846.png) ## 检测示例 **Wazuh规则警报 - 提示注入被阻止** ![Wazuh警报](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/892c43c6ee054847.png) **自定义Wazuh规则配置** ![Wazuh规则](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3bbe9371a4054848.png) **Wazuh安全仪表盘** ![Wazuh仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e5d144c7a5054848.png) ## 仓库结构 ``` clinical-ai-detections/ ├── README.md ├── docs/ │ ├── correlation-rules.md │ ├── coverage-matrix.md │ ├── data-sources.md │ ├── detection-roadmap.md │ ├── grafana.png │ ├── wazuh-alert-ai.png │ ├── wazuh-dash.png │ └── wazuh-rule-ai.png ├── wazuh/ │ ├── decoders/ │ │ └── ai-gateway-json.xml │ ├── rules/ │ │ └── 100100-prompt-injection.xml │ └── tests/ │ ├── prompt-injection-log-samples.json │ └── wazuh-logtest-notes.md └── grafana/ └── dashboards/ ├── clinical-ai-security-overview.json ├── prompt-injection-dashboard.json └── README.md ``` ## 检测策略 检测流水线使用多条数据路径: | 路径 | 技术 | 用例 | |------|------|------| | **Wazuh规则** | 自定义解码器+规则 | 实时SIEM告警 | | **Grafana + Loki** | LogQL查询 | 临时调查、指标 | | **关联** | Wazuh频率/时间框架 | 行为异常检测 | 检测逻辑聚焦于: | 信号 | 检测价值 | |------|----------| | `decision=blocked` | 网关拒绝了请求 | | `reason=blocked_pattern:*` | 匹配到提示注入模式 | | 重复阻止事件 | 可能为探测或自动化攻击 | | 高查询长度 | 可能为数据渗漏或填充尝试 | | 非工作时间活动 | 可能为可疑访问模式 | ## 首条检测规则 第一条Wazuh规则检测被阻止的提示注入尝试: ``` Rule ID: 100100 Name: Clinical AI Gateway prompt injection attempt blocked Severity: 8 ``` ## 关联规则 使用Wazuh关联的高级行为检测: - **规则100200**:重复探测(同一用户在5分钟内发生3次或以上阻止事件) - **规则100300**:PHI探测(针对个人健康信息的查询) - **规则100400/401**:异常查询长度检测 详细文档参见 [docs/correlation-rules.md](docs/correlation-rules.md)。 ## 未来工作 计划中的检测功能: - PHI探测行为 - 同一用户/会话的重复阻止尝试 - 异常查询长度 - 非工作时间访问 - 模型篡改指标 - RAG投毒尝试 ## 相关仓库 此检测内容专为以下系统生成的日志设计: ``` clinical-ai-gateway ``` ## 状态 **阶段2已完成** - 行为检测与可视化 - ✅ Wazuh解码器(原生JSON解析) - ✅ 5条检测规则(100100-100401) - ✅ 21个测试样本(包含PHI探测、速率限制、正常查询) - ✅ 2个Grafana仪表盘(安全概览、提示注入) - ✅ 关联规则文档 - ✅ 完整的检测流水线及截图 - ✅ Promtail → Loki → Grafana 可观测性技术栈
标签:AI安全防护, AV绕过, FastAPI, Wazuh, 个人健康信息过滤, 临床LLM保护, 临床人工智能, 人工智能安全, 医疗AI防护, 医疗健康, 合规性, 大型语言模型安全, 安全观测性, 异常API监控, 攻击检测规则, 时间线生成, 模型访问控制, 结构化日志, 零日漏洞检测