Skip to content

ci: Add action 'Capslock Capability Diff' - #1483

Open
dianab-cl wants to merge 14 commits into
mainfrom
diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff
Open

dianab-cl wants to merge 14 commits into
mainfrom
diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff

Conversation

@dianab-cl

@dianab-cl dianab-cl commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Add actions

  • Capslock Capability Diff
  • Dependency Review

@dianab-cl
dianab-cl requested a review from a team as a code owner September 22, 2026 08:42
@linear-code

linear-code Bot commented Sep 22, 2026

Copy link
Copy Markdown

FOU-386

@greptile-apps

greptile-apps Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge, with no outstanding actionable findings.

Summary

This PR adds Capslock capability-diff and dependency-vulnerability CI, introduces supporting classification and reporting scripts, and updates Go toolchains and vulnerable dependencies.

  • Compares Capslock output against an exact base revision and blocks only high-signal capability additions.
  • Runs GitHub dependency review and govulncheck across all repository Go modules.
  • Adds an explained advisory allowlist and maps accepted Go advisories to GitHub advisory identifiers.
  • Updates Go to 1.26.6 and refreshes affected dependency graphs.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  PR[Pull request] --> C[Detect Go changes]
  C --> B[Resolve exact base revision]
  B --> D[Generate or restore Capslock baseline]
  D --> X[Compare capabilities]
  X --> H{High-signal additions?}
  H -->|Yes| F[Fail check and publish report]
  H -->|No| P[Publish non-blocking report]
  PR --> A[Resolve accepted advisories]
  A --> G[GitHub dependency review]
  PR --> V[Run govulncheck for each Go module]
  V --> R[Build grouped vulnerability report]
  R --> U{Unexpected reachable advisories?}
  U -->|Yes| F2[Fail check and update PR comment]
  U -->|No| S[Pass check]
Loading

Reviews (5) · Last reviewed commit: "After code review"

Comment thread .github/workflows/capslock-diff.yml Outdated
@github-actions

github-actions Bot commented Sep 22, 2026

Copy link
Copy Markdown

Capslock capability diff: cli

  • Base: main (0a310b53322f1c5e872f4357ec8ab26ed97e69e9)
  • Baseline: generated from base revision
  • New high-signal capabilities (EXEC / NETWORK / FILES / SYSTEM_CALLS / ARBITRARY_EXECUTION / MODIFY_SYSTEM_STATE): 0
  • Likely package moves: 0, lower signal: 2, no longer present: 0

Lower signal: 2 capability use(s)

These describe the Capslock analysis more than they describe privilege.

  • google.golang.org/grpc/internal/mem gained READ_SYSTEM_STATE
  • github.com/moby/sys/user gained UNANALYZED

@dianab-cl dianab-cl changed the title Add action 'Capslock Capability Diff' ci: Add action 'Capslock Capability Diff' Sep 22, 2026
dianab-cl and others added 7 commits September 22, 2026 13:33
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
* feat(relayer): reconnect a dropped send packet subscription with backoff

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* feat(relayer): read outstanding packet state directly from source chain for packet discovery

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* feat(relayer): add clearing pass to clear outstanding packets the subscription missed

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* feat(relayer): pin clearing pass reads to a single block height

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* feat(relayer): bound each clearing pass with a persisted watermark

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* feat(relayer): allow abandoning unrecoverable packets that will never be relayed

Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* fix codegen

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* flatten config

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* watcher: simplify & unify config

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* converge subscriber and packet querier into Chain

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* streamline code

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* add TODOs

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* e2e: add DOCKER_HOST note

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* update metered eth client

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* add TestAutoRelay_AllPacketsAreClearedOnStart (with both routes)

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* add TestAutoRelay_PacketIsClearedOnRestart

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* add TestAutoRelay_SubscriptionReconnect + ws proxy

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* update test-matrix

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* fixes

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* fix

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* simplify clearer

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* e2e: wss reconnect: send packet while wss is disrupted

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

* simplify watcher

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>

---------

Signed-off-by: Dmitry S <11892559+swift1337@users.noreply.github.com>
Co-authored-by: Matt Acciai <matt@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@dianab-cl
dianab-cl force-pushed the diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff branch from 6a3f23a to 4566045 Compare September 22, 2026 11:34
@dianab-cl

Copy link
Copy Markdown
Contributor Author

@greptile review

Comment thread cli/internal/relay/watcher/clearer.go
Comment thread .github/workflows/capslock-diff.yml Outdated
Comment thread scripts/vulncheck-report.sh Outdated
@dianab-cl

Copy link
Copy Markdown
Contributor Author

@greptile review

1 similar comment
@dianab-cl

Copy link
Copy Markdown
Contributor Author

@greptile review

Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@dianab-cl
dianab-cl force-pushed the diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff branch from 64bde40 to 1ad757d Compare September 22, 2026 12:10
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@dianab-cl
dianab-cl force-pushed the diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff branch from d73d5f2 to fa44b29 Compare September 22, 2026 12:29
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@dianab-cl
dianab-cl force-pushed the diana/fou-386-protect-go-dependencies-from-supply-chain-attacks-diff branch from 0ee3461 to c1bf5ea Compare September 22, 2026 12:52
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@cosmos cosmos deleted a comment from github-actions Bot Sep 22, 2026
@cosmos cosmos deleted a comment from github-actions Bot Sep 22, 2026
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
Signed-off-by: Diana Borbe <diana@cosmoslabs.io>
@dianab-cl

Copy link
Copy Markdown
Contributor Author

@greptile review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants