自动化渗透测试——用AI构建自动化渗透测试流程
用AI构建自动化渗透测试流程小团队的Red Team方案分类AI安全、渗透测试、自动化、红队写在前面渗透测试是检验安全防护效果的重要手段但专业渗透测试服务价格不菲基层单位往往几年才做一次。随着 AI 工具的成熟我尝试搭建了一套半自动化的渗透测试流程在授权范围内定期自测发现了很多平时忽略的安全问题。本文分享方案设计。声明本文所有内容仅适用于已获授权的安全测试。未经授权的渗透测试是违法行为。一、为什么需要自动化渗透测试传统渗透测试的局限成本高一次专业渗透测试通常 3-10 万元频率低因为贵通常一年做一次甚至更久覆盖面有限人工测试时间内能覆盖的范围有限依赖个人能力不同测试人员水平差异大AI辅助的优势成本低API 调用费用可忽略频率高可以每周甚至每天跑覆盖面广AI 可以同时处理大量目标标准化每次测试流程一致结果可对比二、自动化渗透测试框架架构┌────────────────────────────────────────────────────┐ │ 渗透测试编排引擎 │ │ │ │ ┌─────────┐ ┌──────────┐ ┌─────────┐ │ │ │ 信息收集 │ -│ 漏洞发现 │ -│ 漏洞验证 │ │ │ │ (Recon) │ │ (Scan) │ │ (Exploit)│ │ │ └─────────┘ └──────────┘ └─────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────┐ │ │ │ AI 分析与决策层 │ │ │ │ - 结果研判 │ │ │ │ - 下一步建议 │ │ │ │ - 误报过滤 │ │ │ │ - 报告生成 │ │ │ └─────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────┘三、阶段一智能信息收集3.1 多维度信息收集classReconPhase:信息收集阶段def__init__(self,target_scope:Dict):self.scopetarget_scope# 授权范围self.results{}defrun(self)-Dict:执行信息收集self.results{domains:self._enumerate_domains(),subdomains:self._enumerate_subdomains(),ports:self._port_scan(),services:self._service_detection(),web_apps:self._web_app_fingerprint(),technologies:self._tech_stack_detection(),}# AI 汇总分析returnself._ai_summarize()def_enumerate_subdomains(self)-List[str]:子域名枚举importsubprocess# 使用 subfinder 等工具resultsubprocess.run([subfinder,-d,self.scope[domain],-silent],capture_outputTrue,textTrue)subdomainsresult.stdout.strip().split(\n)# 验证存活的子域名alive[]forsubinsubdomains:ifself._is_alive(sub):alive.append(sub)returnalivedef_port_scan(self)-List[Dict]:端口扫描importsubprocess resultsubprocess.run([nmap,-sS,-sV,--top-ports,1000,-oX,-,self.scope[ip_range]],capture_outputTrue,textTrue)returnparse_nmap_xml(result.stdout)3.2 AI辅助信息汇总def_ai_summarize(self)-Dict:AI汇总分析信息收集结果promptf 你是一名渗透测试工程师正在分析信息收集阶段的结果。 目标范围{json.dumps(self.scope,ensure_asciiFalse)}收集到的信息{json.dumps(self.results,ensure_asciiFalse,indent2)}请分析 1. **攻击面评估** - 暴露的服务清单 - 每个服务的风险等级 - 可能存在的攻击路径 2. **高价值目标** - 哪些系统最可能存在漏洞 - 哪些系统一旦被攻破影响最大 - 建议优先测试的目标 3. **下一步行动建议** - 对每个高价值目标建议用什么方法测试 - 需要补充收集的信息 - 可能的安全控制绕过点 4. **风险评估** - 整体攻击面评分1-10 - 最紧急的 3 个安全问题 returncall_llm(prompt)四、阶段二漏洞发现4.1 自动化漏洞扫描classVulnerabilityScan:漏洞扫描阶段def__init__(self,recon_results:Dict):self.targetsrecon_resultsdefrun(self)-List[Dict]:vulnerabilities[]fortargetinself.targets[web_apps]:# Web 应用扫描vulnsself._web_scan(target)vulnerabilities.extend(vulns)forserviceinself.targets[services]:# 服务漏洞扫描vulnsself._service_scan(service)vulnerabilities.extend(vulns)# AI 去重和误报过滤returnself._ai_filter_false_positives(vulnerabilities)def_web_scan(self,target:Dict)-List[Dict]:Web应用漏洞扫描importsubprocess# 使用 nuclei 进行模板扫描resultsubprocess.run([nuclei,-u,target[url],-t,cves/,-t,vulnerabilities/,-json,-silent],capture_outputTrue,textTrue)vulns[]forlineinresult.stdout.strip().split(\n):ifline:vulns.append(parse_nuclei_json(line))returnvulnsdef_ai_filter_false_positives(self,vulns:List[Dict])-List[Dict]:AI过滤误报promptf 你是一名渗透测试专家。以下是自动化扫描发现的安全漏洞请判断哪些是真实漏洞哪些可能是误报。 发现的漏洞{json.dumps(vulns,ensure_asciiFalse,indent2)}请对每个漏洞评估 1. 真实性真实漏洞/可能误报/确定误报 2. 理由为什么这么判断 3. 验证建议如何确认这个漏洞是真实的 4. 优先级高/中/低 只保留真实漏洞和可能误报的条目去掉确定误报的。 resultcall_llm(prompt)returnresult五、阶段三漏洞验证PoC生成defai_generate_poc(vulnerability:Dict,target:Dict)-Dict: AI辅助生成漏洞验证方案 promptf 你是一名渗透测试工程师。需要验证以下漏洞是否真实存在。 漏洞信息{json.dumps(vulnerability,ensure_asciiFalse,indent2)}目标信息{json.dumps(target,ensure_asciiFalse,indent2)}请生成一个安全的验证方案 1. **验证方法** - 具体的验证步骤 - 需要使用的工具 - 预期的验证结果 2. **安全验证命令** - 只使用无害的验证方式如时间盲注的sleep、DNSLog等 - 不要执行破坏性操作 - 不要尝试获取敏感数据 3. **验证脚本** - 生成一个Python验证脚本 - 脚本应包含超时和错误处理 - 输出清晰的验证结果 4. **风险评估** - 验证过程对目标的影响 - 需要注意的事项 returncall_llm(prompt)实际验证脚本示例defverify_sqli(target_url:str,param:str)-Dict:验证SQL注入漏洞无害方式importrequestsimporttime results{vulnerable:False,evidence:[]}# 时间盲注验证使用 SLEEP 函数# 正常请求starttime.time()requests.get(f{target_url}?{param}1)normal_timetime.time()-start# 注入 SLEEPstarttime.time()requests.get(f{target_url}?{param}1 AND SLEEP(5)--)inject_timetime.time()-startifinject_time-normal_time4:results[vulnerable]Trueresults[evidence].append(f时间差异正常{normal_time:.2f}s vs 注入{inject_time:.2f}s)returnresults六、阶段四AI生成测试报告defgenerate_pentest_report(scope:Dict,recon:Dict,vulnerabilities:List[Dict],verified:List[Dict],)-str:生成渗透测试报告promptf 你是一名渗透测试报告撰写专家。请根据以下测试结果生成一份正式的渗透测试报告。 测试范围 {json.dumps(scope,ensure_asciiFalse,indent2)} 信息收集结果 {json.dumps(recon,ensure_asciiFalse,indent2)} 发现的漏洞 {json.dumps(vulnerabilities,ensure_asciiFalse,indent2)} 已验证的漏洞 {json.dumps(verified,ensure_asciiFalse,indent2)}报告结构 1. **执行摘要** - 测试时间、范围、方法 - 总体安全评估 - 关键发现管理层关注的内容 2. **测试详情** - 信息收集结果 - 发现的漏洞清单表格形式 - 每个漏洞的详细描述 3. **漏洞详情**对每个已验证漏洞 - 漏洞名称和编号 - 风险等级 - 影响描述 - 复现步骤 - 修复建议 - 参考链接 4. **安全建议** - 短期修复1周内 - 中期改进1个月内 - 长期规划3个月内 5. **附录** - 工具清单 - 测试时间线 returncall_llm(prompt)七、安全与合规必须遵守的红线书面授权所有测试必须有书面授权明确范围和时间窗口不得破坏不执行任何可能导致服务中断的操作不得窃取数据不下载、不查看真实业务数据及时清理测试结束后清理所有测试痕迹结果保密测试报告仅限安全团队和管理层查看AI 使用的限制# AI 安全策略禁止生成的内容PROHIBITED_ACTIONS[生成恶意软件,生成持久化后门,执行数据窃取,执行拒绝服务攻击,绕过法律授权范围,攻击非授权目标,]defsafety_check(ai_output:str)-bool:检查AI输出是否违反安全策略forprohibitedinPROHIBITED_ACTIONS:ifprohibitedinai_output.lower():returnFalsereturnTrue八、实际效果我在单位内网用这套流程做了3轮自测轮次发现漏洞数已验证修复完成新发现类型第1轮231515弱口令、信息泄露、过时组件第2轮1288配置不当、缺失安全头第3轮533逻辑漏洞、权限提升关键收获第1轮发现的15个真实漏洞中有6个是传统漏扫工具没报但 AI 分析判断存在的。包括一个暴露了内部网络拓扑的调试接口和一个允许未授权访问的管理页面。九、结语自动化渗透测试不是要替代专业渗透测试团队而是作为日常安全自查的补充。它的价值在于高频、低成本、广覆盖——能在专业测试的间隔期内持续发现问题。对于基层单位一套自动化渗透测试流程的成本几乎为零开源工具 少量 API 费用但发现的问题可能比几年一次的专业测试更有价值因为它能及时发现新暴露的风险。

相关新闻

一步步把 OBS 变成系统级虚拟麦克风:从原理到排障的完整上手手册

一步步把 OBS 变成系统级虚拟麦克风:从原理到排障的完整上手手册

一步步把 OBS 变成系统级虚拟麦克风:从原理到排障的完整上手手册 【免费下载链接】obs-virtual-cam obs-studio plugin to simulate a directshow webcam 项目地址: https://gitcode.com/gh_mirrors/ob/obs-virtual-cam 晚上八点,线上例会准时开始…

2026/8/18 10:51:57 阅读更多 →
FreeRTOS调度器原理:空闲任务与定时器任务执行顺序深度解析

FreeRTOS调度器原理:空闲任务与定时器任务执行顺序深度解析

1. 上节回顾与RTOS调度核心概念再梳理 上一节我们聊了RTOS里任务创建、任务状态切换这些基础概念,算是把“演员”怎么登台、怎么候场给讲明白了。但光有演员不行,还得有个靠谱的导演,知道什么时候该谁上场,什么时候该谁休息&#…

2026/8/18 10:50:56 阅读更多 →
MTKClient 救砖实战:3 步上手联发科设备底层刷机调试

MTKClient 救砖实战:3 步上手联发科设备底层刷机调试

MTKClient 救砖实战:3 步上手联发科设备底层刷机调试 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient 你是否遇到过手机刷机失败后彻底黑屏,按任何按键都毫无反应的情…

2026/8/18 10:50:56 阅读更多 →

最新新闻

抖音评论采集终极教程:零基础三步把全量评论导出为 Excel

抖音评论采集终极教程:零基础三步把全量评论导出为 Excel

抖音评论采集终极教程:零基础三步把全量评论导出为 Excel 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 想把一条 TikTok(也就是大家熟知的抖音)视频的评论区完整搬进 E…

2026/8/18 12:05:21 阅读更多 →
奔驰前设计师加盟小鹏:数字豪华设计如何重塑智能座舱体验

奔驰前设计师加盟小鹏:数字豪华设计如何重塑智能座舱体验

1. 一次“设计语言”的跨国迁徙 最近汽车圈有个消息挺有意思,奔驰的前设计师Do Young Woo(都暎秀)正式加盟了小鹏汽车。这事儿乍一看,好像就是一次普通的高管跳槽,但如果你对汽车设计、对品牌发展,甚至对当…

2026/8/18 12:05:21 阅读更多 →
LKY Office Tools 完整指南:Windows 平台 Office 自动化部署与一键激活实战

LKY Office Tools 完整指南:Windows 平台 Office 自动化部署与一键激活实战

LKY Office Tools 完整指南:Windows 平台 Office 自动化部署与一键激活实战 【免费下载链接】LKY_OfficeTools 一键自动化 下载、安装、激活 Office 的利器。 项目地址: https://gitcode.com/GitHub_Trending/lk/LKY_OfficeTools 还记得上次给新电脑装 Offic…

2026/8/18 12:05:21 阅读更多 →
从裸机到RTOS:理解实时操作系统的核心思想与学习路径

从裸机到RTOS:理解实时操作系统的核心思想与学习路径

1. 为什么我们今天还要从“起源”聊起RTOS?如果你点开这篇文章,大概率是刚接触嵌入式开发,或者正被裸机程序里那些“Delay”和“Flag”搞得焦头烂额,想找个更优雅的解决方案。网上铺天盖地的“FreeRTOS移植教程”、“RT-Thread项目…

2026/8/18 12:05:21 阅读更多 →
EdgeRemover 完整指南:3分钟安全卸载Windows自带Edge,从根源告别强制捆绑

EdgeRemover 完整指南:3分钟安全卸载Windows自带Edge,从根源告别强制捆绑

EdgeRemover 完整指南:3分钟安全卸载Windows自带Edge,从根源告别强制捆绑 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mir…

2026/8/18 12:05:21 阅读更多 →
S 曲线加减速算法完整详解(C# 原生实现,无第三方库)

S 曲线加减速算法完整详解(C# 原生实现,无第三方库)

基本概念基础物理定义s(位移):单位为 m/pulse(脉冲),表示物体位置的变化量。在伺服系统中通常以脉冲数计量(例如:1000 pulse 对应 0.1m 位移)。v(速度&#x…

2026/8/18 12:04:17 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →