Skip to content

feat: add comprehensive security scanning to CI/CD pipeline#3128

Merged
MuhammadKhalilzadeh merged 5 commits intodevelopfrom
feat/cicd-security-scanning
Jan 28, 2026
Merged

feat: add comprehensive security scanning to CI/CD pipeline#3128
MuhammadKhalilzadeh merged 5 commits intodevelopfrom
feat/cicd-security-scanning

Conversation

@gorkem-bwl
Copy link
Copy Markdown
Contributor

Summary

  • Add CodeQL static analysis for JavaScript/TypeScript and Python
  • Add Dependabot for automated dependency updates
  • Add npm audit security scanning to backend and frontend checks
  • Add Trivy container vulnerability scanning for all Docker images
  • Add dependency review action to block PRs with vulnerable dependencies

New Workflows & Configurations

File Purpose
codeql-analysis.yml Static Application Security Testing (SAST)
dependabot.yml Automated dependency updates and security alerts

Updated Workflows

File Changes
backend-checks.yml Added npm audit, dependency review
frontend-checks.yml Added npm audit, ESLint, dependency review
docker-image.yml Added Trivy scanning for all 3 container images

Security Coverage

Category Tool Trigger
SAST CodeQL Push, PR, Weekly
SCA Dependabot Weekly (Monday)
npm Audit npm audit Push, PR
Container Scanning Trivy Release
Dependency Review GitHub Action PR only

Benefits

  • Automated detection of security vulnerabilities in code
  • Automated dependency updates with security patches
  • Container image scanning before deployment
  • PR blocking for high-severity vulnerabilities

## Changes
- Add CodeQL static analysis for JavaScript/TypeScript and Python
- Add Dependabot for automated dependency updates (npm, pip, Docker, GitHub Actions)
- Add npm audit security scanning to backend and frontend checks
- Add ESLint linting to frontend checks
- Add Trivy container vulnerability scanning for all Docker images
- Add dependency review action to block PRs with vulnerable dependencies

## Security Coverage
- SAST: CodeQL scans for security vulnerabilities in code
- SCA: Dependabot monitors and updates vulnerable dependencies
- Container Security: Trivy scans Docker images for CRITICAL/HIGH vulnerabilities
- Dependency Review: Blocks PRs introducing known vulnerabilities

## Workflow Changes
- backend-checks.yml: Added security audit job with npm audit
- frontend-checks.yml: Added security audit job with npm audit and ESLint
- docker-image.yml: Added Trivy scanning for frontend, backend, and eval-server images
- New codeql-analysis.yml: Weekly and on-push security scanning
- New dependabot.yml: Weekly dependency updates with grouping
@openhands-ai
Copy link
Copy Markdown

openhands-ai bot commented Jan 26, 2026

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • CodeQL Security Analysis

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #3128 at branch `feat/cicd-security-scanning`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@gorkem-bwl gorkem-bwl requested a review from HarshP4585 January 26, 2026 15:50
## Changes
- Remove codeql-analysis.yml since GitHub default CodeQL setup is already enabled
- Default setup provides equivalent SAST scanning without workflow conflicts

## Reason
Custom CodeQL configurations cannot be processed when GitHub's default setup is enabled.
The repository already has default CodeQL scanning active.
## Changes
- Add Security Hardening Guide with production security checklist
- Add Production Deployment Guide with Docker Compose instructions
- Add Configuration Reference for all environment variables
- Add deployment documentation README

## Purpose
Provides comprehensive deployment documentation to support vendor
security questionnaire requirements and production deployments.
## Changes
- Add comprehensive DR/BC guide covering:
  - Recovery objectives (RTO/RPO) planning
  - Full and incremental database backup procedures
  - Point-in-time recovery (PITR) configuration
  - PostgreSQL streaming replication setup
  - Redis persistence configuration
  - High-availability deployment patterns
  - Recovery runbooks for common scenarios
  - Backup storage and encryption recommendations
  - DR testing procedures and checklists
  - Integration guidance for enterprise DR infrastructure

## Purpose
Provides documentation to support on-premises deployments where
customers manage their own DR/BC infrastructure. Covers database
replication, backup/restore procedures, and high-availability options.
## Changes

### Security Hardening Guide
- Fix rate limiting table: register, refresh-token, reset-password use
  authLimiter (5 req/15 min), not 10 req/1 min
- Add missing rate limiters: chng-pass, file operations, general API
- Fix audit logging: update entity list to match actual implementation
  (model_inventory, vendor, vendor_risk, use_case, risk, policy,
  incident, framework, evidence_hub) - removed incorrect "Controls"
- Fix CORS section: clarify actual behavior (HOST-based, not FRONTEND_URL)

### Production Deployment Guide
- Remove non-existent /api/health endpoint references
- Fix migration command: npm run migrate-db (not npm run migrate)
- Add note about automatic migrations on startup
- Update health monitoring section to reflect actual capabilities

### Disaster Recovery Guide
- Fix Kubernetes probe example: use tcpSocket instead of non-existent
  /api/health endpoint
Copy link
Copy Markdown
Collaborator

@MuhammadKhalilzadeh MuhammadKhalilzadeh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MuhammadKhalilzadeh MuhammadKhalilzadeh merged commit c931e58 into develop Jan 28, 2026
4 checks passed
@MuhammadKhalilzadeh MuhammadKhalilzadeh deleted the feat/cicd-security-scanning branch January 28, 2026 09:58
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