DontFeedTheAI 的 Ollama 上下文检测层:如何精准识别自由文本中的主机名与公司名(完整指南)
【免费下载链接】DontFeedTheAITransparent anonymization proxy for AI-assisted pentesting. Strips IPs, credentials, hostnames and PII before they reach any LLM (Claude, OpenAI, OpenRouter). Local Ollama regex detection. Per-engagement vault.项目地址https://gitcode.com/gh_mirrors/do/DontFeedTheAI点击查看免费下载DontFeedTheAI 是一款面向 AI 辅助渗透测试的透明匿名化代理它在你与 Claude、OpenAI、OpenRouter 等大模型之间拦截请求先把 IP、凭据、主机名和公司名等敏感信息替换为假值再把响应还原后返回。它的核心之一就是本地的Ollama 上下文检测层专门负责在自由文本中识别那些正则规则抓不到的主机名与公司名。为什么正则规则不够用DontFeedTheAI 采用双层检测架构检测层擅长识别工作方式 正则层RegexIP、CIDR、哈希、Token、API Key确定性模式匹配 Ollama 层LLM裸主机名、公司/项目名、人名、DOMAIN\user本地大模型理解上下文问题在于10.20.0.5或AKIA...这类字符串有固定格式正则一击即中但像DC01、Acme Corp、stelear-tech-app-01这样的词在文本里就是普通单词——没有前缀、没有固定格式只有结合上下文nmap 扫描 DC01 发现 445 端口开放才能判断它是敏感信息。这正是上下文检测层存在的意义。Ollama 上下文检测层是如何工作的检测逻辑位于 src/llm_detector.py整体流程如下分块长文本按LLM_CHUNK_SIZE默认 1500 字符切块相邻块保留 150 字符重叠避免实体被拦腰截断并发推理各块最多 2 路并发调用本机 Ollama 的/api/chat默认模型qwen3:1.7btemperature0保证输出稳定结构化输出要求模型只返回 JSON 实体列表每项包含text必须是输入中的原文子串和typeHOSTNAME、ORGANIZATION、CREDENTIAL 等去重汇总按出现顺序合并各块的检测结果。几个关键设计值得新手注意幻觉防护解析时校验text in chunk_text——模型编造出来的、文本里根本不存在的实体会被直接丢弃分块 LRU 缓存相同内容的块比如反复粘贴的同一段工具输出按 MD5 命中缓存最多保留 500 条硬失败策略Ollama 不可达或超时时会抛出OllamaUnavailableError代理拒绝转发请求而不是带着没脱敏的数据放行——宁可报错也不漏数据系统提示词热更新若存在data/system_prompt.txt它会覆盖内置提示词且最多每 60 秒重新读取一次磁盘无需重启服务即可让优化后的提示词生效。主机名与公司名是怎么被识别的裸主机名靠上下文长相判断系统提示词中的 HOSTNAME 规则要求模型识别不带 FQDN 的唯一机器名例如DC01、WEBSERVER01、FILESERVER-PRD、FORTUNA-CA。判断依据不是格式而是语境——它必须看起来像一个具体的机器名而不是泛泛的server、host这类普通词。识别后DC01会被替换为类似dc-0042的假主机名规则实现在 src/surrogates.py。公司名要求原样返回ORGANIZATION 规则覆盖公司名称、品牌、项目代号并明确要求模型按原始大小写和空格精确返回返回Acme Corp而不是acme.corp。它还覆盖了一些容易漏掉的场景全大写的 Windows 域/工作组名、WiFi SSID 值、带公司前缀的云资源名存储桶、K8s 命名空间、GCP 项目 ID等。严格的不标记清单避免误杀识别敏感信息最大的坑是误报。提示词中列了一张详细的DO NOT FLAG清单渗透工具名nmap、mimikatz、bloodhound、协议名Kerberos、NTLM、技术产品与版本IIS 10、Apache 2.4.49、CVE 编号、AD 内置账户krbtgt、Domain Admins等一概不标记。代理层还叠加了一层硬编码白名单src/anonymizer.py 中的_NEVER_ANONYMIZE即使模型误判也不会动这些词。背后的原则一句话描述技术是什么的保留描述它是谁的/在哪的才替换——否则模型连你面对的是 IIS 10 还是 Apache 都判断不了分析结果毫无价值。识别之后一致的假值映射每识别出一个实体代理会在按ENGAGEMENT_ID隔离的本地 SQLite 保险库中建立原文 ↔ 假值映射src/vault.py同一任务内相同原文始终映射到相同假值保证 AI 推理时上下文连贯原文替换为dc01.contoso.localxkqpzt.pentest.localDC01dc-0042C0nt0s02024![CRED_XK9A2B3C]云端 LLM 只能看到假值响应返回时代理再按映射还原整个过程敏感数据不离开本机。如何验证与调优检测效果可视化审计运行python3 wizard.py tunnel --audit打开上图所示的面板可按实体类型DOMAIN、CREDENTIAL、HOSTNAME…过滤每条ORIGINAL → SURROGATE映射一眼发现漏网之鱼全链路测试python3 wizard.py test --integration让全部 fixture 走完 LLM 正则完整管线并断言零泄露反馈闭环scripts/dev/feedback_loop.py 会把验证器发现的漏报案例回灌用于持续改进系统提示词。更多支持的上游客户端与配置项可查阅 docs/providers.md完整的两层管线技术拆解见 docs/architecture.md。小结要点说明定位本地 Ollama 承担理解型检测专治自由文本中的主机名、公司名、人名可靠性幻觉校验 提示词热更新 Ollama 故障时硬失败拦截防误报提示词 DO-NOT-FLAG 清单 代理层硬白名单双重过滤安全性检测全程本机运行敏感数据不出机器审计页仅在 SSH 隧道内开放对于需要在 AI 辅助下分析渗透报告、生产日志又担心客户信息外泄的安全从业者来说这套本地上下文检测 正则兜底的分层方案是一个值得参考的务实架构。赞分享【免费下载链接】DontFeedTheAITransparent anonymization proxy for AI-assisted pentesting. Strips IPs, credentials, hostnames and PII before they reach any LLM (Claude, OpenAI, OpenRouter). Local Ollama regex detection. Per-engagement vault.项目地址https://gitcode.com/gh_mirrors/do/DontFeedTheAI点击查看免费下载相关推荐如何用HanLP实现精准中文命名实体识别终极指南如何用HanLP实现精准中文命名实体识别终极指南 中文命名实体识别是自然语言处理中的关键技术能够自动识别文本中的人名、地名、组织机构名等实体信息。HanLP人工智能NLP机器学习深度学习大模型PlayIntegrityFix完整指南如何轻松通过Google设备完整性验证PlayIntegrityFix完整指南如何轻松通过Google设备完整性验证 你是否遇到过这些烦人的问题Google Play商店显示设备未认证银行应用安全系统编程weave的重命名检测秘诀如何用名称结构哈希精准识别被改名的函数weave的重命名检测秘诀如何用名称结构哈希精准识别被改名的函数 weave 是一个实体级entity levelGit 合并驱动它的重命名检测re上一篇RISC-V向量扩展终极指南如何快速掌握PLCT实验室开源项目下一篇phuslu/log 开源项目教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考