Add: Comprehensive security scanning pipeline
- tests/test_security.py: Security test suite
- Updated Jenkinsfile: SonarQube, Snyk, Bandit, Safety, Semgrep
- test_requirements.txt: Security tool dependencies
**Security Tools Added:**
CODE QUALITY:
- Pylint, Flake8, Black, Isort, MyPy
- Vulture (dead code), Radon (complexity)
STATIC SECURITY:
- Bandit (Python SAST)
- Safety (dependency vulnerabilities)
- Semgrep (pattern matching)
- Detect Secrets (hardcoded secrets)
ADVANCED:
- SonarQube quality gate
- Snyk vulnerability scan
- pip-audit, pip-check
- pip-licenses (compliance)
**Pipeline Stages:**
1. Code Quality: Linting (Pylint, Flake8, Black, Isort)
2. Security: Static Analysis (Bandit, Safety, Semgrep, Detect Secrets)
3. Security: SonarQube Quality Gate
4. Security: Snyk Vulnerability Scan
5. Unit Tests
6. Security Tests (test_security.py)
7. Integration Tests
8. Build
9. Deploy to Staging