Skip to content

feat(security): 为私有LLM端点添加LLM_ALLOWED_HOSTS白名单 - #56

Open
kksty wants to merge 1 commit into
StanleyNull:mainfrom
kksty:feat/llm-allowed-hosts
Open

feat(security): 为私有LLM端点添加LLM_ALLOWED_HOSTS白名单#56
kksty wants to merge 1 commit into
StanleyNull:mainfrom
kksty:feat/llm-allowed-hosts

Conversation

@kksty

@kksty kksty commented Aug 31, 2026

Copy link
Copy Markdown

概述

为私有/本地 LLM 端点增加 LLM_ALLOWED_HOSTS 白名单配置,解决 AutoHunter 无法使用内网 LLM 部署(vLLM / Ollama / llama.cpp / Xinference 等)的问题。

问题背景

netguard.py 的 SSRF 防护会拦截携带 LLM API Key 的请求发往内网/云元数据地址,防止密钥外泄和内网探测。但这也导致私有 LLM 部署(base_url 为内网 IP 或域名)无法使用——默认策略直接拒绝,且没有配置项可放行。

FOFA 已有 FOFA_ALLOWED_HOSTS 白名单先例,LLM 端却缺少同等机制。

改动内容

文件 改动
app/tools/netguard.py 新增 _env_llm_allowed_hosts()(读取 env)、_ip_in_allowed()(单 IP / CIDR / 域名匹配);assert_safe_outbound_url() 的 IP 校验循环增加白名单短路
app/api/settings.py LLM 连接性探测传入白名单
app/settings_service.py LLM 模型列表探测传入白名单
.env.example 新增 LLM_ALLOWED_HOSTS 配置说明

用法

# .env 中配置,支持单 IP / CIDR 网段 / 域名,逗号分隔
LLM_ALLOWED_HOSTS=192.168.141.3,10.0.0.0/8,llm.lan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant