文章总结: Praetorian开源了Julius工具,旨在解决AI基础设施中LLM服务识别难题。该工具通过主动HTTP指纹匹配,能精准识别Ollama等17种主流AI服务,具备模型发现、离线运行及高特异性评分特性。它支持与Nmap联动进行批量扫描,适用于内网资产盘点与红队演练,显著提升了AI服务指纹识别的自动化水平与效率。 综合评分: 89 文章分类: AI安全,安全工具,渗透测试,红队,内网渗透
Julius:让LLM服务识别从猜测变为确定
原创
赛博 赛博
赛博知识驿站
2026年2月4日 10:10 中国香港
在AI基础设施成为新攻击面的今天,安全评估中最常见的困惑之一是:这个开放端口到底运行着什么LLM服务?
Praetorian公司开源的Julius工具,正是为解决这个痛点而生。它能在数秒内准确识别Ollama、vLLM、LiteLLM等17种主流AI服务,将繁琐的手工测试转变为自动化指纹识别流程。
工具定位:填补LLM基础设施安全评估的空白
为什么需要Julius?
在渗透测试或资产发现中,你可能遇到这样的场景:
- • Nmap扫描发现11434端口开放,但不确定是Ollama还是其他服务
- • 发现8000端口有HTTP响应,但无法判断是vLLM、Kong AI Gateway还是NVIDIA NIM
- • 需要快速识别内网中所有AI服务端点及其运行的具体平台
传统工具如Shodan主要依赖被动扫描数据库,而Julius采用主动探测策略,通过发送针对性HTTP请求并匹配响应特征,实现精准识别。
核心优势
| 特性 | 价值 | | — | — | | 覆盖17种服务 | 包括自托管(Ollama、llama.cpp)、代理网关(LiteLLM)、企业平台(NVIDIA NIM)和UI应用(Open WebUI)全类别 | | 特异性评分 | 1-100分的匹配度排序,优先显示最精确的结果(如区分LiteLLM和通用OpenAI兼容服务) | | 模型发现 | 自动提取端点可用的AI模型列表 | | 多格式输出 | 表格/JSON/JSONL格式,支持管道集成到自动化工作流 | | 离线运行 | 无需云端依赖,完全本地化执行 |
快速上手指南
安装部署
# 通过Go直接安装
go install github.com/praetorian-inc/julius/cmd/julius@latest
# 验证安装
julius --version
基础用法
单目标扫描:
# 默认表格输出
julius probe https://target.example.com:11434
# 输出示例:
+----------------------------+---------+-------------+-------------+--------+
| TARGET | SERVICE | SPECIFICITY | CATEGORY | MODELS |
+----------------------------+---------+-------------+-------------+--------+
| https://target.example.com | ollama | 100 | self-hosted | |
+----------------------------+---------+-------------+-------------+--------+
批量扫描:
# 从文件读取目标列表
julius probe -f targets.txt
# 管道输入(与其他工具联动)
cat ip_list.txt | julius probe -
# JSON格式输出便于后续处理
julius probe -o json https://target.com | jq '.service'
关键参数说明
| 参数 | 说明 | 示例 |
| — | — | — |
| -c | 并发数(默认10) | -c 50 提高大规模扫描速度 |
| -t | 超时时间(默认5秒) | -t 15 应对响应慢的服务 |
| -o | 输出格式 | json/jsonl/table |
| -p | 自定义探测规则目录 | -p ./custom-probes |
| -v | 详细模式 | 调试时查看详细请求响应 |
实战示例:提取Ollama服务的模型列表
# 扫描并提取模型信息
julius probe -o json https://ollama.internal.corp | jq '.models'
# 输出:
["llama2", "mistral", "codellama"]
技术实现亮点
探测机制
Julius的识别流程基于基于规则的HTTP指纹匹配:
- 1. 请求构造:向服务特定端点发送HTTP请求(如
/health、/api/version) - 2. 多维度匹配:
- • HTTP状态码(
status: 200) - • 响应体特征(
body.contains: "models") - • Content-Type头(
content-type: application/json) - • 自定义响应头(
header.prefix: X-)
- 3. 特异性排序:通过评分算法优先显示最具体的匹配结果
探测规则示例
每个服务的探测规则定义在YAML文件中,支持多路径组合验证:
name: ollama
port_hint: 11434
requests:
- path: /api/version
method: GET
match:
- type: status
value: 200
- type: body.contains
value: '"version":'
models:
path: /api/tags
method: GET
extract: ".models[].name" # JQ表达式提取模型
扩展性设计
添加自定义服务检测只需三步:
- 1. 在
probes/目录创建YAML文件 - 2. 定义请求路径和匹配规则
- 3. 运行
julius validate ./probes验证
无需修改代码即可支持新服务,适合企业内部定制化需求。
适用场景与最佳实践
典型应用场景
- 1. 内网资产发现:快速盘点企业内部部署的AI服务
- 2. 渗透测试:识别目标网络中的LLM端点及其类型
- 3. 供应链审计:验证第三方系统使用的AI基础设施
- 4. 合规检查:确认敏感环境中AI服务的部署情况
最佳实践建议
- • 授权扫描:Julius仅发送标准HTTP请求,但务必确保对目标有合法授权
- • 结合端口扫描:先用Nmap/Masscan发现开放端口,再用Julius精准识别
- • 管道化工作流:
# 示例:从Nmap结果提取HTTP服务并识别
nmap -p- --open -oG - 10.0.0.0/24 | \
grep -oP '\d+\.\d+\.\d+\.\d+:\d+' | \
julius probe - -o jsonl | \
jq -r 'select(.service != null) | "\(.target) -> \(.service)"'
支持的服务矩阵
Julius当前支持17种LLM平台,覆盖四大类别:
自托管服务:Ollama、vLLM、LocalAI、llama.cpp、Hugging Face TGI、LM Studio 代理网关:LiteLLM、Kong AI Gateway UI应用:Open WebUI、LibreChat、Gradio、SillyTavern 企业平台:NVIDIA NIM、Salesforce Einstein、AnythingLLM
完整列表和默认端口参见官方文档[1]。
总结
Julius为网络安全从业者提供了一个轻量但强大的LLM服务识别工具。其高准确度的指纹识别、灵活的扩展机制和零依赖的离线运行特性,使其成为AI基础设施安全评估的必备工具。
无论你是在进行红队演练、资产清点还是合规审计,Julius都能帮你快速回答”这个端点运行的是什么AI服务?“这个关键问题。
立即尝试:
go install github.com/praetorian-inc/julius/cmd/julius@latest
julius probe https://your-target.com
项目地址: https://github.com/praetorian-inc/julius 开源协议: Apache 2.0
💡 分享你的经验:如果你在实际场景中使用了Julius,欢迎在评论区分享你的发现和技巧。对于特定LLM服务的检测需求,也可以向项目提交自定义探测规则。
引用链接
[1] 官方文档: https://github.com/praetorian-inc/julius#supported-llm-services
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赛博知识驿站 赛博 赛博《Julius:让LLM服务识别从猜测变为确定》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论