Skip to content

cross-repo-synthesizer — rationale and provenance

Why this agent exists

Static-analysis findings are per-file. Business-logic-domain-review is per-repo. But the most consequential security risks often span service boundaries: a shared credential discovered in three services, a NATS subject with no auth that reaches a privileged handler, a model-scoring service that trusts a client that trusts another client.

This agent reads aggregated data from multiple repos and names those cross-repo attack chains explicitly.

Chain meaningfulness threshold

A chain is meaningful when ≥ 2 repos are involved AND the chain advances the attacker's position (gains data, gains execution, gains privilege). Anything shorter is a single-repo finding; anything that doesn't advance position is a curiosity, not an attack chain.

Citation discipline

Every chain cites findings by rule_id + file:line. Chains without live finding evidence are not emitted. The cross-repo-summary report is only as trustworthy as its smallest citation; speculative chains undermine the whole report.

Why no individual ownership claims

Recommendations name roles ("platform team", "service X maintainers") not people. Cross-repo work crosses team boundaries; naming individuals creates accountability friction that the executive report should not be the source of.