AI 搞网络安全到底行不行?这个问题过去半年被反复讨论,但多数回答停留在“能写 PoC 脚本”“能解释漏洞原理”这种表面结论上。如果真把一个 AI 辅助平台放进真实的渗透测试、代码审计、告警研判流程里,连续跑几个月,结论会比想象中复杂得多,也更实用。

核心矛盾在于:AI 不是不能用于网络安全,而是不同任务之间的成熟度差异极大。有些环节 AI 已经能显著压缩工时,比如告警降噪、日志摘要、代码审计初筛、漏洞报告结构化;有些环节仍处于“看起来很强,落地就翻车”的状态,比如全自动漏洞利用、复杂业务逻辑绕过、多步骤攻击链推演。半年实测下来,最靠谱的定位是:AI 是安全人员的“副驾驶”,不是“自动驾驶”。

这篇文章会把半年来在 AI 辅助网络安全方面的评测思路、验证方法、可用工具链、部署边界和常见坑一次性梳理清楚。全文不依赖某个特定商业产品,更多讨论通用的 LLM 能力与安全任务怎么组合,适合安全工程师、渗透测试人员、SRC 爱好者和负责安全运营的团队参考。

1. 核心能力速览

先把结论摆出来。AI 在网络安全领域不是一个单一工具,而是按任务域划分的一组能力组合。从实际可用性角度,我习惯把 AI 与安全的结合方式分成六大类,每一类的成熟度和使用门槛完全不同。

任务域 AI 扮演的角色 当前成熟度 人机协作方式
漏洞挖掘辅助 代码审计初筛、危险函数定位、数据流分析辅助 中等,适合做初审 AI 标记可疑点,人工复现确认
渗透测试辅助 信息收集整理、请求参数分析、payload 思路建议 中偏高,效率提升明显 AI 出思路,人工执行验证
告警研判 告警上下文总结、误报初步过滤、处置建议生成 较高,适合落地 AI 预处理,人工最终决策
日志分析 海量日志摘要、异常模式提炼、时序关联 较高,需处理上下文限制 分块抽取,AI 汇总
文档报告生成 渗透报告、代码审计报告、事件复盘文档 很高,直接能用 AI 起草,人工核对数据
安全知识问答 漏洞原理解读、CVE 信息检索、修复方案建议 较高,有幻觉风险 必须交叉验证

从这张表可以看出,凡是“强判断、高后果、需要最终负责”的任务,AI 目前都只能做辅助;凡是“重复劳动、信息整理、文本生成”的任务,AI 已经可以大幅提效。

从半年试用的整体体验来看,真正“意外”的点有三个:

第一,AI 在告警研判和日志分析上的提升比预期大。安全运营普遍面临告警疲劳,LLM 能把海量告警压缩成几条带上下文的关键信息,这直接改善了响应效率。

第二,AI 在代码审计中没有出现“一键找漏洞”的魔法,但对代码量很大的项目,它可以先把危险函数、未过滤输入、可疑拼接快速标记出来,人工复核范围明显缩小。

第三,AI 的“一本正经胡说八道”在安全场景中是真实风险。模型可能把不存在的高危漏洞写成确定结论,也可能把中危问题夸大成严重漏洞。这个问题没法通过换更大的模型完全解决,必须靠评测集和人工复核流程兜底。

2. 半年评测的总体思路与方法

很多团队试用 AI 安全工具都会犯同一个错误:没有固定评测集,今天拿一个靶场题目,明天拿一个真实项目片段,最后只能得到“感觉有用/感觉没用”的模糊结论。这次半年评测从一开始就固定了一套方法论,核心是“按任务建评测集,量化对比”。

2.1 评测维度

每个任务域固定从以下六个维度评估:

维度 说明 评估方式
准确率 AI 给出的结论是否真实有效 人工复核比对
误报率 把正常问题标记为漏洞或攻击的比例 白样本测试
召回率 需要发现的问题中,AI 发现的比例 与已知问题清单对比
耗时 完成批量任务的总时间 计时统计
成本 API 调用费用或本地推理功耗 按 token 和运行时间统计
可解释性 AI 结论能否追溯依据,是否可复现 检查输出是否附带证据链

这六个维度中,准确率和可解释性最重要。安全领域的 AI 输出如果不可解释,即使结论正确,也没有人敢直接执行。

2.2 评测数据来源

为了避免真实业务数据泄露,整个评测过程严格遵守数据安全边界:

  • 漏洞挖掘评测使用开源靶场、CTF 题目、本地搭建的测试代码仓库。
  • 告警研判评测使用脱敏后的模拟日志,不包含真实业务数据。
  • 日志分析评测使用公开数据集和自建的异常日志样本。
  • 文档生成评测使用脱敏后的测试报告模板。

所有评测数据不允许上传到未获授权的第三方平台。如果必须使用云端 API,一律先做脱敏处理。

2.3 成功标准

评测不是看 AI “说得对不对”,而是看“是否正确 + 是否可落地 + 是否带来效率提升”。判定为成功的标准是:

AI 给出的结论经过人工复核后成立,且生成时间比人工从零开始至少节省 50%,同时没有引入新的安全风险。

这个标准很苛刻,但也只有这样的标准,才能筛选出真正能进入生产流程的 AI 能力。

3. 本地部署还是 API 调用?硬件与安全边界

AI 安全工具的部署方式,直接影响数据安全和使用门槛。

3.1 数据敏感度决定部署方式

安全场景的数据天然敏感。源代码、漏洞详情、内网日志、真实告警数据,都属于高敏感信息。所以在实际工程中,部署方式按数据敏感度分级:

数据级别 示例 推荐部署方式
公开数据 CVE 描述、公开 PoC、漏洞库资料 API 调用或本地部署均可
敏感数据 自研代码、内网流量日志 本地私有化部署
高敏感数据 包含个人信息、密钥、未公开漏洞 本地部署 + 严格访问控制,禁止外传

从性价比角度看,如果只是查询漏洞信息、生成报告,使用商用 API 完全够用;如果要把源码和告警日志喂给模型分析,建议优先考虑本地部署。

3.2 本地模型与 API 模型的取舍

本地部署的优势是数据不出内网,但模型能力通常弱于同代商用闭源模型。API 调用上限更高,但每条数据都会经过第三方服务,存在合规风险。

在实际项目中,更稳妥的做法是“两端结合”:

  • 高敏感数据走本地小模型做粗筛,粗筛后的结构化结果再交给强模型做深度分析。
  • 所有数据在进入模型前完成脱敏,把 IP、域名、账号、密钥替换成无意义标识。

3.3 硬件门槛与显存占用

本地部署 LLM 的显存占用没有一个固定值,完全取决于模型参数规模和量化方式。7B 级别模型经过 4bit 量化后,可以在 6G 到 8G 显存的消费级显卡上运行;13B 到 14B 级别需要 10G 到 16G;70B 级别通常需要多卡或大显存服务器。这个范围只是通用经验,具体占用要以实际模型的量化版本和推理框架为准。

如果本机显存不足,还可以考虑 CPU 推理,但速度会明显下降,只适合小批量测试,不适合生产。另一个选择是把推理服务放在内网 GPU 服务器上,团队成员共享访问,这样既控制数据边界,也分摊硬件成本。

4. AI 辅助代码审计与漏洞挖掘测试

这是半年评测中最受关注、也最容易产生误判的方向。结论先放在这里:AI 目前不能替代人工代码审计,但它可以把审计效率提升一个量级,前提是使用方式必须正确。

4.1 静态代码初审

AI 最合适的代码审计工作,不是“找出所有漏洞”,而是“用自然语言把代码逻辑说清楚,再标出可疑点”。这个定位更符合模型的能力边界。

以一个 Web 应用项目为例,完整测试流程如下:

  1. 把代码仓库按模块拆分,优先处理涉及用户输入、文件操作、数据库操作的模块。
  2. 对每个模块,让模型先描述整体逻辑,再标记出危险函数和输入流。
  3. 对模型标出的可疑点,人工复现验证。
  4. 验证通过的可疑点,再进一步由模型生成修复建议。

4.2 代码审计 Prompt 模板

实际使用中,下面这套 Prompt 模板效果稳定:

你是一名资深代码审计工程师,擅长 Web 应用安全。请对以下代码片段执行安全审计,按以下格式输出:

1. 功能概述:这段代码完成了什么功能。
2. 输入来源:列出所有接收外部输入的变量,标注来源。
3. 危险函数:列出代码中出现的危险函数,例如 SQL 拼接、命令执行、文件读取、反序列化等。
4. 可疑点:每个可疑点标注风险等级(高/中/低),说明可能的攻击路径。
5. 修复建议:给出具体的修改建议,需要包含关键代码示例。

注意:只能基于给定代码分析,不要臆测不存在的调用关系。

代码片段:
{在这里粘贴待审计代码}

这套模板的关键在于第 4 点和第 5 点:它强制模型区分“已确认的事实”和“可能性”,避免模型把推测写进结论。最后一句“只能基于给定代码分析”也很重要,能显著减少幻觉。

4.3 实际效果观察

从多轮测试看,AI 辅助代码审计的实际表现分三种情况:

  • 简单注入类问题:AI 能稳定识别 SQL 注入、XSS、命令注入等传统漏洞,准确率较高。
  • 复杂业务逻辑漏洞:AI 表现不稳定。比如越权、订单金额篡改、验证码绕过这类问题,依赖业务上下文,模型很容易漏掉。
  • 跨文件数据流分析:如果漏洞链路散布在多个文件,AI 的上下文窗口往往不够,需要人工把相关代码片段整理后喂进去,才能得到有效结论。

最有效的用法是把 AI 当作“第一轮 reviewer”:它快速过滤掉明显的问题,把可疑集中区域展示出来,人工接着深入分析。

4.4 判断成功的标准

AI 审计结果是否可用,可以用下面几条判断:

  • 每条结论是否附带具体的代码行号和输入来源。
  • 每条结论是否区分“确认存在”和“疑似存在”。
  • 修复建议是否给出可落地的代码,而不是泛泛而谈。
  • 人工复现后,AI 标出的高危问题是否真实存在。

如果 AI 输出的漏洞结论没有代码行号、没有输入来源、没有复现路径,即使描述看起来专业,也要打回重跑。

5. AI 辅助告警研判与日志分析

相比漏洞挖掘,告警研判和日志分析是 AI 落地最顺畅的方向。

5.1 数据准备与处理

告警数据通常数量大、重复多、上下文碎片化。直接扔给模型效果很差。正确的做法是:

  1. 先做字段提取,把原始日志转成结构化 JSON。
  2. 按同源 IP、同攻击指纹、同时间窗口做聚合。
  3. 把聚合后的告警摘要输入模型。
  4. 模型输出研判结论、风险等级和处置建议。

这个流程的核心是让模型处理已经压缩过的信息,而不是让它直接读原始日志。

5.2 调用大模型做告警研判

下面是一个通用调用示例,代码是伪代码级别的通用模板,实际使用时需要替换模型服务的地址和请求格式:

import requests
import json

# 通用大模型 API 调用示例,实际接口以所用模型服务为准
url = "http://your-model-service/api/analyze"
headers = {"Content-Type": "application/json"}

alert_summary = """
目标: 10.0.0.8
时间窗口: 2026-01-15 14:00 - 14:30
告警数量: 237
攻击指纹: SQLMap SQL Injection Scan
命中规则: OWASP CRS SQL Injection
目标端口: 443
源IP归属: 境外地址池
"""

payload = {
    "prompt": f"""
    你是一名安全运营工程师,请基于以下告警摘要判断风险等级和处置建议。
    输出格式:
    1. 风险等级(低/中/高/严重)
    2. 判断依据
    3. 是否建议立即封禁源IP
    4. 处置建议(不超过100字)

    告警摘要:
    {alert_summary}
    """,
    "temperature": 0.2,
    "max_tokens": 500
}

response = requests.post(url, json=payload, timeout=60)
result = response.json()
print(json.dumps(result, ensure_ascii=False, indent=2))

注意几个要点:

  • temperature 要调到 0.2 以下,降低随机性。
  • 输出格式要强制约束为结构化文本。
  • 每次请求只分析一个告警聚合结果,不要一口气塞大量日志。

5.3 批量日志分析脚本

对于大批量日志,更推荐的做法是“先本地聚合,再分批送模型”,避免接口超时和上下文溢出。

#!/bin/bash
# 通用批量处理模板,按实际日志格式调整
# 1. 先用 grep/awk 提取关键字段
# 2. 按攻击类型聚合统计
# 3. 将聚合结果写入临时文件
grep "SQL Injection" /var/log/ids/alert.log | \
  awk -F ',' '{print $1, $3, $4, $7}' | \
  sort | uniq -c | sort -nr | head -50 > /tmp/alert_top50.txt

# 4. 再分批读取 /tmp/alert_top50.txt 的内容,构造模型请求
# 5. 输出保存到 /tmp/alert_analysis_result.txt

批量任务必须考虑失败重试。日志分析偶尔会出现接口超时、限流或者解析失败,脚本里要加异常捕获,把失败任务写入单独列表,下次运行时续跑。

5.4 效果观察与注意点

从半年测试的整体感受看,AI 告警研判在“降噪”环节提升最明显。安全运营团队日常面对大量低危误报,AI 可以把这些重复信息压成一行结论,让分析人员只关注真正需要人工介入的告警。

但有两个问题需要特别注意:

第一,模型对未知攻击模式的识别能力有限。如果是一个从未出现过的新型攻击手法,模型给出的判断依据往往来自对已有知识的归纳,可能出现偏差。

第二,模型上下文窗口有限。日志分析超过模型上下文限制后,信息会被截断,必须在进入模型前完成压缩聚合。

这两点意味着,AI 告警研判适合作为数据预处理层,不适合作为唯一的决策层。

6. 安全测试与 SRC 挖洞场景中的 AI 辅助

AI 辅助安全测试是最容易被误解的方向。很多人以为 AI 能自动扫描、自动利用漏洞、自动提交 SRC 漏洞,实际情况完全不是这样。

6.1 可用场景

在授权测试范围内,AI 在安全测试中的合理使用方式包括:

环节 AI 能做什么 人工必须做什么
信息收集 整理子域名、指纹、开放端口的数据 判断哪些资产属于授权范围
参数分析 分析请求包参数含义,标记可能的注入点 构造实际测试请求
payload 思路 根据漏洞类型给出绕过思路 实际执行利用与验证
数据包分析 解释复杂协议、编码内容 判断影响范围
报告编写 生成结构化漏洞描述、修复建议 确认漏洞真实性、风险等级

6.2 明确边界

AI 在安全测试中绝对不能做的,至少包括以下几条:

  • 不能对未授权的目标发起扫描和探测。
  • 不能直接把 AI 生成的攻击脚本放到真实业务系统上执行。
  • 不能把 AI 生成的 payload 用于绕过 WAF、绕过安全设备来攻击未授权系统。
  • 不能使用 AI 批量生成钓鱼邮件或社工话术。
  • 在 SRC 平台测试时,一切行为必须遵守平台规则和授权范围。

这些边界不是技术限制,而是合规和红线。安全人员使用 AI 的第一原则是:AI 给出的建议只是建议,所有实际动作必须由人在授权范围内判断和执行。

6.3 报告撰写是当前 AI 价值最大的环节

半年测试中最让我意外的是,AI 在渗透测试报告生成上的效率提升远比漏洞发现明显。一份标准的漏洞报告,通常包含漏洞描述、危害等级、复现步骤、修复方案。人工写一份详细报告可能需要 20 到 30 分钟,AI 在给定复现流程和影响范围后,5 分钟内能生成初稿,人工只需要核对事实和风险等级。

这也是我最推荐团队优先落地的 AI 场景:投入小,见效快,风险低。

7. 安全运营中的知识管理与内容安全辅助

除了直接对抗攻击,AI 在安全运营的知识管理和内容安全侧也有明确的落地价值。

7.1 漏洞知识库构建

安全团队通常需要维护内网漏洞库、修复方案库、排查手册。传统维护方式靠人工整理,更新慢,检索难。用 AI 辅助可以把公开 CVE 信息、内部复现记录、修复经验统一整理成结构化知识库,配合检索增强生成(RAG),让团队成员用自然语言查询历史漏洞处理经验。

此类任务的风险点是:AI 生成的知识条目可能包含幻觉。比如某个 CVE 的影响版本、修复版本描述错误,一旦被技术人员直接引用,会导致判断失误。因此知识库内容必须由专人二次审核后才能入库。

7.2 内容安全审核辅助

内容安全是网络安全的重要组成部分。AI 在涉政、暴恐、色情等违规内容的识别和审核中能承担批量预审工作,把明显违规的内容先过滤掉,再由人工复核高危内容。这类应用的边界同样明确:AI 只能做初筛,不能直接决定账号处置;涉及个人用户数据的处理必须严格遵守隐私保护要求,不得滥用。

8. 模型幻觉与误报排查方法

半年测试中最耗时间的部分,不是写 Prompt,而是排查 AI 输出的错误结论。下面把最常见的故障和排查思路列成清单。

问题现象 可能原因 排查方式 解决方案
AI 报告不存在的漏洞 模型幻觉,在先验知识中看到类似代码就强行关联 要求输出代码行号和复现路径 增加“只能基于给定代码分析”约束,降低 temperature
AI 把猜测写成确定结论 输出格式约束不足,模型未区分事实与推测 检查输出中是否有“可能”“疑似”等词 强制输出格式区分“确认”和“疑似”字段
长代码审计漏掉后半部分 上下文窗口超限,内容被截断 查看请求 token 数和实际输入长度 按函数或模块拆分,批量分摊后汇总
告警研判结论前后矛盾 同一批告警拆成多次请求,模型无状态 对比多次请求的输入内容 把聚合结果一次请求处理;必要时加外部记忆模块
本地推理速度慢 量化等级低、GPU 显存不足或使用 CPU 推理 观察推理日志的 token/s 指标 使用更高端 GPU,或切换更小的量化版本
API 调用频繁超时 单次请求太长或服务限流 查看服务端日志和调用频率 增加重试,分块提交,缩短 prompt
批量任务中途卡住 出现异常数据导致解析失败 检查任务日志中的异常堆栈 增加异常捕获,失败任务写入独立队列
模型给出不安全的修复建议 模型训练数据包含错误或过时方案 人工评审修复代码是否引入新问题 关键修复必须由有经验工程师复核

从排查经验看,大多数问题都不是模型能力不够,而是没有把输入数据“喂对”。垃圾进、垃圾出,这个定律在大模型场景下表现得特别明显。

9. AI 辅助安全工作的最佳实践

9.1 小样本基线先行

不要一上来就全面铺开,先选一个任务域,准备 20 到 50 个测试用例,建立基线。把传统方式(规则引擎、人工分析)的结果作为对照组,对比 AI 方案的准确率和耗时。只有基线达标,才值得进入生产流程。

9.2 统一评测集并定期回归

安全工具评测最忌讳“每次换一批测试数据”。建议固定一套评测集,包含已知漏洞样本、干净样本、真实脱敏日志。每次更换模型、调整 Prompt 后,都跑一遍回归,防止模型升级后某个能力反而退化。

9.3 结果必须人工复核

AI 输出只能作为半成品。代码审计的漏洞确认、告警的封禁决策、渗透测试的利用验证,必须由人工完成最终确认。任何 AI 生成的结论,在进入报告或处置流程前都要经过复核。

9.4 数据脱敏和访问控制

所有输入模型的数据都要先脱敏。IP、域名、用户名、密钥、手机号、身份证号,替换成占位符。模型服务本身也要做访问控制,只允许内网指定 IP 访问,必要时加 API Key 鉴权。

9.5 保留提示词版本和推理日志

AI 辅助工具需要像代码一样管理版本。每次修改 Prompt 都要记录变更原因和效果对比。推理日志要保留原始输入和输出,方便事后追溯“这个结论是什么时候、由哪个模型版本产出的”。

9.6 权限收敛与最小化原则

给 AI 工具的权限必须遵循最小化原则。如果 AI 服务只需要读代码仓库,就不要给它写权限;如果 AI 只需要分析日志,就不要让它能执行命令。任何被 AI 调用的外部工具都应该走独立沙箱,避免 AI 输出被恶意构造后触发非预期副作用。

10. 结论

回到最初的问题:AI 搞网络安全到底行不行?半年实测后的答案可以分成三句:

第一,AI 在安全运营、代码审计初筛、报告生成、知识管理方面已经具备明确的落地价值,不是玩具,能节省大量重复劳动。

第二,AI 在全自动漏洞挖掘、复杂业务逻辑判断、未知攻击识别方面仍然有限,不能替代有经验的安全研究人员。

第三,AI 在安全场景中最需要提防的不是“能力不足”,而是“一本正经地胡说八道”。只要用评测集、输出约束和人工复核把这层幻觉兜住,AI 就能成为一个可靠的安全生产力工具。

如果你也想做类似的验证,建议从两个任务开始:一是用本地代码仓库测试 AI 的代码审计初筛能力,二是用脱敏告警日志测试 AI 的告警研判能力。这两个任务数据集容易准备,效果容易量化,也是 AI 在安全领域性价比最高的入口。先把这两个方向跑通,再横向扩展到知识库、报告自动化和更多任务域,会顺畅很多。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐