Feat/internal mtls - #602
Merged
thlpkee20-wq merged 4 commits intoJul 30, 2026
Merged
Conversation
Add comprehensive fuzz-driven integration test that systematically probes all tenant-scoped CRUD endpoints (subscriptions, statements, etc.) for cross-tenant data access vulnerabilities. Test Coverage: - 12 distinct tenant-scoped endpoints across /api/v1 and legacy /api routes - 3 fuzz strategies: known cross-tenant ID, malformed ID, non-existent ID - Bidirectional symmetric probing (tenant A ↔ tenant B) - ~72 total cross-tenant access probes Findings: No cross-tenant isolation anomalies detected in current code. All unauthorized cross-tenant access attempts correctly return 404/403. Endpoints Tested: - Statements: GET /api/v1/statements/:id, GET /api/v1/statements - Subscriptions: GET /api/v1/subscriptions/:id, GET /api/v1/subscriptions - Legacy: GET /api/statements/:id, GET /api/subscriptions/:id - Exports: POST /api/v1/tenants/me/export, GET /api/v1/operations/:id - Plans: GET /api/v1/plans Isolation Mechanisms Verified: - StatementService: RBAC checks (admin, merchant tenant-scoped, subscriber) - SubscriptionService: FindByIDAndTenant scoping + ownership checks - Handler layer: Soft 404 mapping (404 for both not-found and forbidden) Test runs with: go test -tags=integration -run TestTenantIsolationFuzz ./tests/integration/... Fixes Stellabill#456
- Implement SVIDRotator for transparent certificate rotation - Add gRPC server credentials requiring client mTLS - Add gRPC client credentials with SPIFFE ID verification - Integrate SPIFFE IDs into configuration - Add comprehensive test coverage (11 unit tests + 2 benchmarks) - Add deployment and troubleshooting documentation - Removes shared-secret coupling between API and worker pods Fixes Stellabill#433
onyemaechiezekiel9
had a problem deploying
to
preview-602
July 30, 2026 08:33 — with
GitHub Actions
Failure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #433
Overview
This PR introduces two critical security enhancements to Stellabill:
Changes
1. mTLS Between API and Worker Pods (Fixes #433)
Implements mutual TLS using SPIRE for secure, authenticated service-to-service communication.
Key Changes:
SVIDRotatorfor transparent certificate rotationTesting:
2. Cross-Tenant Isolation Fuzz Test Suite (Fixes #456)
Systematic fuzz-driven integration test probing all tenant-scoped CRUD endpoints for cross-tenant access vulnerabilities.
Test Coverage:
/api/v1and legacy/apiroutesFindings:
✅ No cross-tenant isolation anomalies detected
✅ All unauthorized access attempts correctly return 404/403
✅ Isolation mechanisms verified across Statement, Subscription, and Plan services
Endpoints Tested:
Run Tests: