Stage 1 – User Login
A user logs into the financial application.
The application authenticates the user and provides access based on their role.
This project is about building an automated DevSecOps security pipeline for a cloud-based financial application. Whenever developers submit new code, the system automatically checks the code, dependencies, and Docker containers for security vulnerabilities using SonarQube and Trivy. The results are collected in DefectDojo, and GitLab CI/CD blocks the release if serious security issues are found.
To build an automated DevSecOps security pipeline that continuously checks financial application code, dependencies, and containers for security vulnerabilities before they reach production.
A user logs into the financial application.
The application authenticates the user and provides access based on their role.
The user submits financial information such as transaction details, account information, or payment records.
The application receives the financial data and stores the required information.
The application checks whether the submitted financial data is valid.
The application checks required fields, account details, transaction amount, and data format. Invalid data is rejected.
Valid financial data is processed according to the requested operation.
The application processes the transaction and updates the corresponding financial records.
The application provides the result of the financial operation.
The application updates the transaction status as successful, failed, or pending and displays the result to the user.
The user views financial transaction history and reports.
The application retrieves transaction information and generates reports such as transaction history, payment summaries, and account activity.
Automatically builds, tests, and runs security checks whenever developers push new code.
Checks source code for bugs, security weaknesses, poor coding practices, and exposed credentials.
Checks software dependencies, files, and Docker images for known security vulnerabilities.
Collects security results from SonarQube and Trivy and displays them in one place.
Packages the financial application and its dependencies into portable containers.
Provides virtual servers to run GitLab runners, SonarQube, DefectDojo, and other required components.
Provides the Linux operating system for the EC2 servers.
Creates a private and secure network for the application's security infrastructure.
Control which network connections are allowed to reach the servers.
Provides persistent storage for the servers, security databases, logs, and scan results.
The project creates a continuous security checking system for a financial application. GitLab manages the pipeline, SonarQube checks the source code, Trivy checks dependencies and containers, Docker packages the application, and DefectDojo manages the security findings. If everything is safe, the application can continue toward deployment. If a critical security issue is found, the pipeline automatically blocks the release.