You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In PR #1806, BohdanMar removed the data.trusted_task_rules input path and its dual-source merge logic from policy/lib/tekton/trusted.rego. The review agent (run #31599152163) correctly identified that THREAT_MODEL.md was not updated and now contains stale security architecture descriptions. The agent submitted CHANGES_REQUESTED with a high-severity stale-doc finding. Human reviewer jsmid1 approved the PR without addressing the documentation findings, and the PR was merged on 2026-08-13.
The following THREAT_MODEL.md sections are now stale:
Line 135: Security-critical key table implies trusted_task_rules has a data.* input path
Lines 145–163 (Section 3.3): Describes a dual-source merge architecture (data.trusted_task_rules concatenated with rule_data.trusted_task_rules) that no longer exists
Line 264 (Threat DP-2): References "ruleData entries concatenated with system data" — the merge no longer exists
Line 275 (Threat LE-4): References concatenation order between system-level and ruleData-level rules
The review agent detected the staleness, but the findings were not actioned before merge and no follow-up issue was created. The THREAT_MODEL.md now describes a trust boundary architecture that does not exist in code. A security reviewer relying on this document would incorrectly believe that trusted_task_rules can flow from two independent data sources with additive merge semantics, when in reality there is now a single validated path through lib_rule_data.
This is a high-confidence finding. The stale references were verified by searching THREAT_MODEL.md — all 9+ locations still reference the removed architecture as of the current HEAD.
Proposed change
Update THREAT_MODEL.md to reflect that trusted_task_rules now flows exclusively through lib_rule_data("trusted_task_rules") with JSON schema validation. Specifically:
Section 3.3 (lines 145–163): Rewrite to describe the single-source architecture. Remove references to data.trusted_task_rules and the array.concat merge logic.
Threat DP-2 (line 264): Update to reflect that injection is now only possible through rule_data, not through a dual-source merge. The threat surface is narrower.
Threat LE-4 (line 275): Update or remove the concatenation-order precedence concern, since there is no longer a system-level vs. ruleData-level merge.
Key table (line 135): Clarify that trusted_task_rules has only a rule_data path.
Validation criteria
After the fix, grep -c 'data\.trusted_task_rules' THREAT_MODEL.md should return 0 (or only appear in historical/changelog context). Section 3.3 should describe the current single-source architecture through lib_rule_data. Threats DP-2 and LE-4 should accurately describe the current threat surface without referencing the removed merge logic.
What happened
In PR #1806, BohdanMar removed the
data.trusted_task_rulesinput path and its dual-source merge logic frompolicy/lib/tekton/trusted.rego. The review agent (run #31599152163) correctly identified thatTHREAT_MODEL.mdwas not updated and now contains stale security architecture descriptions. The agent submitted CHANGES_REQUESTED with a high-severity stale-doc finding. Human reviewer jsmid1 approved the PR without addressing the documentation findings, and the PR was merged on 2026-08-13.The following THREAT_MODEL.md sections are now stale:
trusted_task_ruleshas adata.*input pathdata.trusted_task_rulesconcatenated withrule_data.trusted_task_rules) that no longer exists_trusted_task_rules_datalogicWhat could go better
The review agent detected the staleness, but the findings were not actioned before merge and no follow-up issue was created. The THREAT_MODEL.md now describes a trust boundary architecture that does not exist in code. A security reviewer relying on this document would incorrectly believe that
trusted_task_rulescan flow from two independent data sources with additive merge semantics, when in reality there is now a single validated path throughlib_rule_data.This is a high-confidence finding. The stale references were verified by searching THREAT_MODEL.md — all 9+ locations still reference the removed architecture as of the current HEAD.
Proposed change
Update THREAT_MODEL.md to reflect that
trusted_task_rulesnow flows exclusively throughlib_rule_data("trusted_task_rules")with JSON schema validation. Specifically:data.trusted_task_rulesand thearray.concatmerge logic.rule_data, not through a dual-source merge. The threat surface is narrower.trusted_task_ruleshas only arule_datapath.Validation criteria
After the fix,
grep -c 'data\.trusted_task_rules' THREAT_MODEL.mdshould return 0 (or only appear in historical/changelog context). Section 3.3 should describe the current single-source architecture throughlib_rule_data. Threats DP-2 and LE-4 should accurately describe the current threat surface without referencing the removed merge logic.Generated by retro agent from #1806