Skip to content

Commit cf8d174

Browse files
author
Antigravity
committed
feat: harden cross-repo analyzer and add risk hotspot docs
1 parent 45aa2d8 commit cf8d174

File tree

6 files changed

+284
-67
lines changed

6 files changed

+284
-67
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated scan results
2+
results/
23
results-*/
34
report.html
45

@@ -23,3 +24,6 @@ node_modules/
2324
__pycache__/
2425
*.pyc
2526
.venv/
27+
28+
# Local agent guidance
29+
AGENTS.md

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on Keep a Changelog, and the project follows Semantic Versioning.
6+
7+
## [2.1.5] - 2026-02-13
8+
9+
### Fixed
10+
- Fixed a syntax error in `scripts/cross-repo-analyzer.py` that prevented execution.
11+
12+
### Changed
13+
- Rebuilt cross-repo analysis logic with stronger error handling and deterministic output.
14+
- Added optional Snyk correlation (`sca.json`) to identify vulnerable shared dependencies.
15+
- Added ranked `top_shared_risk_hotspots` to prioritize high-impact remediation work.
16+
17+
### Documentation
18+
- Added cross-repo analyzer usage docs in `README.md`.
19+
- Updated `ROADMAP.md` and `fortressci-roadmap.md` to reflect current delivery status.
20+

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
FortressCI is a secure-by-default DevSecOps platform blueprint designed to implement "Shift Left" security, automated pipelines, and infrastructure protection. It integrates best-in-class open-source security tools to ensure your code and infrastructure are secure from day one.
44

55
> **[View our Roadmap](ROADMAP.md)** for upcoming features and long-term vision.
6+
> **[Read the Changelog](CHANGELOG.md)** for release-by-release updates.
67
> **[Try the Interactive Playground](playground/index.html)** to see FortressCI in action.
78
89
## Features
@@ -33,6 +34,7 @@ Automated checks on every push and pull request across **6 CI platforms**.
3334

3435
- **AI Triage**: Automated findings analysis and prioritisation via LLMs.
3536
- **Auto-Remediation**: Self-healing pipelines that open PRs to fix vulnerabilities.
37+
- **Cross-Repo Analyzer**: Shared dependency and vulnerability hotspot analysis across many repositories.
3638
- **Security Dashboard**: Real-time visualisations of security posture and trends.
3739
- **MCP Server**: Native integration for AI assistants to query security data.
3840

@@ -132,6 +134,21 @@ python3 scripts/ai-triage.py --results-dir results/ --config .fortressci.yml
132134

133135
---
134136

137+
## Cross-Repo Dependency Risk Analysis
138+
139+
Use SBOM and SCA outputs from multiple repositories to find shared dependency
140+
hotspots that are likely to create systemic risk.
141+
142+
```bash
143+
# Analyze all subdirectories under ./org-results that contain sbom-source.cdx.json
144+
# If sibling sca.json files exist, known vulnerable dependencies are correlated too.
145+
python3 scripts/cross-repo-analyzer.py --dir ./org-results --top 25
146+
```
147+
148+
Output: `./org-results/cross-repo-analysis.json`
149+
150+
---
151+
135152
## Repository Structure
136153

137154
```
@@ -154,6 +171,7 @@ python3 scripts/ai-triage.py --results-dir results/ --config .fortressci.yml
154171
│ ├── run-all.sh # Docker scan orchestrator
155172
│ ├── ai-triage.py # AI findings analysis
156173
│ ├── auto-fix.sh # Automated remediation
174+
│ ├── cross-repo-analyzer.py # Shared dependency risk analysis
157175
│ ├── generate-badge.py # Security scoring & badges
158176
│ ├── generate-sbom.sh # SBOM generator
159177
│ ├── fortressci-policy-check.sh # Policy enforcement

ROADMAP.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,16 @@
233233
- Managed scanning infrastructure
234234
- **Effort:** 3–6 months
235235

236-
### Cross-Repo Dependency Graph [IN PROGRESS 🏗️]
236+
### Cross-Repo Dependency Graph [COMPLETED ✅]
237237

238238
**Goal:** Visualise how vulnerabilities propagate across shared libraries.
239239

240240
**Achievements:**
241241
- Implemented `scripts/cross-repo-analyzer.py` to aggregate SBOM data across multiple projects.
242242
- Enabled identification of shared dependencies and their usage across the organisation.
243243
- Automated generation of cross-repo dependency reports in JSON format.
244+
- Added optional Snyk correlation from sibling `sca.json` files to highlight shared vulnerable dependencies.
245+
- Added prioritized `top_shared_risk_hotspots` output to support CISO-level remediation planning.
244246

245247
### Zero-Trust CI Pipeline
246248
- Every step runs in isolated, attested environment

fortressci-roadmap.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
- Branch protection recommendations and operational guidance
3434
- `scripts/generate_keys.sh` for Cosign key generation
3535

36+
### ✅ v2.1.x — Ecosystem Insights (Delivered)
37+
- Cross-repo dependency analysis via `scripts/cross-repo-analyzer.py`
38+
- Shared dependency hotspot prioritisation (`top_shared_risk_hotspots`)
39+
- Optional Snyk correlation from per-repo `sca.json` to identify vulnerable shared packages
40+
3641
---
3742

3843
## Upcoming Phases
@@ -124,7 +129,7 @@
124129

125130
- **FortressCI Cloud**: Hosted SaaS with org management, centralised dashboards, SSO, and managed scan infrastructure — no self-hosting required
126131
- **Runtime protection agent**: Lightweight sidecar that enforces security policies at runtime (network egress, file access, process execution) based on CI-time analysis — extends "shift left" to "shift everywhere"
127-
- **Cross-repo dependency graph**: Visualise how vulnerabilities in shared libraries propagate across all repos in an organisation*"Upgrading `lodash` in `shared-utils` fixes findings in 14 downstream repos"*
132+
- **Cross-repo dependency graph UI and service layer**: Extend current JSON analyzer into an interactive org-wide graph experience*"Upgrading `lodash` in `shared-utils` fixes findings in 14 downstream repos"*
128133
- **Security debt tracking**: Treat security findings like tech debt — estimate remediation cost, track velocity, forecast when the backlog will be clear at current fix rate
129134
- **Regulatory auto-mapping**: Automatically map findings and controls to evolving regulatory frameworks as they change (new NIST revisions, EU CRA updates, PCI DSS v4)
130135
- **Zero-trust CI pipeline**: Every step in the pipeline runs in an isolated, attested environment with minimal permissions — no shared runners, no persistent state, cryptographic verification at every handoff

0 commit comments

Comments
 (0)