raceksd-source/anci-oiv-resolver

GitHub: raceksd-source/anci-oiv-resolver

为智利国家网络安全法下的915个关键基础设施运营商提供从官方注册名称到真实域名的规范解析,消除推断误报并支持多维覆盖分析。

Stars: 0 | Forks: 0

# anci-oiv-resolver [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![npm](https://img.shields.io/badge/npm-anci--oiv--resolver-red.svg)](https://www.npmjs.com/package/anci-oiv-resolver) [![覆盖率差距](https://img.shields.io/badge/Coverage_Gap-brecha_estructural-orange.svg)](#el-coverage-gap) [![域名覆盖率](https://img.shields.io/badge/Domain_Coverage-915_OIVs_mapped_(100%25)-brightgreen.svg)](#la-solución) [![已关闭行业](https://img.shields.io/badge/Sectors_Closed-10_de_10-brightgreen.svg)](#la-solución) [![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](package.json) [![CFP](https://img.shields.io/badge/LASCON_2026-en_evaluación-blue.svg)]() [英文自述文件](README.en.md) ## 什么是 OIVs,为什么它们很重要? **关键基础设施运营商 (OIVs)** 是被智利国家正式认定为**对国家安全至关重要**的组织。第 21.663 号法律(国家网络安全框架 · 2024)将 915 个组织归入此类,包括: | 行业 | 代表性示例 | |------|-----------| | **银行/金融** | BCI · BancoEstado · Santander · Banco de Chile · 证券交易所 | | **公共医疗** | FONASA · 地区医院 · MINSAL | | **私立医疗** | Clínica Las Condes · Hospital Alemán · Clínica Indisa | | **能源** | Enel · ENAP · Colbún · AES Andes · CGE | | **电信** | ENTEL · Movistar · VTR · WOM · GTD | | **水务** | Aguas Andinas · ESSBIO · ESSAL · Aguas del Altiplano | | **交通运输** | Metro · LATAM · EFE · 高速公路特许经营商 | | **燃料** | COPEC · Shell · Gas Natural · Sonacol | | **政府** | SII · ANCI · ONEMI · CMF · 民事登记处 | | **数字基础设施** | Sonda · Microsystem · 关键 IT 提供商 | **国家网络安全局 (ANCI)** 在新法律下监督这些组织,规定了以下义务: - 网络风险管理 - 在规定时间内报告事件 - 定期安全审计 - 业务连续性计划 ## 此 resolver 面向谁? 该库对以下人员有用: - **网络安全研究人员**:需要在被动 OSINT 研究之前解析 OIVs 的规范域名(主要用例) - **合规顾问**:就第 21.663 号法律规定的义务向 OIVs 提供建议 - **科技记者**:在网络安全或关键基础设施调查中核实组织身份 - **学者**:研究智利关键基础设施的网络暴露差距 - **事件响应团队**:在活跃事件期间将域名与 OIVs 关联 - **监管机构和政策制定者**:审计监管框架的实际覆盖范围 如果你在上述任何领域工作,并且曾需要手动解析“ANCI 注册名称 → 实际域名”,此工具可自动完成**915 个 OIVs(100% 全部)**的解析,并伴有诚实的 DNS 验证。 ## 为什么构建这个工具? 在研究智利负责任的披露差距(“覆盖率差距” · 参见配套论文)时,我们发现**自动根据注册名称推断域名的工具系统性失效**。已注册 OIVs 的分布如下: ``` 915 OIVs registrados ANCI (Ley 21.663) │ └── 915 catalogados — este tool (100% universo) ├── 10 sectores cerrados 100% │ └── banca · telecomunicaciones · transporte · agua · empresas_estado │ combustibles · salud · administración_estado · energía_eléctrica │ infraestructura_digital ├── ~80% con dominios DNS verificados (A record confirmado) └── ~20% con estado honesto documentado └── NXDOMAIN · email-only · individual contractor · sin web pública ``` 这些推断错误污染了学术研究数据集,用虚假报告填满了错误供应商的收件箱,并削弱了任何关于智利关键基础设施的严肃研究的可信度。 `anci-oiv-resolver` 提供了经过验证的 RUT → 规范域名的映射,消除了这些系统性的误报。 ## 问题 在根据第 21.663 号法律(国家网络安全框架)正式注册的 **915 个关键基础设施运营商 (OIVs)** 中,**只有极小一部分拥有可验证的联系渠道**来接收负责任的披露报告。公共攻击面的实际覆盖范围有限,很少有组织满足启动符合 ISO/IEC 29147 原则的协调披露流程的最低条件。 这是智利 **覆盖率差距的第一层结构性问题**。 **第二层** 更加微妙但同样具有系统性:通过简单启发式推断“注册名称 → 域名”的被动研究工具会产生大量误报: | OIV(ANCI 注册名称) | 简单推断 | 实际域名 | |---|---|---| | BANCO DE CRÉDITO E INVERSIONES | `bancodecrditoeinversiones.cl` ❌ | **bci.cl** ✓ | | BANCO DEL ESTADO DE CHILE | `bancodelestadodechile.cl` ❌ | **bancoestado.cl** ✓ | | BANCO BICE | `bancobice.cl` ❌ | **bice.cl** ✓ | | TELEFÓNICA CHILE S.A. | `telefonicachile.cl` ❌ | **movistar.cl** ✓ | | EMPRESA NACIONAL DE TELECOMUNICACIONES | `empresanacionaldetelecomunicaciones.cl` ❌ | **entel.cl** ✓ | 如果没有规范的 resolver,任何扫描智利 OIVs 的工具都会在根本不存在的域名上产生发现结果,污染向供应商的报告,损害研究的可信度,并污染学术数据集。 ## 解决方案 `anci-oiv-resolver` 提供经过 DNS 验证的 **RUT → 规范域名** 映射,覆盖官方目录的 **915 个 OIVs(100%)**: | 行业 | 总数 | 已验证 | 状态 | |------|------|--------|------| | 银行/金融 | 34/34 | 31/34 | 100% 已关闭 ⭐ | | 电信 | 29/29 | 24/29 | 100% 已关闭 ⭐ | | 交通运输 | 25/25 | 21/25 | 100% 已关闭 ⭐ | | 水务 | 25/25 | 9/25 | 100% 已关闭 ⭐ | | 国有企业 | 20/20 | 16/20 | 100% 已关闭 ⭐ | | 燃料 | 25/25 | 22/25 | 100% 已关闭 ⭐ | | 医疗 | 111/111 86/111 | 100% 已关闭 ⭐ | | 国家行政管理 | 155/155 | 114/155 | 100% 已关闭 ⭐ | | 电力能源 | 147/147 | 60/147 | 100% 已关闭 ⭐ | | 数字基础设施 | 413/413 | 410/413 | 100% 已关闭 ⭐ v0.4.0 | | **总计** | **915/915** | **~793/915** | **100% 全部** | 当 RUT 不在表中时,提供改进的启发式回退(重音标准化 + 法律后缀去除 + 品牌覆盖映射)。 **915 个 OIVs 已分类 · 100% ANCI 全部 · ~80% DNS 已验证 · 10/10 行业已关闭 · 被动 OSINT · 零主动扫描 · v0.4.0** ## 快速安装 ``` npm install anci-oiv-resolver ``` ## 使用方法 ``` import { resolveOIVDomain } from 'anci-oiv-resolver'; // Lookup por tabla — alta confianza const bci = await resolveOIVDomain('97006000-6', 'BANCO DE CRÉDITO E INVERSIONES'); // → { domain: 'bci.cl', source: 'known-domains', confidence: 1.0, verified: null } // Con verificación DNS const transbank = await resolveOIVDomain('96689310-9', 'TRANSBANK S.A.', { verify: true }); // → { domain: 'transbank.cl', source: 'known-domains', verified: true, mxRecords: ['10 mx.transbank.cl'] } // Fallback heurístico para RUTs sin tabla const unknown = await resolveOIVDomain('99000000-1', 'DISTRIBUIDORA GAS NORTE S.A.'); // → { domain: 'distribuidoragasnorte.cl', source: 'heuristic', confidence: 0.45, verified: null } ``` ### 批量解析 ``` import { resolveBatch } from 'anci-oiv-resolver'; const oivs = [ { rut: '97006000-6', razonSocial: 'BANCO DE CRÉDITO E INVERSIONES' }, { rut: '97030000-7', razonSocial: 'BANCO DEL ESTADO DE CHILE' }, { rut: '62000560-6', razonSocial: 'AGENCIA NACIONAL DE CIBERSEGURIDAD' }, ]; const resolved = await resolveBatch(oivs, { verify: true }); ``` ### 覆盖率统计 ``` import { getCoverageStats } from 'anci-oiv-resolver'; const stats = getCoverageStats(); // → { total: 995, bySector: { infraestructura_digital: { count: 416, dnsVerified: 410 }, banca_finanzas: { count: 34 }, salud: { count: 111 }, administracion_estado: { count: 155 }, energia_electrica: { count: 150 }, ... }, dnsVerified: 793, dnsUnverified: 202 } ``` ### CLI 演示 ``` # 查找个体 npx tsx examples/cli-demo.ts 97006000-6 # 使用 DNS 验证 npx tsx examples/cli-demo.ts 96689310-9 "TRANSBANK S.A." --verify # 覆盖率统计 npx tsx examples/cli-demo.ts --stats ``` ## 完整 API ### `resolveOIVDomain(rut, razonSocial, options?)` 主要解析函数。 | 参数 | 类型 | 描述 | |------|------|------| | `rut` | `string` | 智利 RUT — 接受 `"97006000-6"`、`"97.006.000-6"`、`"97006000-k"` | | `razonSocial` | `string` | ANCI 注册名称 — 用于启发式回退 | | `options.verify` | `boolean` | 如果为 `true`,则执行 DNS A/MX 查找(增加 50–300ms) | 返回:`Promise` ``` interface OIVDomainResolution { domain: string; // ej: "bci.cl" source: 'known-domains' | 'heuristic'; rut: string; // RUT normalizado razonSocial: string; sector: OIVSector; confidence: number; // 0–1 (1.0 = tabla+verificado, 0.45 = heurístico) verified: boolean | null; // null si verify no fue solicitado mxRecords: string[] | null; } ``` ### 底层原语 `resolveBytable(rut)` / `heuristicInfer(razonSocial)` / `verifyDomain(domain)` / `batchVerify(domains)` 已导出供高级使用。参见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 覆盖率差距 **915 个已注册的 OIVs。只有一小部分拥有有记录的披露联系人或公开映射的攻击面。** 这就是覆盖率差距:智利关键基础设施在很大程度上对安全研究社区不可见,不是因为它是安全的,而是因为基本的侦察层(域名映射)从未被系统化。 该库是逐步缩小这一差距的第一步。 有关完整方法论和负责任使用指南,请参见 [docs/METHODOLOGY.md](docs/METHODOLOGY.md)。 ## 法律和道德背景 该 resolver 在**被动 OSINT 研究**框架下运行,符合: - **第 21.663 号法律**(智利国家网络安全框架) — 通过 ANCI 正式指定 OIVs - **第 21.459 号法律**(计算机犯罪) — 保护不涉及未授权访问的善意研究 - **ISO/IEC 29147:2018** — 协调漏洞披露 - **DOJ 善意安全研究框架**(2017) — 非恶意研究 该工具**不对系统进行任何未授权访问**。它仅查询公共 DNS(A 记录、AAAA 记录、MX 记录)并维护一张从公开来源(ANCI 注册表、NIC Chile、公共 DNS)手动验证的映射表。 ## 配套研究 该工具伴随工作论文: 参见 [dmzs.dev/research](https://dmzs.dev/research) 获取研究主页和相关出版物。 ## 学术引用 如果你在研究中使用此工具,请引用: ``` @misc{mellafe2026anci, author = {Mellafe Zuvic, David}, title = {anci-oiv-resolver: Canonical Chilean OIV Domain Resolver}, year = {2026}, publisher = {GitHub}, version = {v0.1.0}, howpublished = {\url{https://github.com/raceksd-source/anci-oiv-resolver}}, note = {Companion paper: "Coverage Gap in Chilean Critical Infrastructure Cybersecurity" (Zenodo DOI pending)} } ``` ## 公开路线图 - **v0.2.0 — 已发布** — 367 条记录 · 6 个行业 100% 关闭 · 40.4% 全量覆盖 - **v0.3.0 — 已发布** — 644 条记录 · 9 个行业 100% 关闭 · 70.8% 全量覆盖 - **v0.4.0 — 已发布** — 915 个 OIVs 已分类 · 100% ANCI 全部 · 10/10 行业已关闭 · ~80% DNS 已验证 ⭐ - **2026 年第三季度** — v0.5.0 · CLI 二进制 (`npx anci-oiv-resolver --rut X`) · 反向查找 · Zenodo DOI - **2026 年第三季度** — LASCON 2026 奥斯汀 TX(CFP 评估中) - **2026 年第四季度** — 年度报告“智利 OIV 网络安全状况 2026” ## 作者 **David Mellafe Zuvic** · 独立网络安全研究员 · 智利拉塞雷纳 [david@reizan.io](mailto:david@reizan.io) · [dmzs.dev/research](https://dmzs.dev/research) ## 致谢 该工具是正在进行的关于第 21.663 号法律框架下智利 OIVs 网络暴露研究的一部分。所有数据均来自公开来源(ANCI 注册表、NIC Chile、公共 DNS)。 ## 许可证 Apache 2.0 — 参见 [LICENSE](LICENSE).
标签:ANCI, CII, GNU通用公共许可证, Ley 21.663, MITM代理, Node.js, npm包, OIV, SYN扫描, 关键基础设施, 国家网络安全框架, 域名解析, 安全合规, 扫描工具, 数据映射, 智利, 暗色界面, 注册名称解析, 网络代理, 网络安全, 自动化攻击, 覆盖缺口研究, 隐私保护, 风险分析