urlscan-release 3.0.6
URLScan
从源码中提取攻击面:端点、参数、shadow API、移动端 deep link —— 同一份清单服务人工审计、AI 审计与 DAST。
URLScan 是一款基于静态分析(SAST)的攻击面检测工具,读取源码即可提取应用对外暴露的端点 —— 路径、方法、参数、请求头、Cookie,以及背后的源文件。Shadow API、废弃路由、未文档化的处理器都会出现在同一份清单里,无需单独的模式。
这份清单服务三类用户:
- 人工审计。 安全工程师与代码审计员拿到一份聚焦的、攻击者可达的入口点清单(路径、参数、源文件、标签),而不是通读整个仓库。
- AI 审计。 基于 LLM 的 SAST Agent 拿到同一份清单,外加每个端点的 review 上下文(
--include callee取 1 跳被调用者,--ai-context取 guards / sinks / validators / signals)。 - DAST 工具。 ZAP、Burp Suite、Caido 拿到一份真实路由清单去扫描,包括爬虫永远爬不到的路径。
主要功能
- 端点提取 —— 对 50+ 框架做静态分析,返回端点、参数、请求头、Cookie 及其源文件。
- 移动端与鸿蒙支持 —— Android(
AndroidManifest.xml、路由注解、App Links)、iOS(Info.plist、universal links)、HarmonyOS(module.json5deep link、系统路由表、开源路由框架装饰器、SA RPC)。 - LLM 兜底 —— 当静态规则不适用时,把不支持框架或一次性自定义路由交给 OpenAI / Ollama 等处理。
- 多输出格式 —— JSON、YAML、OpenAPI、SARIF、cURL、Postman、HTML 等,衔接流水线下游工具。
- DAST 集成 —— 作为代理目标直接灌入 ZAP / Burp Suite / Caido,或导出 OpenAPI 供其导入。
- AI SAST 上下文 —— 端点清单(及
--include callee的 1 跳被调用者)即 LLM 审计所需聚焦上下文;--ai-context进一步按端点聚合 guards / callees / sinks / validators / signals。 - CI/CD —— GitHub Action、SARIF 输出、退出码,接入现有流水线。
安装
源码构建(需 Crystal ~> 1.19、libyaml、libzstd):
shards install && shards build # 产出 bin/urlscan
Docker(一致环境):
docker run --rm -v $(pwd):/app -w /app crystallang/crystal:1.19.0-alpine \
sh -c "apk add --no-cache yaml-dev zstd-dev && shards install && shards build"
预编译二进制:从 GitHub Releases 下载。
用法
urlscan -h # 帮助(含全部输出格式)
urlscan --list-techs # 列出所有支持的技术
urlscan -b path/to/source # 基础分析
urlscan -b . -f json # JSON 输出
urlscan -b . --verbose # 详细分析
urlscan -b . -P # 被动安全扫描
urlscan -b . --send-proxy http://127.0.0.1:8080 # 转发到代理(Burp/ZAP)
urlscan -b . --ai-provider openai --ai-model gpt-4 # AI 辅助分析
若使用 GitHub Action,请参考 GitHub Action 文档。
完整文档请访问 owasp-noir.github.io/noir。
框架支持详细文档
对安卓、鸿蒙应用、鸿蒙 SA、Jalor 等框架的扫描机制、检测信号、端点模型与示例,见以下详细文档:
| 框架 | 文档 |
|---|---|
| Android(manifest + 路由注解) | mobile/android_routing.md |
| HarmonyOS 应用(deep link / 路由框架) | mobile/harmonyos.md |
| HarmonyOS SA(RPC 攻击面) | mobile/harmonyos_sa.md |
| Jalor(含 FilterRegistrationBean 规则) | java/jalor.md |
| ServiceComb / CSE | java/servicecomb.md |
| Apache CXF(JAX-WS / JAX-RS) | java/cxf.md |
移动端总览见 mobile/index.md,Java 企业框架总览见 java/index.md。
支持的框架
参考链接
- Official project page: https://owasp.org/www-project-noir/
- OWASP Nest: https://nest.owasp.org/projects/noir
URLScan 支持 50+ 框架。完整功能矩阵(endpoint / method / query / path / body / header / cookie / static / websocket / callee / AI Context 的 chip 详情)见 language_and_frameworks/index.md。下方表格直接复用该索引的数据(重点支持的移动 / 鸿蒙 / Java 企业框架置顶,其余按语言分组):
| 语言 / 平台 | 框架 |
|---|---|
| 重点支持(移动 / 鸿蒙 / Java 企业) | Android, HarmonyOS (Deep Link), HarmonyOS SA (RPC), Jalor, ServiceComb, Apache CXF (JAX-WS / JAX-RS), Spring FilterRegistrationBean |
| C# | ASP.NET Core MVC, ASP.NET Core Minimal API, ASP.NET MVC, Carter, FastEndpoints, System.Net.HttpListener |
| C++ | Crow, Drogon, cpp-httplib, oat++ |
| Clojure | Compojure, Pedestal, Reitit, Ring |
| Crystal | Amber, Grip, HTTP::Server, Kemal, Lucky, Marten |
| Dart | Alfred, Angel3, Dart Frog, GetServer, Serverpod, Shelf, dart:io HttpServer |
| Elixir | Bandit, Phoenix, Plug |
| F# | Giraffe |
| Go | Beego, Chi, Connect-RPC, Echo, Fiber, Gin, GoFrame, Gorilla Mux, Goyave, Hertz, Huma, Iris, PocketBase, fasthttp, go-restful, go-zero, httprouter, net/http |
| Groovy | Grails |
| Haskell | Scotty, Servant, Yesod |
| Java | Apache Struts 2, Apache Wicket, Armeria, Dropwizard, JAX-RS, JDK HttpServer, JSP, Javalin, Micronaut, Play Framework, Quarkus, Spark Java, Spring, Vert.x |
| JavaScript | AdonisJS, Apollo Server, Astro, Elysia, Express, Fastify, Fresh, GraphQL Yoga, Hapi, Hono, Koa, NestJS, Next.js, Nitro, Node.js http/https, NuxtJS, Remix, Restify, SvelteKit |
| Kotlin | Ktor, Spring, http4k |
| Lua | Lapis, lor |
| PHP | CakePHP, CodeIgniter, Hyperf, Laminas, Laravel, Lumen, Mautic, Pure, Slim, Symfony, ThinkPHP, Yii2 |
| Perl | Catalyst, Dancer2, Mojolicious |
| Python | Bottle, Django, Falcon, FastAPI, Flask, Litestar, Pyramid, Quart, Robyn, Sanic, Starlette, Tornado, aiohttp, http.server |
| Ruby | Grape, Hanami, Rails, Roda, Sinatra, WEBrick |
| Rust | Actix Web, Axum, Gotham, Loco, Poem, RWF, Rocket, Salvo, Tide, Warp |
| Scala | Akka HTTP, Play Framework, Scalatra, Tapir, ZIO HTTP, http4s |
| Swift | Hummingbird, Kitura, Vapor |
| TypeScript | NestJS, TanStack Router, tRPC |
| Zig | Jetzig, Tokamak, Zap, httpz, std.http.Server |
iOS(
Info.plist自定义 scheme、universal links)与assetlinks.json/apple-app-site-association等服务端关联文件属于移动端面,见 mobile/index.md。
License
MIT
urlscan-release
- 0
- 0
- 6
- 0
- 7
- 4 days ago
- July 6, 2026
MIT License
Wed, 22 Jul 2026 03:22:12 GMT