Repository navigation
feat: add job monitoring, auth security, payload encryption, and virus scanning - #597
Merged
ritaifeoluwa merged 4 commits intoOct 19, 2026
Conversation
Adds centralized health monitoring for background jobs via /health/jobs endpoint. - Registers price refresh, webhook retry, and airdrop expiry jobs - Provides job health status with stalled/error detection - Enables operators to monitor job health independently Resolves SmartDropLabs#575
Integrates account lockout mechanism into login flow to prevent brute force attacks. - Checks lockout status before password verification - Records failed attempts and locks account after threshold - Resets failed attempts counter on successful login - Prevents credential stuffing via exponential backoff Resolves SmartDropLabs#573
Encrypts webhook payloads using AES-256-GCM derived from webhook secret. - Prevents payload interception and man-in-the-middle attacks - Receiver can decrypt using same webhook secret - Adds X-Webhook-Encrypted header to indicate encrypted payload - Graceful fallback if encryption fails Resolves SmartDropLabs#572
Adds virus scanning service with pluggable backend support. - Scans uploaded files before acceptance - Supports ClamAV and log-only backends - Rejects infected files with detailed error response - Logs all scan operations for audit trail Resolves SmartDropLabs#574
|
@gotethry 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! 🚀 |
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.
What
Comprehensive security and observability improvements for SmartDrop backend: background job monitoring, brute force protection, webhook payload encryption, and file upload virus scanning.
Issues Resolved
Closes #575
Closes #573
Closes #572
Closes #574
Changes
#575 - [performance] No background job monitoring
Added centralized health monitoring for background jobs via /health/jobs endpoint. Jobs register their health status (price_refresh, webhook_retry, airdrop_expiry) enabling operators to detect stalled jobs and failures.
#573 - [security] No brute force protection
Integrated account lockout mechanism into login flow. Failed attempts are tracked and accounts are locked after threshold, preventing credential stuffing attacks while maintaining constant-time response.
#572 - [enhancement] Add webhook payload encryption
Implemented AES-256-GCM encryption for webhook payloads using keys derived from webhook secrets. Receivers can decrypt using the same secret, preventing payload interception.
#574 - [bug] File upload not virus-scanned
Added virus scanning service with pluggable backend support (ClamAV, log-only). Uploaded files are scanned before acceptance and infected files are rejected with audit logging.