progmune-runtime 3.7.56 → 3.7.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/dist/frameworks/nestjs-detector.js +428 -161
- package/dist/frameworks/nestjs-detector.test.js +220 -0
- package/dist/protocol-detector.js +11 -11
- package/dist/sdk.js +1 -1
- package/dist/trust/alert-ranker.js +3 -1
- package/dist/trust/confidence-calculator.js +3 -1
- package/dist/trust/engine.js +20 -2
- package/dist/trust/score-calculator.js +88 -8
- package/dist/trust/score-calculator.test.js +149 -0
- package/dist/trust/types.js +17 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.7.57] — 2026-10-04(未发布)
|
|
4
|
+
|
|
5
|
+
### §51 held-out 验证 + §52-53 决策门禁 + 修冤枉第一刀(Data Mutation 族移除)
|
|
6
|
+
|
|
7
|
+
**§51 held-out 主路径验证**(`REALWORLD_HELD_OUT_V2.md`,commit `71339ca3`):
|
|
8
|
+
immich(115k★ NestJS,此前从未参与诊断)暴露 3.7.55 四刀**未泛化**——153 条
|
|
9
|
+
NESTJS_NO_VALIDATION(immich 用 APP_PIPE 注入形态注册全局校验,刀 1 只学了两种形态);
|
|
10
|
+
**聚合吞掉维度彻底失败**:authentication 0 分 + 174 条违规仍 APPROVED(83)/HIGH——
|
|
11
|
+
假 BLOCKED 会被人立刻反对,「auth 0 分 + 通过」是静默放行。召回侧首次教科书级
|
|
12
|
+
位置命中:SSRF 打在 OAuthRepository.getProfilePicture = GHSA-hq46(§50 的
|
|
13
|
+
「主路径 0 命中」修正为「有 1 次」)。R95/R96/R97 入册。
|
|
14
|
+
|
|
15
|
+
**§52 NestJS 注册事件解析**:APP_PIPE/APP_GUARD 注册事件收集(@Module providers
|
|
16
|
+
含 spread 多跳回溯 + 数组常量 + 文本兜底)、数组路径别名展开、@Module(configVar)
|
|
17
|
+
回溯——immich 153 条 → 0,逐条归因到「全局管道 + 入参是已校验 DTO」。
|
|
18
|
+
|
|
19
|
+
**§53 决策门禁**(`DECISION_GATES_V1.md`,首次改动 src 判定逻辑):已观察的安全
|
|
20
|
+
协议(authentication/authorization/data_integrity)任一低于 50 分 ⇒ decision 封顶
|
|
21
|
+
NEEDS_REVIEW;coverage LOW 且可测 ⇒ 同上;观察度不足 ⇒ confidence 封顶 MEDIUM。
|
|
22
|
+
修两处「声明与实现分离」(R102):废票注释无人消费、confidence 分子恒真。
|
|
23
|
+
第一版门禁被自己数据否决后收窄(coverage 缺 protocols.json 恒不可测 ⇒ 仅可测时
|
|
24
|
+
生效)。实测 9 真实项目:门禁触发 3/9、6 个不触发(有反例,R101)。R101/R102 入册。
|
|
25
|
+
|
|
26
|
+
**修冤枉第一刀:移除 "Data Mutation Without Audit Trail" 规则**。数据依据:
|
|
27
|
+
fp-gold 131/131 全 FP(七仓九片);TS 盲测 gold 795 条 0 条此族;PyGoat 8 条全
|
|
28
|
+
unlabeled 且样本全 FP 形态;84 条 GHSA 无审计轨迹类。根因是**概念性失明**:
|
|
29
|
+
真实架构里审计在框架/中间件层(ORM 拦截器/触发器/日志系统),函数名判据永远
|
|
30
|
+
不可能满足。与授权族保留对照(R92):授权族真实世界有 TP(fr 语料 8/9 命中),
|
|
31
|
+
此族全口径 TP=0。若未来有函数级审计判据(decorator 通道),按「先语料后规则」重提。
|
|
32
|
+
|
|
33
|
+
**效果**:盲测 LOST 423 条**全部**是本族(非本族 LOST=0、ADDED=0,逐条归因);
|
|
34
|
+
fp-gold 131 条 FP 随之消失;docmost 产品告警流 1320 → 992(-328 条全为本族噪声,
|
|
35
|
+
头部族构成不变、判定 APPROVED(87) 不变);排序器 DEFAULT_RULE_PRIOR 同步删条目。
|
|
36
|
+
|
|
37
|
+
**门**:taintpath 160/0 / webshape 72/0 / fr-007 pre5·post0 + fr-016 pre7·post0 /
|
|
38
|
+
反向验证:典型样本本族 0 条转红 / batch-scan 119 项目逐条归因如上 / tsc 0 错
|
|
39
|
+
|
|
3
40
|
## [3.7.56] — 2026-10-02
|
|
4
41
|
|
|
5
42
|
### 排序告警流进产品(§49.15 方案 b 落地,未发布)
|