- severity: Critical; files (all under
shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/condition/judge/): EqualsPredicateJudge.java:29, MatchPredicateJudge.java:31, RegexPredicateJudge.java:29, PathPatternPredicateJudge.java:34, ContainsPredicateJudge.java, StartsWithPredicateJudge.java, EndsWithPredicateJudge.java, BlankPredicateJudge.java, ExcludePredicateJudge.java, TimerAfterPredicateJudge.java, TimerBeforePredicateJudge.java
- description: These 11 SPI classes decide whether a selector/rule matches an incoming request — i.e. they govern routing of all traffic. None is referenced by any test file (verified by content grep).
RegexPredicateJudge is also the site of PERF-01 (per-request regex compile) and FUNC-C3 (TimerAfter/TimerBefore inconsistency) — yet the match logic itself is untested.
- impact: Mis-routing regressions land silently.
- suggested_fix: Add judge unit tests for match/no-match/edge cases for each.
Identified during the 2026-08-02 deep re-scan; full list in docs/scan2-2026-08-02/00-consolidated-critical-high.md.
shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/condition/judge/):EqualsPredicateJudge.java:29,MatchPredicateJudge.java:31,RegexPredicateJudge.java:29,PathPatternPredicateJudge.java:34,ContainsPredicateJudge.java,StartsWithPredicateJudge.java,EndsWithPredicateJudge.java,BlankPredicateJudge.java,ExcludePredicateJudge.java,TimerAfterPredicateJudge.java,TimerBeforePredicateJudge.javaRegexPredicateJudgeis also the site of PERF-01 (per-request regex compile) and FUNC-C3 (TimerAfter/TimerBefore inconsistency) — yet the match logic itself is untested.Identified during the 2026-08-02 deep re-scan; full list in
docs/scan2-2026-08-02/00-consolidated-critical-high.md.