Skip to content

fix: resolve issues #980, #982, #983, #984 - security and resilience … - #1007

Open
sandrawillow001-afk wants to merge 1 commit into
StellarDevHub:mainfrom
sandrawillow001-afk:fix/issue-980-982-983-984-sandrawillow001
Open

fix: resolve issues #980, #982, #983, #984 - security and resilience …#1007
sandrawillow001-afk wants to merge 1 commit into
StellarDevHub:mainfrom
sandrawillow001-afk:fix/issue-980-982-983-984-sandrawillow001

Conversation

@sandrawillow001-afk

Copy link
Copy Markdown
Contributor

…improvements

Issue #984: SmartContract - Reentrancy Audit

  • Added reentrancy guards (LOCK mutex) to smart_vault, payment_streaming, and multisig_wallet_timelock contracts
  • Added fuzz tests for lending_pool reentrancy protection
  • Created comprehensive audit report at contracts/AUDIT_REENTRANCY.md

Issue #983: Security - GraphQL Query-Aware Rate Limiting

  • Created graphqlRateLimiter.ts with query complexity costing
  • Integrated with existing Redis rate limiter for cumulative cost budgets
  • Added persisted operation allowlisting for production queries
  • Disabled introspection in production with separate rate limits
  • Integrated into /graphql endpoint in both server.ts and index.ts

Issue #982: Resilience - Circuit Breaker Pattern

  • Enhanced CircuitBreaker with Redis-backed distributed state synchronization
  • Created externalServices.ts with pre-configured breakers for Stellar Horizon, Soroban RPC, GitHub API, and webhook deliveries
  • Integrated circuit breakers into GitHub OAuth service and webhook worker
  • Added degraded response fallbacks for circuit breaker open states

Issue #980: Security - Encrypt GitHub OAuth Tokens

…ub#983, StellarDevHub#984 - security and resilience improvements

## Issue StellarDevHub#984: SmartContract - Reentrancy Audit
- Added reentrancy guards (LOCK mutex) to smart_vault, payment_streaming, and multisig_wallet_timelock contracts
- Added fuzz tests for lending_pool reentrancy protection
- Created comprehensive audit report at contracts/AUDIT_REENTRANCY.md

## Issue StellarDevHub#983: Security - GraphQL Query-Aware Rate Limiting
- Created graphqlRateLimiter.ts with query complexity costing
- Integrated with existing Redis rate limiter for cumulative cost budgets
- Added persisted operation allowlisting for production queries
- Disabled introspection in production with separate rate limits
- Integrated into /graphql endpoint in both server.ts and index.ts

## Issue StellarDevHub#982: Resilience - Circuit Breaker Pattern
- Enhanced CircuitBreaker with Redis-backed distributed state synchronization
- Created externalServices.ts with pre-configured breakers for Stellar Horizon, Soroban RPC, GitHub API, and webhook deliveries
- Integrated circuit breakers into GitHub OAuth service and webhook worker
- Added degraded response fallbacks for circuit breaker open states

## Issue StellarDevHub#980: Security - Encrypt GitHub OAuth Tokens
- Created tokenEncryption.ts with AES-256-GCM encryption
- Supports key rotation via TOKEN_ENCRYPTION_KEYS env var
- Integrated encryption into github.service.ts (all 5 token storage locations)
- Created migration script to encrypt existing plaintext tokens
- Added isTokenEncrypted() utility for idempotent migrations

Co-authored-by: sandrawillow001-afk <sandrawillow001-afk@users.noreply.github.com>
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

@sandrawillow001-afk is attempting to deploy a commit to the Ayomide Adeniran's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 27, 2026

Copy link
Copy Markdown

@sandrawillow001-afk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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