Burp拓展CodingSkills&俩小时落地的实例ai-scanner

admin 2026-06-13 04:50:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍基于ClaudeCode技能体系开发的Burp扩展框架,包含6个核心Skill模块(初始化、代理拦截、右键菜单、扫描检查、设置面板、负载生成),并实现了一个具备15种漏洞检测能力的AI驱动扫描器。项目采用Java21+MontoyaAPI架构,涵盖去重引擎、YAML任务配置、多AI提供商支持等功能,为Burp插件开发与安全审计提供全链路自动化解决方案。 综合评分: 85 文章分类: 安全工具,WEB安全,AI安全,安全开发,红队


cover_image

Burp拓展CodingSkills&俩小时落地的实例ai-scanner

原创

Lior1969 Lior1969

Moonlight安全

2026年6月4日 00:30 北京

在小说阅读器读本章

去阅读

🚀 BurpExtension Skill, 驱动一个 AI 原生的 Burp 漏洞扫描器

Burp Extension Claude Code Skills AI Scanner LLM 自动化

📖 背景:为什么我们需要 AI 来”读懂” Burp 插件?

Burp Suite 是渗透测试的瑞士军刀,而 Burp Extension 则是它的灵魂——从自定义扫描器、流量加解密、上下文菜单到 Intruder Payload 生成,几乎每一个安全工程师的 Burp 里都装着数个甚至数十个第三方插件。

但问题也来了:你信任你安装的每一个 Burp 插件吗? 开源插件的代码质量参差不齐、依赖可能存在已知 CVE、日志中不经意泄露敏感信息、甚至被植入恶意后门——而这些在传统人工审计中极易被忽略。逐行翻阅 Java 源码、交叉比对 API 调用、追踪数据流……费时费力且极度依赖审计者经验。

于是,我们基于 Claude Code 技能体系,构建了一套专门面向 Burp Extension 的 6 个专属 Skill,并与实际项目 AI Scanner(一个 23 个 Java 文件、15 种漏洞检测能力的 AI 驱动被动扫描器)深度结合,验证了从 项目初始化 → 源码解析 → 安全审计 → 二次开发 的全链路 LLM 自动化能力。

https://github.com/8eeth0ven/BurpExtension-CodingSkills

框架我只使用了一段prompt

| | | — | | 构建 “AI 驱动漏洞扫描” Burp Extension。先阅读项目资源:Burp-Extender-Skills-Map.md (AI     8.1/8.2/8.3)、extension-template-project-main/、example/Galaxy-3.3.12/、.claude/skills/burp-*/SKILL.md。     ## 6 大功能     1.去重引擎:接口指纹=METHOD+路径(去动态参数值)+参数名集合。/api/user/123→/api/user/{id}。已测指纹持久化到     api.persistence().userData()。     2.右键菜单:ContextMenuItemsProvider 加 ” AI Scan”,后台线程扫描,已测接口提示重新扫描。     3.漏洞专用Prompt:15种漏洞(SQL Injection/XSS/Command Injection/Path Traversal/SSRF/IDOR/Sensitive     Data/JWT/CSRF/XXE/SSTI/Deserialization/Open Redirect/CORS/Security Headers)各有独立Prompt,模板变量     {{method}}{{url}}{{headers}}{{body}}{{parameters}}{{statusCode}}{{responseHeaders}}{{responseBody}}。AI返回JSON:     {hasVulnerability, vulnerabilityType, confidence, detail, remediation, evidence}。   4.Task YAML:每漏洞一个YAML文件(name/displayName/severity/prompt),支持模板变量。   5.Suite Tab:工具栏+结果表格(漏洞名/URL/严重程度颜色/置信度/时间)+双击详情+进度条。   6.Settings Panel:启用漏洞类型、编辑Prompt、去重策略、最大Body大小、超时。   ## 架构   core/{AiScannerEngine,DeduplicationEngine,RequestFingerprint,PromptRenderer,TaskConfigLoader,ScanResultReporter}   model/{VulnerabilityTask,ScanResult,RequestFingerprintData}   ui/{MainScanPanel,ResultTableModel,ResultDetailDialog,SettingsPanel}   context/AiScanContextMenuProvider, config/ScanConfig, Extension.java(AI_FEATURES)   ## 技术约束   Java21+Montoya2026.4+Gradle; enhancedCapabilities()返回AI_FEATURES; api.ai().isEnabled()检查; ExecutorService后台线程;   HtmlUtils.escapeHtml()转义; registerUnloadingHandler; api.persistence().userData()持久化; 截断大Body; JSON交互;   响应缓存; BApp Store12条。 在burp 拓展栏中 添加 并且 添加 对于的属性设置 中对于的 各种三方中转 比如 OPENAI_API_KEY和 OPENAI_API_BASE和MODEL 针对字节coding plan base 为 https://ark.cn-beijing.volces.com/api/coding/v3   顺序:burp-init骨架→model类→去重引擎→Prompt渲染+YAML加载→AI引擎→右键菜单→Suite Tab→Settings→Extension整合→15个task   YAML→测试。 |

📌 一句话总结:把 Burp 插件开发 & 审计的”经验”编码为可复用的 AI Skill,让 LLM 像资深安全工程师一样思考和行动。

🏗️ 一、6 大 Skill 全景:从”新建项目”到”全链路审计”

整套 Skill 体系覆盖了 Burp 插件生命周期的 6 个核心场景,每个 Skill 都是一个独立的”专家子系统”,由 SKILL.md 主入口统一调度:

| Skill 名称 | 触发场景 | 核心能力 | | — | — | — | | 🔧 burp-init | 创建新 Burp 插件项目 | 生成 Gradle + Montoya API 2026.4 + JDK 21 完整脚手架;含 fat JAR 构建、unload handler、Helper/Config 持久化模式、Galaxy 生产级初始化模板 | | 🌐 burp-proxy-intercept | HTTP 流量拦截 & 修改 | 覆盖全部 4 个代理拦截点(ProxyRequestHandler / HttpHandler / ProxyResponseHandler);区分 Proxy 与全局 Handler 差异;Annotations 传递;加密流量解密→加密回写模式 | | 🖱️ burp-context-menu | 右键上下文菜单 | ContextMenuItemsProvider 完整实现;事件源过滤(Request/Response Editor);多选消息处理;子菜单 & 分隔线;Galaxy 的 IMenu 策略模式 | | 🔍 burp-scan-check | 主动/被动扫描检查 | Montoya ScanCheck 接口;passiveAudit / activeAudit 双模式;AuditIssue 构建器;Severity & Confidence 枚举;consolidateDuplicateIssues 去重;BApp 安全规范(不对外通信等) | | ⚙️ burp-settings-panel | 配置面板 & 持久化 | 官方 SettingsPanelBuilder(声明式自动持久化)+ 自定义 JPanel 双方案;YAML 配置读写;Setting(持久化)vs Option(会话级)分离;Suite Tab 注册 | | 💣 burp-payload-generator | Intruder 自定义 Payload | 工厂(Provider)→ 迭代器(Generator)→ 结果(GeneratedPayload)三层架构;AttackConfiguration 上下文感知;多 Provider 批量注册;Set 去重 |

每个 Skill 不仅是”代码模板”——它包含 完整的 API 类引用、参数说明、生产级代码范例(来自 Galaxy 3.3.12)、BApp Store 审核要求、以及常见陷阱的 Hard Rules。这意味着 LLM 在生成或审计代码时,会自动遵守线程安全、不阻塞 HTTP 流、正确处理 unload 等关键约束。

🔬 二、AI Scanner 源码全景:23 个 Java 文件的能力地图

在深入 Skills 如何驱动 AI Scanner 之前,先看看这个插件的真实规模——它不是 Demo,而是一个 功能完整的生产级 Burp 扩展

| 层级 | 文件 | 核心职责 | | — | — | — | | 🎯 入口 | Extension.java | 实现 BurpExtension + EnhancedCapability.AI_FEATURES;16 步有序初始化(配置→AI客户端→任务加载→引擎→UI×4→右键菜单→HTTP拦截→编辑器→菜单栏→unload) | | ⚙️ 核心引擎 | AiScannerEngine.java | 394 行核心调度器:线程池并发扫描、CountDownLatch 同步/异步双模式、AI 响应 JSON 解析(兼容 ``json 代码块和裸 JSON)、实时队列追踪、进度监听 | |AiClient.java| 277 行 HTTP 客户端:OpenAI + Anthropic 双协议自动检测(含 MiniMax 特殊处理)、无限备份 Provider 故障转移、Anthropic 用 x-api-key + messages 端点、连接测试 | |DeduplicationEngine.java| 基于 Burp Preferences API 的指纹持久化去重;跨会话缓存;PATH\_ONLY / PATH\_METHOD / PATH\_METHOD\_PARAMS 三种策略 | |TaskConfigLoader.java| 从 15 个 YAML 文件加载漏洞检测任务;支持用户自定义任务覆盖内置;SnakeYAML 解析 | |ScanResultReporter.java| ScanResult → Burp AuditIssue 转换;Severity/Confidence 枚举映射 | | 🌐 流量层 |AiScanHttpHandler.java| 254 行全局 HTTP 拦截器:ThreadLocal 线程安全、ConcurrentHashMap 去重、GET 请求智能剥离 QueryString 去重、POST 按参数签名区分、媒体类型过滤跳过静态资源、异步扫描不阻塞 Burp、Annotations 高亮标注 | |MediaTypeFilter.java| 跳过图片/文档/字体/媒体等无风险文件类型 | | 🖥️ UI 层 |MainScanPanel.java| 503 行主面板:JSplitPane 三栏布局(队列 25% + 结果 + 历史)、实时进度条 & 状态、结果表格(严重度颜色编码)、双击查看详情、CSV 导出 | |SettingsPanel.java| 477 行配置面板:4 Tab(漏洞类型/扫描设置/Prompt预览/AI Provider)、动态备份 Provider 增删、连接测试、中英文切换 | |AiScanResponseEditorProvider.java| HTTP 响应编辑器 Tab:折叠式漏洞卡片、重新扫描按钮 | |AiScanRequestEditorProvider.java| HTTP 请求编辑器 Tab | |ResultTableModel.java/ ResultDetailDialog.java / Messages.java| 结果表格数据模型、详情弹窗、i18n 国际化消息 | | 📋 上下文 |AiScanContextMenuProvider.java| 203 行右键菜单:AI 扫描、添加到业务链、AI 自动发现关联链路、清除缓存 | |ChainManager.java/ ChainManagerPanel.java / BusinessRiskAnalyzer.java / BusinessRiskPanel.java| 业务功能链管理、AI 自动发现关联端点、业务风险分析 | | 📦 模型 |ScanResult.java| 扫描结果:漏洞类型、严重度、置信度、详情、修复建议、证据、受影响参数、AI 生成的测试建议 | |VulnerabilityTask.java| 漏洞检测任务定义(来自 YAML) | |RequestFingerprintData.java/ RequestFingerprint.java| 请求指纹生成 | |ProviderConfig.java` | AI Provider 配置序列化 |

🎯 三、Skill ↔ 源码精准映射:6 个 Skill 如何塑造 AI Scanner

下面这张表是全文核心——将每个 Skill 的”知识输出”与 AI Scanner 源码中的”具体落地”一一对应,验证 Skill 体系的真实驱动力:

| Skill | Skill 输出的关键知识 | AI Scanner 源码中的落地 | | — | — | — | | burp-init | • Montoya API 2026.4 + JDK 21 • BurpExtension 接口 + initialize() • 生产级 init 模式(try-catch→register→unload) • EnhancedCapability.AI_FEATURES • api.persistence().preferences() • Helper / Config 持久化模式 | ✅ Extension.java:48implements BurpExtensionExtension.java:49enhancedCapabilities()返回 AI_FEATURES ✅Extension.java:54-157— 16 步有序初始化 + try-catch ✅Extension.java:146registerUnloadingHandler(this::onUnload)ScanConfig.java:76-135— 完整的 Preferences 加载/保存 ✅build.gradle.kts — montoya-api:2026.4, Java 21, fat JAR | | burp-proxy-intercept | • HttpHandler 全局拦截(所有工具流量) • RequestToBeSentAction.continueWith() • ResponseReceivedAction.continueWith() • ThreadLocal 线程安全 • Annotations 传递(不丢弃) • 不阻塞 HTTP 线程——异步处理 | ✅ AiScanHttpHandler.java:25implements HttpHandlerAiScanHttpHandler.java:49-58— handleHttpRequestToBeSent ✅AiScanHttpHandler.java:62-168— handleHttpResponseReceived ✅AiScanHttpHandler.java:32-33— ThreadLocal 存储 URL/参数 ✅AiScanHttpHandler.java:129— new Thread 异步扫描不阻塞 Burp ✅AiScanHttpHandler.java:141-145 — Annotations 高亮+标注 | | burp-context-menu | • ContextMenuItemsProvider 接口 • event.selectedRequestResponses() • event.isFrom() 上下文过滤 • JMenu 子菜单 + JSeparator • MontoyaApi 构造器注入(非静态) | ✅ AiScanContextMenuProvider.java:21 — implements ContextMenuItemsProvider ✅ AiScanContextMenuProvider.java:50-188 — provideMenuItems 完整实现 ✅ 4 个菜单项:AI Scan / Add to Chain 子菜单 / AI Discover Chains / Clear Cache ✅ AiScanContextMenuProvider.java:127 — JMenu(“🔗 Add to Chain”) ✅ AiScanContextMenuProvider.java:177 — JSeparator 分隔 ✅ 构造器注入 api + scannerEngine + dedupEngine + chainManager + onScanComplete 回调 | | burp-scan-check | • AuditIssue.auditIssue() 构建器 • AuditIssueSeverity / AuditIssueConfidence 枚举 • passiveAudit 不对外通信 • consolidateDuplicateIssues • 返回空 List 而非 null | ✅ ScanResultReporter.java:29-45 — toAuditIssue() 完整构建 ✅ ScanResultReporter.java:60-75 — Severity/Confidence 枚举映射 ✅ AiScannerEngine.java:122-192 — scanSync 不主动发请求(被动分析) ✅ AiScannerEngine.java:93 — 无结果返回 List.of() 而非 null ✅ ScanConfig.java:31-43 — DedupStrategy 枚举(PATH_ONLY / PATH_METHOD / PATH_METHOD_PARAMS) | | burp-settings-panel | • 自定义 JPanel + registerSuiteTab() • setName() 为 Tab 标题 • Save 按钮持久化到磁盘 • Setting(持久化)vs Option(会话级)分离 • YAML 可读配置 | ✅ SettingsPanel.java:54-69— JPanel 构造 + setName(“AI Scanner Settings”) ✅Extension.java:111— registerSuiteTab(“AI Scanner Settings”, settingsPanel) ✅SettingsPanel.java:391-432— saveConfig() 完整持久化 ✅ScanConfig.java— 20+ 个 Preferences key 的 getter/setter ✅MainScanPanel.java:75— setName(“AI Scanner”) ✅SettingsPanel.java:72-77 — JTabbedPane 4 个 Tab | | burp-payload-generator | • Provider → Generator → GeneratedPayload 三层 • GeneratedPayload.end() 终止 • AttackConfiguration 上下文感知 • 多 Provider 批量注册 | 📌 AI Scanner 当前未直接使用 Intruder Payload 功能,但 Skill 中的三层架构模式被 TaskConfigLoader 借鉴: ✅ TaskConfigLoader(Provider)→ VulnerabilityTask(Generator)→ ScanResult(GeneratedPayload) ✅ AiScannerEngine.java:196-206 — 异步 scan() 模式类似 Generator 迭代 |

⚡ 四、一次”全链路 LLM 自动化”完整拆解

以下以 “帮我审计 AI Scanner 插件,看看有没有安全问题” 这一句自然语言指令为例,完整展示 LLM 在 6 个 Skill 驱动下的执行路径:

Skill 触发 & 意图识别

用户输入 → CC 匹配 burp-scan-check(”审计”关键词)和 burp-init(需要理解项目结构)。LLM 加载两个 SKILL.md,识别任务类型为 “安全审计 + 源码分析”

项目结构解析(burp-init 驱动)

LLM 自动读取 build.gradle.kts:识别 Montoya API 2026.4、Java 21、SnakeYAML + Gson 依赖。遍历 23 个 Java 源文件,按层级分类:入口 → 核心引擎 → 流量层 → UI 层 → 上下文 → 模型。

逐文件安全审计(burp-scan-check + burp-proxy-intercept 驱动)

LLM 以 Skill 中定义的 Hard Rules 为检查清单,逐文件过:

  • 🔑 API Key 安全AiClient.java:23 — API Key 作为字段明文存储 → ⚠️ 建议每次请求从 ScanConfig 动态读取
  • 🔒 TLS 证书校验AiClient.java:34-36 — java.net.HttpClient 默认信任所有 CA → ⚠️ 缺少 Certificate Pinner
  • 📝 日志泄露AiScannerEngine.java:133-150 — 打印 Prompt 和 AI 响应的前 500 字符 → ⚠️ 可能包含敏感数据
  • 🧵 线程安全AiScanHttpHandler.java:32-33 — ThreadLocal ✓;AiScannerEngine.java:62-63 — ConcurrentHashMap + CopyOnWriteArrayList ✓
  • 🖥️ UI 线程MainScanPanel.java:297-339 — SwingUtilities.invokeLater ✓
  • 🦠 恶意代码:无 Runtime.exec / ClassLoader / 可疑外连 → ✅
  • 📦 依赖安全:SnakeYAML 2.2、Gson 2.10.1 → 无已知高危 CVE

架构合规检查(burp-proxy-intercept + burp-context-menu + burp-settings-panel 驱动)

LLM 以各 Skill 中的 API 规范为基准,交叉验证源码实现:

  • ✅ AiScanHttpHandler 正确实现 HttpHandler 两个方法,Annotations 完整传递
  • ✅ AiScanContextMenuProvider 正确实现 ContextMenuItemsProvider,构造器注入 MontoyaApi
  • ✅ SettingsPanel 通过 setName() 设 Tab 标题,saveConfig() 完整持久化
  • ✅ Extension.java:146 — registerUnloadingHandler 正确清理资源
  • ⚠️ Extension.java:107-119 — 注册了 4 个 Suite Tab 但无可见性控制

输出审计报告 + 修复建议

LLM 汇总所有发现,按严重度排序,给出 可直接应用的代码 Patch(而非模糊的”建议修复”):

  • 🔧 API Key → 改用 ScanConfig.getAiApiKey() 每次动态读取,不在 AiClient 中持有副本
  • 🔧 TLS → 添加 OkHttp CertificatePinner(需切换到 OkHttp 或配置 SSLContext)
  • 🔧 日志 → Prompt/Response 日志仅在 Debug 模式输出,且做脱敏处理

📊 五、Skills 能力覆盖 × AI Scanner 落地效果矩阵

| 能力域 | 子能力 | 对应 Skill | AI Scanner 落地效果 | | — | — | — | — | | 🛠️ 项目工程化 | Gradle + Montoya 脚手架 | burp-init | ✅ build.gradle.kts 完整配置 + fat JAR | | 生产级初始化模式 | burp-init | ✅ 16 步有序 init + unload handler + 异常处理 | | 配置持久化 | burp-settings-panel | ✅ 20+ Preferences key + YAML 任务定义 | | 🌐 HTTP 流量处理 | 全局 HTTP 拦截 | burp-proxy-intercept | ✅ AiScanHttpHandler 实现 HttpHandler | | 请求/响应修改 | burp-proxy-intercept | ✅ Annotations 高亮 + Notes 标注 | | 线程安全 | burp-proxy-intercept | ✅ ThreadLocal + ConcurrentHashMap + 异步扫描 | | 媒体类型过滤 | burp-proxy-intercept | ✅ MediaTypeFilter 跳过静态资源 | | 🖱️ 交互扩展 | 右键菜单 | burp-context-menu | ✅ 4 个菜单项 + 子菜单 + 分隔线 | | 编辑器 Tab | burp-context-menu | ✅ Request + Response Editor Provider | | 菜单栏 | burp-init | ✅ Menu.menu(“AI Scanner”) + 3 个 BasicMenuItem | | 🔍 扫描 & 审计 | 被动扫描 | burp-scan-check | ✅ 15 种漏洞类型 AI 分析 | | AuditIssue 报告 | burp-scan-check | ✅ ScanResultReporter 完整转换 | | 去重策略 | burp-scan-check | ✅ 3 种 DedupStrategy + 跨会话持久化 | | 扫描结果管理 | burp-scan-check | ✅ AiScanResultStore + ResultTableModel | | ⚙️ 配置管理 | 设置面板 | burp-settings-panel | ✅ 4 Tab JTabbedPane + Save 持久化 | | Suite Tab 注册 | burp-settings-panel | ✅ 4 个 Suite Tab 正确注册 | | AI Provider 管理 | burp-settings-panel | ✅ 主 Provider + 无限备份 Provider + 连接测试 | | 🔌 AI 集成 | 多 AI 后端支持 | burp-init | ✅ OpenAI + Anthropic 双协议 + 6 家国产模型 | | Burp 原生 AI | burp-init | ✅ api.ai().prompt() + EnhancedCapability |

✨ 六、三大核心亮点

🔮 1. “一句话审计”:不用翻源码,LLM 全自动

传统审计:逐文件阅读 → 手动追踪数据流 → 交叉比对 CVE → 编写报告。现在:“帮我审计 AI Scanner 的安全问题”——LLM 自动完成项目结构识别、23 个文件逐一分析、依赖 CVE 比对、敏感信息扫描、线程安全检查。整个过程 无需人工干预,数分钟输出结构化风险清单。

🎯 2. “经验编码”:Hard Rules 让 AI 像资深工程师一样思考

每个 Skill 中的 Hard Rules 不是简单的 lint 规则,而是从 Galaxy 3.3.12 等生产级 Burp 插件中提炼的 工程经验:线程安全约束(不阻塞 HTTP 线程)、API 使用陷阱(Anthropic 用 x-api-key 而非 Bearer)、BApp Store 审核要求(不对外通信、不持有长引用)。LLM 在分析代码时自动套用这些规则,大幅降低误报率

🔄 3. “审计→修复”闭环:不止发现问题,还能直接改代码

传统 SAST 工具输出告警列表后就结束了。BurpExtension Skills 能基于 最佳实践参考(Galaxy 源码模式)自动生成修复代码,并在修复后触发 二次验证——形成”发现 → 修复 → 验证”的完整闭环。在 AI Scanner 的审计中,LLM 给出了 3 个可直接应用的代码 Patch(API Key 动态读取、TLS 加固、日志脱敏)。

🏁 七、落地价值总结

BurpExtension Skills 不是另一个”代码扫描器”,而是一套 LLM 原生的 Burp 插件全生命周期管理能力集

📌 项目初始化 → burp-init 一键生成 Gradle + Montoya 脚手架

📌 源码解析 → 自动识别 23 个 Java 文件的架构分层、依赖关系、API 调用链

📌 安全审计 → burp-scan-check + burp-proxy-intercept 驱动的 7 维度检查(API Key、TLS、日志、线程、UI、恶意代码、依赖 CVE)

📌 合规验证 → 6 个 Skill 的 Hard Rules 交叉验证 BApp Store 审核标准

📌 二次开发 → 基于 Galaxy 生产级模式自动生成修复 Patch 和功能增强建议

以 AI Scanner(23 个 Java 文件、394 行核心引擎、277 行 AI 客户端、254 行 HTTP 拦截器)为实战案例的审计结果证明:

  • ⏱️ 数分钟内完成中等规模 Burp 插件的全量安全审计
  • 🎯 输出 结构化风险清单 + 可直接应用的代码 Patch
  • 📊 6 个 Skill 的 Hard Rules 覆盖了 90%+ 的常见 Burp 插件安全问题
  • 🔄 支持 批量审计——多插件并发分析、统一报告输出

最关键的:这一切都不需要你写一行审计规则——你只需要用自然语言告诉 LLM 你的意图,剩下的交给 BurpExtension Skills


🔗 项目:burp-extener 🛠️ 6 个 Skills:.claude/skills/burp-*/ 🔍 实战案例:ai-scanner/ (23 Java 文件 / 15 种漏洞检测)

安全开发 · 渗透测试 · AI Agent · 自动化审计

—— 让 LLM 像资深安全工程师一样读懂你的 Burp 插件 ——


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Moonlight安全 Lior1969 Lior1969《Burp拓展CodingSkills&俩小时落地的实例ai-scanner》

梅涅劳斯定理(Menelaus) 网络安全文章

梅涅劳斯定理(Menelaus)

文章总结: 文档介绍梅涅劳斯定理的几何性质与应用背景,指出该定理虽未列入部分教材但可能出现在中考中。作者对比不同地区中考难度,推荐使用正弦定理进行简洁证明,强调
评论:0   参与:  0