代码仓库分析

pkg-gate

pkg-gate 是在安装前评估 npm 生命周期脚本的门禁工具,它使用 TypeSafe System One 以 Choice 判断意图、以 Score 评估威胁严重程度、以 Noul 判断机密访问和远程执行,并输出 allow、warn 或 block 的判定结果。

E2 · 资料已核对已检查公开资料或源码证据;仅有固定提交链接并经对应源码核对,才可称固定版本核验。不代表本站运行过、认可性能或保证安全。
Stars
0
Forks
0
协议
MIT
最近提交
2026-09-21

Jev 在这里做什么

对每个 preinstall/install/postinstall 脚本并行判定意图分类、威胁评分与窃密/远程执行概率,以决定放行、告警或拦截。

把语义判断接到已有的命令行工作流。

已核对固定生命周期策略与模拟器。无密钥或提供商失败可产生模拟答案;最终报告保留离线模拟 model 标识,却丢弃中间 fallbackReason。本站未安装包、测威胁检测或在线调用。

这个项目适合解决什么任务?

安装前检查 npm 生命周期脚本,并区分本地模拟与托管安全判断。

资料分析日期:

从输入到动作

  1. 解析 preinstall/install/postinstall 内容。
  2. 询问意图、严重度、秘密访问和远程执行,或进入模拟路径。
  3. 汇总 allow/warn/block 并保留逐脚本 model 标识;最终报告未保留 fallbackReason。

实现中值得检查的地方

回退来源只保留了一部分

gate.js 在中间结果添加 fallbackReason,但构建 findings/structured 时丢弃。模拟器的 model 标识能区分离线模拟,最终报告却无法恢复原失败原因。

查看对应来源 ↗

最弱的一题也能要求人工复核

策略汇总最高严重度/秘密/远程信号及最低 intent/severity confidence;最低值不足时进入 warn,不只看最大标签。

查看对应来源 ↗

无生命周期脚本只是一项清单检查

快路径会放行没有生命周期钩子的 manifest,但没有检查所有依赖,不能证明整棵依赖树安装时不会执行代码。

查看对应来源 ↗

缺失把握度不会自动变成不确定

聚合代码把缺失 intent/severity confidence 默认成 1,把缺失 severity/secret/remote 默认成 0;低把握度警告只会拦实际低值。集成方应确认所用 SDK 或注入客户端已完整验形,再依赖此策略。

查看对应来源 ↗

选择建议

适合研究供应链标准并结合确定性包检查;集成方应自行保留来源及失败原因,模拟报告不应授权安装。

如何自行检查

跟踪 evaluations→findings→structured.scripts,检查 model='jev-latest (offline simulator)' 并确认最终缺少 fallbackReason;用假后端失败,不运行未知脚本。 本地注入缺字段响应,要求聚合前严格验形报错,不把默认值当模型判断。

结论的适用边界

  • 本站未安装或执行软件包。
  • 未测供应链检测率、误报率或在线 Jev 延迟。
本次分析的原始资料