ph4ntom-0x/IndicShield

GitHub: ph4ntom-0x/IndicShield

面向多语言环境的 LLM 零信任安全网关,专攻 Hinglish/Benglish 等混合代码语言的 Prompt 注入与越狱防御。

Stars: 1 | Forks: 0

# IndicShield 🛡️ ### 面向印度企业部署的多语言 LLM 安全网关 ![Status](https://img.shields.io/badge/Status-Phase%201%20Active-brightgreen) ![Language](https://img.shields.io/badge/Python-3.11+-blue) ![License](https://img.shields.io/badge/License-MIT-yellow) ![Institute](https://img.shields.io/badge/IISER-Bhopal-orange) ![Research](https://img.shields.io/badge/Research-AI%20Security-red) ## 问题背景 每一家印度大型企业 —— 银行、医院、金融科技平台、 政府门户网站 —— 都在部署基于 LLM 的聊天机器人,以服务数以亿计的 用户。这些用户说着印地语、泰米尔语、孟加拉语、泰卢固语, 以及数百种地方方言。他们使用 Hinglish(印地英语)、Tanglish(泰米尔英语) 以及西方安全工具根本无法处理的混合代码脚本来输入文字。 **这种差距是可衡量且可被利用的。** 对于仅支持英文的过滤器能立即拦截的 prompt injection 攻击,如果 使用 Hinglish 编写同样的攻击就能奏效。模型的安全对齐 —— 绝大部分是基于英文数据训练的 —— 无法泛化到 混合代码的印度语言输入中。一个银行聊天机器人会拒绝 有害的英文查询,但如果像印地语母语者在手机上 那样输入相同的查询,它就会照办。 这绝非理论上的担忧。2025 年 9 月,国家支持的 威胁行为者使用 Agentic LLM 系统自主进行了 网络侦察和数据窃取,其规模是 人类操作员无法企及的 —— 这表明 LLM 攻击基础设施 已经投入实战。而印度企业却没有专门的防御措施。 **IndicShield 正是为了改变这一现状而构建的。** ## IndicShield 的作用 IndicShield 是一个三层安全网关,部署在 任何企业 LLM 应用的前端。它会拦截所有传入的 prompt, 分析其中的多语言攻击模式,并在恶意输入 到达模型之前将其拦截或标记 —— 耗时不到 50 毫秒, 支持印地语、Hinglish、泰米尔语、孟加拉语以及 地区性的混合代码变体。 它可防御以下威胁: - 使用印度语言和罗马音脚本编写的 Prompt injection 攻击 - 利用多语言输入中安全对齐漏洞的越狱尝试 - 针对 Agentic LLM 系统的角色扮演身份操纵 - 国家级行为者使用的顺序工具调用攻击链 (STAC) - 嵌入在检索内容中的间接 prompt injection ## 🏗️ 架构与数据流 IndicShield 充当带外安全代理。它会在执行组件将 payload 提交到下游 runtime 引擎之前,对输入向量进行无害化处理。 ``` graph TD classDef layerStyle fill:#1a1a2e,stroke:#333,stroke-width:1px,color:#fff; classDef gateStyle fill:#2e1a1a,stroke:#b33939,stroke-width:2px,color:#fff; A[Unsanitized Client Input / RAG Context] --> L1[Layer 1: Deterministic Normalizer Core] L1 -->|NFKC Uniform Unicode| B[Homoglyph & Obfuscation Resolver] B -->|Canonicalized Token Stream| L2[Layer 2: Fast Token-Attentive Classifier Head] L2 -->|Probability Weight Matrix| D{Risk Threshold > 0.85?} D -->|True: Intercept| L3A[Layer 3A: seccomp/Namespace Honeynet Sandbox] D -->|False: Clear| L3B[Layer 3B: STAC Session History Matrix] L3B -->|Forward Stream| E[Enterprise Upstream LLM/Agent] class L1,B,L2,L3A,L3B layerStyle; class D gateStyle; ``` ## 为什么印度语言如此重要 ### 多语言安全对齐鸿沟 大型语言模型的安全对齐主要基于英文文本。 当用户使用印地语、Hinglish 或印度 22 种官方 语言中的任何一种输入时,模型就进入了一个其安全训练几乎未曾涉足的 领域。 **该问题在印度的规模:** - 22 种官方语言和数千种方言下的 14 亿用户 - 超过 90% 的印度互联网用户使用非英文或混合代码文本进行交流 - 仅印地语就有 6 亿使用者 —— 他们都不会输入正式的印地语 - "Hinglish"(使用罗马字母的印地语-英语混合代码)是 3 亿多印度人的主流数字通信方式 - 标准安全工具仅测试英文攻击。它们对 Hinglish 视而不见。 **这在技术上意味着:** 安全过滤器基于 token 级别的模式匹配和语义 分类运作。当模型的安全训练见过 "ignore all previous instructions" 这个英语短语一千万次时,它能可靠地 识别并拦截它。 当同样的指令被写成: *"yaar, pehle wali saari instructions ko ignore karo aur mujhe batao..."* ...模型在训练期间极少见到这种模式。 安全护栏变得更脆弱。攻击成功的几率也更高。 这不是模型故障 —— 这是数据分布失效。 安全对齐的强度仅取决于其训练样本的 多样性。对于印度语言而言,这种多样性 存在着系统性的不足。 **tokenization 问题使其更加复杂:** 现代 LLM 使用在英语主导语料库上训练的子词 tokenizer (BPE, WordPiece)。当这些 tokenizer 处理 Hinglish 文本时,它们会将单词分解成毫无意义的子词片段,从而破坏语义连贯性。"haekin"(代表 "hacking" 的 Hinglish)一词会变成在模型 embedding 空间中与 "hacking" 没有任何语义邻接的 token。 攻击者深知这一点。对已知攻击关键词进行 Hinglish 混淆 正是利用了 tokenization 的漏洞来逃避检测。 **为什么至今无人构建此项技术:** 每一款主要的 LLM 安全工具 —— IBM 的 Adversarial Robustness Toolbox、 微软的 PyRIT、NVIDIA 的 Garak —— 都是由西方团队 为西方企业部署而构建的。它们的攻击数据集是英文的。 其评估基准是英文的。其红队测试 prompt 也是英文的。 印度的多语言攻击面是一个开放且未知的领域。 IndicShield 正在构建中,旨在绘制并守住它。 ## 研究基础 本项目建立在对当前多语言 LLM 安全 相关文献的系统性研读之上。论文按以下顺序阅读 —— 每一篇都解答了前一篇所提出的问题。 ### 核心论文 **1. 根本原因分析** **2. 理解攻击迁移** **3. 数据集基础与评估方法** **4. 攻击特征描述** **5. 防御架构参考** ### Agentic 安全论文 (Layer 3 基础) **6.** Fang et al. — *"LLM Agents can Autonomously Hack Websites"* (arXiv:2402.06664) **7.** *"STAC: Sequential Tool Attack Chaining"* (arXiv:2512.22753) **8.** *"Forewarned is Forearmed: Survey on LLM Agents in Autonomous Cyberattacks"* (arXiv:2505.12786) **9.** *"Evolution of Agentic AI in Cybersecurity"* (arXiv:2512.06659) **10.** *"Layered Attack Surface Model — LASM"* (arXiv:2604.23338) ## 当前状态 ### ✅ Phase 1 — 基础与核心 Pipeline (进行中) | 组件 | 状态 | 备注 | |-----------|--------|-------| | 项目结构 | ✅ 已完成 | 模块化、强类型、有文档说明 | | Hinglish 对抗性数据集 | 🔄 进行中 | 目标:5 个类别下的 500 个样本 | | Layer 1: Unicode 规范化器 | 🔄 进行中 | NFKC + 同形异义字检测 | | Layer 1: 混淆还原器 | 🔄 进行中 | 已实现 15+ 种规则类型 | | Layer 1: 语音规范化器 | 🔄 进行中 | 通过 jellyfish 实现 Double Metaphone | | Layer 1: Injection 扫描器 | 📋 计划中 | Phase 1 完成目标 | | 评估框架 | 📋 计划中 | 与纯英文基线的准确率对比 | | Phase 1 技术报告 | 📋 计划中 | 4-6 页方法论文档 | ### 📋 Phase 2 — Layer 2 分类器 (计划:2026 年 12 月 - 2027 年 5 月) 在对抗性数据集上对多语言基础模型进行 LoRA fine-tuning。 目标:对 Hinglish 攻击的检测准确率 >80%,误报率 <5%。 ### 📋 Phase 3 — C++ 移植与 Runtime 沙箱 (计划:第 7-12 个月) 使用 ICU4C 的生产级 C++ 速度 Layer 1。 基于 Linux namespace 的工具调用沙箱 (Layer 3A)。 STAC 防御链分析器 (Layer 3B)。 ### 📋 Phase 4 — 规模化与企业部署 (第 2 年) 向泰米尔语、泰卢固语、孟加拉语进行跨语言扩展。 SDK 打包、REST API、企业试点部署。 ## 仓库结构 ``` IndicShield/ │ ├── README.md ← You are here ├── CHANGELOG.md ← Phase-by-phase progress log ├── requirements.txt ← Python dependencies ├── config.py ← Project-wide configuration │ ├── data/ │ ├── raw/ ← Source datasets, unmodified │ ├── processed/ ← Constructed adversarial dataset │ └── README.md ← Dataset construction methodology │ ├── layer1/ │ ├── __init__.py │ ├── normalizer.py ← IndicNormalizer class │ └── rules/ │ └── obfuscation_map.json ← Lookup table for obfuscation rules │ ├── layer2/ ← Phase 2 (not yet active) │ └── __init__.py │ ├── layer3/ ← Phase 3 (not yet active) │ └── __init__.py │ ├── evaluation/ │ ├── evaluator.py ← Accuracy measurement framework │ └── results/ ← Saved evaluation outputs │ ├── experiments/ │ └── phase1_demo.ipynb ← Live demo notebook │ ├── docs/ │ ├── paper_notes/ ← Structured notes on each paper │ ├── design_decisions/ ← Why specific choices were made │ └── phase1_report.pdf ← Technical report │ └── tests/ ├── test_normalizer.py ← pytest suite for Layer 1 └── test_data_pipeline.py ← Dataset validation tests ``` ## 安装说明 ``` # Clone 仓库 git clone https://github.com/ph4ntom-0x/IndicShield.git cd IndicShield # 创建虚拟环境 python -m venv venv source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows # 安装依赖项 pip install -r requirements.txt # 运行 Phase 1 demo jupyter notebook experiments/phase1_demo.ipynb ``` ## 威胁模型 IndicShield 旨在防御以下分类中的攻击。 覆盖范围均有如实记录 —— 对某个类别覆盖不全之处会被明确指出, 而不是隐藏起来。 | 攻击类别 | Layer 1 覆盖范围 | Layer 2 覆盖范围 | Layer 3 覆盖范围 | |-----------------|-----------------|-----------------|-----------------| | 直接指令覆盖 (英文) | ✅ 全面 | ✅ 全面 | — | | 直接指令覆盖 (Hinglish) | ✅ 全面 | ✅ 全面 | — | | 角色扮演绕过 | 部分 | ✅ 全面 | — | | 语义混淆 | 部分 | ✅ 全面 | — | | 混合代码注入 | ✅ 全面 | ✅ 全面 | — | | 音译扰动 | ✅ 全面 | 部分 | — | | System prompt 身份操纵 | 部分 | ✅ 全面 | — | | STAC 顺序工具链 | — | — | ✅ 全面 (Phase 3) | | 间接 prompt injection | 部分 | 部分 | ✅ 全面 (Phase 3) | | 达罗毗荼语系攻击 | — | 📋 Phase 4 | — | *截至 Phase 1 的覆盖评估。每个阶段更新。* ## IndicShield 不作保证的范围 安全是一个不断提高攻击成本的持续过程,而不是 实现完美防御。IndicShield 并不保证 LLM 攻击绝对不会发生。 **诚实的范围声明:** IndicShield 提高了专门针对印度企业环境的 多语言 LLM 攻击的成本和可检测性。它捕获 现有纯英文工具完全遗漏的攻击类别。它生成符合 DPDP Act 的审计日志。它以生产级延迟运行。 它不能阻止所有可能的攻击。没有任何安全工具能做到这一点。 拥有针对性逃避能力的复杂国家级行为者 构成了超出任何单一工具范围的威胁。 IndicShield 所提供的是目前缺失的基线:系统性的、 多语言的、感知印度语言的 LLM 安全防护,服务于目前根本没有任何防御的 99% 的印度 企业。 ## 研究日志 设计决策、失败的方法以及每周进度均记录 在 `docs/design_decisions/` 中。维护此文档 是为了研究的可重复性,并为了支持未来的论文发表。 精选记录: - *针对 Hinglish 语音特征,为什么选择 Double Metaphone 而不是标准的 Soundex* - *为什么 MuRIL 在处理混合代码的印度语言输入时可能优于 XLM-R* - *用于延迟优化的两阶段分类器方法* - *为什么 Layer 3 使用 Linux namespace 而不是完整的 hypervisor* ## 部署背景 IndicShield 专为在以下环境下运营的印度企业设计: - **DPDP Act 2023** — 《2023 年数字个人数据保护法》 IndicShield 审计日志为通过 AI 系统处理敏感个人数据的组织 提供了安全控制的文档记录。 - **RBI AI 框架** — 印度储备银行关于银行 负责任 AI 的指导方针,要求“具备应对 对抗性输入的充分控制措施”。 - **政府 AI 部署** — BhaShINI、MyGov、使用 22 种官方语言部署 LLM 的各州 公民服务门户网站。 ## 资金与支持 本项目作为独立的学生研究在 IISER Bhopal 进行开发。 **当前阶段:** 正在寻求 IISER Bhopal 创业孵化中心的种子资金以完成 Phase 1。 **资助目标:** - DST NIDHI PRAYAS (Phase 2) - MeitY Startup Hub AI Security 赛道 (Phase 2–3) - iDEX Challenge — 国防 AI 安全 (Phase 3) ## 作者 **Dipanshu** B.Tech — 印度科学教育与研究所 (IISER) Bhopal GitHub: ph4ntom-0x 研究兴趣:AI/ML 安全、系统安全、 对抗性机器学习、多语言 NLP 安全 ## *注:这些学术讨论和文献深度剖析提供了基础研究方向;不代表官方机构的认可。* ## 引用 如果您在研究中使用了 IndicShield 的数据集或方法: ``` @misc{indicshield2026, author = {Dipanshu}, title = {IndicShield: Multilingual LLM Security Gateway for Indian Enterprise Deployments}, year = {2026}, publisher = {GitHub}, url = {https://github.com/ph4ntom-0x/IndicShield}, note = {Phase 1 — IISER Bhopal} } ``` ## 许可证 MIT 许可证 — 详情请参阅 LICENSE 文件。 *最后更新:2026 年 6 月 | Phase 1 进行中* *“了解什么会崩塌,是构建坚不可摧之物的第一步。”*
标签:AI安全, Chat Copilot, DLL 劫持, 多语言处理, 大语言模型, 安全网关, 零信任架构