Correlation¶
G rules take the set of recent analyses as their input. D walks one package's dependency graph; T reads one package's history; G asks what several packages share.
This is what makes a campaign visible: a "new CDN" is plausible once and damning when five unrelated packages add it in the same week. G finds the join, names the members, and fires one alert instead of N.
G runs at cycle end in the full-AUR sweep, never on a single review; the
input is collective and a single package cannot supply it.
This is a reference page. For how weight and scope work, see Rule System.
Reading a G finding¶
- The evidence names the members (package names), never the shared content's meaning; for a shared literal it names the class and length, not the literal.
- One firing covers the whole cluster, so the alert count is the campaign count.
Rules on this page¶
| Rule | Name | Severity |
|---|---|---|
| G001 | Shared Gained Host | HIGH |
| G002 | Shared Added Literal | HIGH |
| G003 | Coordinated Adoption | MEDIUM |
| G004 | Shared Upstream Dependency | HIGH |
G001: Shared Gained Host¶
- Target: programmatic (cycle records)
- Severity: HIGH (weight 25)
- Category:
correlation - Condition: The same gained canonical host appears in
[thresholds] g_host.min_packages(default 5) distinct packages within the cycle window.
atomic-arch's signature: a new CDN added by many unrelated packages at once.
G002: Shared Added Literal¶
- Target: programmatic (cycle records)
- Severity: HIGH (weight 25)
- Category:
correlation - Condition: An identical added literal above
[thresholds] g_blob.min_length(default 256) characters appears ing_blob.min_packages(default 2) unrelated packages in the window.
The literal's content is never printed - only its length and the members.
G003: Coordinated Adoption¶
- Target: programmatic (cycle records)
- Severity: MEDIUM (weight 15)
- Category:
correlation - Condition: One maintainer key adopts at least
[thresholds] g_adopt.min_members(default 3) packages in the window.
Adoption is the temporal engine's own predicate - H044 (ownership transition) or H086 (orphan-to-maintained) - recorded per package, not a bare maintainer-change. The finding's predicates names which T instance the group joined on; H074 (mass adoption) is the cross-package aggregation this rule performs.
G004: Shared Upstream Dependency¶
- Target: programmatic (cycle records)
- Severity: HIGH (weight 25)
- Category:
correlation - Condition: The same upstream dependency (and host), added to a committed manifest, appears in at least
[thresholds] g_dep.min_packages(default 2) packages in the window.
The committed-manifest counterpart to G001: a dependency name and remote host that many packages gain in the same window is the same-new-upstream-dependency campaign shape. It reads the recorded upstream_dep_additions view (the U-series dependency additions); the engine ships and is unit-tested, and the corpus feed that fills the view is the same pending work G002's literal feed is.