开源软件让组织能在几分钟内获得强大能力,但也可能形成治理盲区:少数外部账户可能影响产品、基础设施和客户环境深处的软件,而使用方对仓库的运行背景知之甚少。
高风险司法辖区暴露旨在缩小这一差距。它依据仓库所有者、可见主要贡献者,以及这些贡献者资料中公开组织所自行填写的高置信度公开所在地,形成可解释的审查信号。当证据命中当前政策范围时,报告会突出显示该暴露,并调整安全和总体评级,避免良好的流行度或工程实践将其平均掩盖。
此仓库是否存在高风险司法辖区暴露,需要加强人工审查?
该信号不判断个人是否可信,也不推断国籍、公民身份、居住地、政治观点、恶意意图或制裁状态。
为什么它属于软件供应链治理
企业的依赖决策不只涉及代码质量。采购、安全、法务、韧性与公共部门团队还可能需要考虑:
- 制裁与出口管制的筛查义务;
- 政府或客户对软件来源与托管责任的限制;
- 国家关联的网络威胁模型与更严格的来源证明要求;
- 连续性风险——若访问、支付、托管或发布基础设施因区域性限制或中断而受阻;
- 集中度风险——当某个关键依赖依托于一个规模很小的外部托管社区;以及
- 解释某个软件包为何被接受、监控、隔离、分叉或替换的需要。
若没有系统化信号,这些问题往往出现得太晚且处理标准不一。一个可见的、版本化的政策结果,能将其转化为可重复的审查决策,而不是在采购或事件当中临时展开的一次检索。
当前政策范围
本政策涵盖与俄罗斯、伊朗和朝鲜相关的公开资料证据。范围的划定不是编辑判断:一个国家只有同时通过两项机构性检验才会进入范围。
- 广泛的多边制裁与出口管制敞口。该国受到由 美国财政部制裁项目、 欧盟限制性措施与 英国制裁制度 并行维护的国家级限制制度约束——而非仅有针对个别实体的点名。范围内,朝鲜还受 联合国安理会制裁;伊朗与朝鲜是仅有的两个处于 FATF 长期反制措施呼吁之下的司法辖区。
- 被官方点名的国家网络威胁活动。该国被西方网络安全主管机构点名为针对技术与供应链的国家支持行动来源。 CISA 的高级持续性威胁项目 恰好为四个国家——中国、俄罗斯、伊朗、朝鲜——维护常设国家级指引; ODNI 年度威胁评估与 英国 NCSC 点名的也是同样四国。
两项检验的交集恰好就是公布的范围,也正是它让范围在两个方向上都保持狭窄。只通过一项检验的国家不在范围内:中国出现在每一份国家网络威胁名单上,但不受广泛的国家级制裁;白俄罗斯、古巴、叙利亚和委内瑞拉承受不同广度的制裁敞口,但未被这些网络安全主管机构点名为国家级供应链行动的来源。两项检验均引用公开的机构名单,因此范围可以被独立地重新推导——并且只有当这些名单变化时,范围才会通过版本化的方法学更新而改变。它是版本化的供应链政策,而不是对民族或文化的排名。
所在地命中与制裁名单中的身份命中是两种不同信号。inspect.software 实现前者,并不声称提供法律意义上的制裁筛查。
扫描器评估什么
扫描器复用已经采集的公开资料数据,涵盖:
- 仓库所有者账户;
- 展示出的主要贡献者,依据贡献历史识别,而非依据 GitHub 上私有的 maintain 或 admin 权限;以及
- 这些贡献者资料中所展示的公开组织关联。
组织所在地在同一批发往 GitHub 的 GraphQL 查询中一并选取。随后,分类在本地离线运行,比对一份精简的 GeoNames 地名录。该检查不增加任何 GitHub 请求,也不调用任何外部身份增强服务。
乘数仅由最强的确认依据决定:
| 最强确认依据 | 政策乘数 | 解释 |
|---|---|---|
| 仓库所有者资料 | 20% | 所有者账户的直接暴露;审查优先级最高 |
| 主要贡献者资料 | 50% | 实质性贡献历史;不代表其拥有仓库权限 |
| 贡献者的公开组织资料 | 75% | 公开关联背景;有意设置为较弱信号 |
| 已评估所在地,无命中 | 100% | 不调整评分 |
| 无可评估公开所在地 | 排除 | 未知;不视为安全或不安全 |
贡献者侧的命中——显示的主要贡献者,或其个人资料上的公开组织——还须满足该贡献者具有足够的提交权重:至少 50 次提交,或至少占抽样人类提交的 10%。份额条件保护小型仓库:真正的共同维护者可能只有少量绝对提交数;绝对条件保护大型仓库:可观的工作量在百分比上可能仍然很小。低于两项阈值的命中会记录在报告中供审查,但不会触发红旗,也不会改变任何评分:几次被接受的提交属于信息披露,而非风险敞口。所有者命中从不过滤——无论提交多少,所有者都控制着仓库命名空间与发布面。
未命中不能提高原本较弱的安全分。缺失数据从不计为失败,多项命中也不会累积惩罚。
如何影响评级
调整后安全态势 = 基础安全态势 × 政策乘数
确认命中还会为安全态势设置 34(有风险)的上限。安全类别直接反映调整后值,不会重复应用乘数。正常类别加权后,同一政策还会应用于总体评级。因此,重要的政策暴露不会消失在流行度、文档和维护状况的平均值中。
报告保留基础值、乘数、计算值和上限,使审查者能够区分技术健康状况与改变最终评级的政策调整。
企业应如何使用该信号
政策警示是尽职调查的入口,不是指控,也不是要求一律移除软件包。适当措施可包括:
- 审查:核实上游证据及依赖在产品中的作用。
- 验证:要求签名发布、来源证明、固定制品或可复现构建。
- 限制:在审查期间限制其接触敏感数据、凭据、构建权限或生产环境。
- 监控:持续关注所有权、贡献集中度、发布来源及政策变化。
- 连续性计划:为关键依赖准备替代项、内部镜像或可行分支。
- 记录例外:说明继续使用的理由和补偿性控制。
最终决定取决于软件包关键性、执行环境、客户承诺以及组织自身的法律和风险框架。
证据质量与保护措施
高置信度证据包括明确国家名称或本地写法、国旗、无歧义行政区,或在目标国家具有唯一或绝对主导性的地名。相互冲突的信息只供复核,绝不改变评分——包括另一个国家、美国的州,或政策范围之外被点名的城市,因此写着「Seoul, North Korea」或「London, Munich, St. Petersburg」的资料会被视为含糊,而非声明。国际公认的乌克兰领土不会归入俄罗斯,除非资料明确自行声明俄罗斯。
若资料提到某个国家是为了否认身处该地——如「not north korea」、「Seoul, Korea (not DPRK)」——同样仅供复核。否认必须与命中相邻才算数:「No. 5 Lenin St, Moscow, Russia」声明的是俄罗斯,并未收回任何内容。
域名、语言、姓名、公司文本和推断身份均不能确定所在地。仅加入公开组织也不足以命中;该组织本身必须公开相符所在地。公开报告只显示按国家和角色汇总的数量,绝不显示贡献者身份或原始所在地。
面向公共利益的设计
inspect.software 公开证据边界、国家范围、乘数、评级上限和局限,商业关系不能改变公开结果。依赖使用方得到可执行的治理信号;维护者则能准确看到测量了什么、没有推断什么,以及如何质疑错误。目标是严谨的开源风险审查,而不是关联性猜疑。