From f5fb1fdbac95d844cf32c599958e97460c332f86 Mon Sep 17 00:00:00 2001
From: s013k <serg@hayduk.ru>
Date: Tue, 1 Apr 2025 12:06:39 +0000
Subject: [PATCH 1/2] 123123123123

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e2e41be..be73bf6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,7 +42,7 @@ generate-sbom:
   image: python:3.12-slim
   script:
     - pip install cyclonedx-bom
-    - pip install -r requirements.txt
+    - pip install -r app/requirements.txt
     - cyclonedx-py -r -o sbom.xml .
     - cyclonedx-py -r -o sbom.json --format json .
   artifacts:
-- 
GitLab


From c601dc3ec6c91051ddac99fd528b7ed30436dc4d Mon Sep 17 00:00:00 2001
From: s013k <serg@hayduk.ru>
Date: Tue, 1 Apr 2025 12:10:44 +0000
Subject: [PATCH 2/2] 5432

---
 .gitlab-ci.yml | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index be73bf6..649b6d7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,12 +36,13 @@ semgrep-sast:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
   allow_failure: true
 
-# Генерация SBOM файла с использованием CycloneDX
+# Генерация SBOM файла
 generate-sbom:
   stage: build
-  image: python:3.12-slim
+  image: python:2.7-slim
   script:
-    - pip install cyclonedx-bom
+    - pip install -U pip
+    - pip install cyclonedx-bom==0.4.3  # Последняя версия, поддерживающая Python 2.7
     - pip install -r app/requirements.txt
     - cyclonedx-py -r -o sbom.xml .
     - cyclonedx-py -r -o sbom.json --format json .
@@ -71,11 +72,12 @@ dependency-check:
 # Загрузка SBOM в Dependency Track для анализа
 dependency-track:
   stage: security
-  image: python:3.12-slim
+  image: python:2.7-slim
   variables:
     DEPENDENCY_TRACK_URL: "http://your-dependency-track-url"
     DEPENDENCY_TRACK_API_KEY: ${DEPENDENCY_TRACK_API_KEY}
   script:
+    - pip install -U pip
     - pip install requests
     - |
       cat > upload_sbom.py << 'EOF'
@@ -97,7 +99,7 @@ dependency-track:
           }
           
           payload = {
-              'project': 'my-python-flask-project',
+              'project': 'vulnerable-flask-app',
               'bom': sbom_data.decode('utf-8')
           }
           
@@ -108,7 +110,7 @@ dependency-track:
               with open('dependency-track-upload-response.json', 'w') as f:
                   json.dump(response.json(), f)
           else:
-              print(f"Ошибка при загрузке SBOM: {response.status_code}")
+              print("Ошибка при загрузке SBOM: %s" % response.status_code)
               print(response.text)
               sys.exit(1)
               
@@ -117,12 +119,12 @@ dependency-track:
       EOF
     - python upload_sbom.py
     - |
-      python -c "
+      cat > get_report.py << 'EOF'
       import requests
       import os
       import json
       
-      url = os.environ.get('DEPENDENCY_TRACK_URL') + '/api/v1/finding/project/my-python-flask-project'
+      url = os.environ.get('DEPENDENCY_TRACK_URL') + '/api/v1/finding/project/vulnerable-flask-app'
       api_key = os.environ.get('DEPENDENCY_TRACK_API_KEY')
       headers = {'X-API-Key': api_key}
       
@@ -130,7 +132,8 @@ dependency-track:
       
       with open('dependency-track-report.json', 'w') as f:
           json.dump(response.json(), f)
-      "
+      EOF
+    - python get_report.py
   artifacts:
     paths:
       - dependency-track-upload-response.json
@@ -139,3 +142,5 @@ dependency-track:
     when: always
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+  needs:
+    - generate-sbom
\ No newline at end of file
-- 
GitLab