A modular Flask-based backend that scans code for security issues and configuration errors using Trivy, Gitleaks, and yamllint. Built with containerization, CI/CD pipelines, and automated deployment in mind.
π Features π Container image vulnerability scanning via Trivy
π Secrets detection via Gitleaks
π YAML linting for config hygiene
π³ Dockerized with clean build context
π CI/CD ready using GitHub Actions
Tool Purpose Flask Backend API server Trivy Container vulnerability scanner Gitleaks Secrets detection in code yamllint Linting YAML configuration files Docker Containerization GitHub Actions CI/CD Pipeline π οΈ Installation & Usage
- Clone the repo: bash git clone https://github.com//devsecops-analyzer.git cd devsecops-analyzer
- Build Docker image: bash docker build . -t devsecops-analyzer
- Run the container: bash docker run -p 5000:5000 devsecops-analyzer Access Flask API at http://localhost:5000
Gitleaks: bash curl -sSL https://github.com/gitleaks/gitleaks/releases/latest/download/gitleaks-linux-amd64 -o gitleaks chmod +x gitleaks ./gitleaks detect --source . --no-banner Trivy: bash curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh ./trivy image devsecops-analyzer βοΈ GitHub Actions Workflow Located in .github/workflows/final.yml
CI flow includes: β Build Docker image from correct subfolder
β Timestamped image tagging
β Ready for integration with security scans
Example CI snippet:
yaml
- name: Build Docker image run: | cd devsecops-analyzer docker build . -t devsecops-analyzer:$(date +%s) π§ͺ API Folder Structure devsecops-analyzer/ βββ Dockerfile βββ app/ β βββ main.py βββ requirements.txt βββ uploads/ βββ run.sh