|
1 | | -.PHONY: setup install format format-check lint type-check test test-coverage auth-test api-security-test terraform-fmt terraform-fmt-check terraform-init terraform-validate terraform-test infrastructure-test infrastructure-evidence verify-infrastructure-evidence infrastructure-report quality run docker-build docker-run threat-model-validate threat-model-evidence verify-threat-model-evidence threat-model-report api-security-evidence verify-api-security-evidence api-security-report dev-token-researcher dev-token-approver dev-token-auditor clean |
| 1 | +.PHONY: setup install format format-check lint type-check test test-coverage auth-test api-security-test terraform-fmt terraform-fmt-check terraform-init terraform-validate terraform-test infrastructure-test infrastructure-evidence verify-infrastructure-evidence infrastructure-report security-tools secrets-scan sast sast-semgrep sast-bandit semgrep-test sca dependency-audit sbom verify-sbom iac-scan checkov-scan container-build-security container-scan appsec-fast appsec-full appsec-evidence verify-appsec-evidence appsec-report pre-commit-install pre-commit-run quality run docker-build docker-run threat-model-validate threat-model-evidence verify-threat-model-evidence threat-model-report api-security-evidence verify-api-security-evidence api-security-report dev-token-researcher dev-token-approver dev-token-auditor clean |
2 | 2 |
|
3 | 3 | PYTHON ?= python3 |
4 | 4 | VENV ?= .venv |
@@ -68,7 +68,66 @@ verify-infrastructure-evidence: |
68 | 68 | infrastructure-report: |
69 | 69 | PYTHONPATH=src $(PYTHON) -m genomic_research_access_api.security.infrastructure.report |
70 | 70 |
|
71 | | -quality: format-check lint type-check test-coverage auth-test api-security-test threat-model-validate verify-threat-model-evidence verify-api-security-evidence terraform-fmt-check infrastructure-test verify-infrastructure-evidence |
| 71 | +security-tools: |
| 72 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py security-tools |
| 73 | + |
| 74 | +secrets-scan: |
| 75 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py gitleaks |
| 76 | + |
| 77 | +sast-semgrep: |
| 78 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py semgrep |
| 79 | + |
| 80 | +semgrep-test: |
| 81 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py semgrep-test |
| 82 | + |
| 83 | +sast-bandit: |
| 84 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py bandit |
| 85 | + |
| 86 | +sast: sast-semgrep sast-bandit |
| 87 | + |
| 88 | +dependency-audit: |
| 89 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py dependency-audit |
| 90 | + |
| 91 | +sca: dependency-audit |
| 92 | + |
| 93 | +sbom: |
| 94 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py sbom |
| 95 | + |
| 96 | +verify-sbom: |
| 97 | + PYTHONPATH=src $(PYTHON) -c "from genomic_research_access_api.security.appsec.parsers import validate_cyclonedx; from genomic_research_access_api.security.appsec.evidence import SBOM_PATH; validate_cyclonedx(SBOM_PATH)" |
| 98 | + |
| 99 | +checkov-scan: |
| 100 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py checkov |
| 101 | + |
| 102 | +iac-scan: checkov-scan |
| 103 | + |
| 104 | +container-build-security: |
| 105 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py container-build |
| 106 | + |
| 107 | +container-scan: |
| 108 | + PYTHONPATH=src $(PYTHON) scripts/appsec_tools.py trivy |
| 109 | + |
| 110 | +appsec-evidence: |
| 111 | + PYTHONPATH=src $(PYTHON) -m genomic_research_access_api.security.appsec.evidence --timestamp 2026-01-01T00:00:00Z |
| 112 | + |
| 113 | +verify-appsec-evidence: |
| 114 | + PYTHONPATH=src $(PYTHON) -m genomic_research_access_api.security.appsec.evidence --verify |
| 115 | + |
| 116 | +appsec-report: |
| 117 | + PYTHONPATH=src $(PYTHON) -m genomic_research_access_api.security.appsec.report |
| 118 | + |
| 119 | +appsec-fast: secrets-scan sast dependency-audit |
| 120 | + |
| 121 | +appsec-full: appsec-fast sbom verify-sbom checkov-scan container-build-security container-scan appsec-evidence verify-appsec-evidence appsec-report |
| 122 | + |
| 123 | +pre-commit-install: |
| 124 | + $(PYTHON) -m pip install pre-commit==3.8.0 |
| 125 | + $(VENV)/bin/pre-commit install |
| 126 | + |
| 127 | +pre-commit-run: |
| 128 | + $(VENV)/bin/pre-commit run --all-files |
| 129 | + |
| 130 | +quality: format-check lint type-check test-coverage auth-test api-security-test threat-model-validate verify-threat-model-evidence verify-api-security-evidence terraform-fmt-check infrastructure-test verify-infrastructure-evidence verify-appsec-evidence |
72 | 131 |
|
73 | 132 | run: |
74 | 133 | PYTHONPATH=src $(UVICORN) genomic_research_access_api.main:app --host 127.0.0.1 --port 8000 |
|
0 commit comments