skills/code-audit/java/java-audit-pipeline/SKILL.md
Java 白盒源码安全审计总方法论。当需要对 Java 项目进行完整的源码安全审计、 或需要系统化的白盒漏洞挖掘流程时触发。 覆盖 5 阶段审计流水线: 路由映射→权限建模→数据流追踪→分类漏洞审计→利用链组装。 核心机制: 证据合约系统(EVID_*)防止 AI 幻觉误报,所有漏洞结论必须有数据流证据支撑。
npx skillsauth add wgpsec/AboutSecurity java-audit-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
白盒审计在源码层面发现漏洞,关注"代码为什么不安全"。发现漏洞后的实际利用技术(构造 payload、绕过 WAF、Gadget Chain 武器化)属于黑盒 exploit skill 范畴。Java 项目常以编译后的 .class / JAR / WAR 形式交付,需先完成反编译还原源码(详见 decompile-strategy.md)。
| 阶段 | 名称 | 核心任务 | 产出物 | |------|------|----------|--------| | P1 | 路由映射 | 解析所有入口点及其参数 | 路由清单 | | P2 | 权限建模 | 分析认证/授权,标记裸露路由 | 权限矩阵 | | P3 | 数据流追踪 | Source→Sink 完整路径追踪 | EVID_* 证据集 | | P4 | 分类审计 | 按 Sink 类型深入检查 | 漏洞清单 | | P5 | 报告组装 | 评分 + 利用链编排 | 审计报告 |
解析框架路由配置,建立完整的攻击面清单:
@RequestMapping, @GetMapping, @PostMapping 等组合注解,扫描所有 @Controller / @RestController 类web.xml 中的 <servlet-mapping> 以及 @WebServlet 注解注册的 Servlet@Path, @GET, @POST 等注解,检查 Application 子类注册的资源struts.xml 中的 <action> 映射和 ActionMapping 通配符规则@WebService 端点和 WSDL 发布路径产出: 路由清单,每条记录包含 URL 路径、Handler 方法签名、参数绑定方式(@RequestParam / @PathVariable / @RequestBody)、是否需认证。
分析安全框架的过滤链配置,找出缺少认证保护的路由:
SecurityFilterChain / WebSecurityConfigurerAdapter 中的 antMatchers / requestMatchers 规则shiroFilterChainDefinition 中的 URL-Filter 映射(anon / authc / perms)HandlerInterceptor.preHandle() 的注册范围和排除路径每条潜在漏洞路径都要产出 EVID_* 证据点(详见 evidence-contract.md)。
三层分析法:
Java 特有关注点:
@RequestParam 自动 trim、@RequestBody JSON 反序列化)隐式转换可能吞掉恶意输入或引入类型混淆@Around / @Before)可能在切面层执行全局过滤或日志记录,需确认切面是否生效Method.invoke、Class.forName)会打断静态数据流追踪,需人工跟进当无法追踪到完整的 Source→Sink 路径时,只能标注为"待验证"。
按 Sink 类型分派到对应子 skill 进行深入审计:
严重度评分: Score = R * 0.40 + I * 0.35 + C * 0.25(R=可达性, I=影响范围, C=利用复杂度,各 0-3 分)
将同一目标上的多个漏洞组合为利用链(如: Actuator 信息泄露→Shiro 认证绕过→SpEL 注入→RCE)。
testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能