Skip to content

Commit aef3f9d

Browse files
committed
Merge branch 'dev' of https://github.com/MaibornWolff/SecObserve into stackable
# Conflicts: # backend/application/core/migrations/0085_alter_observation_description.py # backend/application/import_observations/services/import_observations.py # frontend/src/commons/custom_fields/MarkdownEdit.tsx # frontend/src/commons/settings/SettingsEdit.tsx # frontend/src/core/observations/ObservationList.tsx
2 parents 243abf7 + cfe9288 commit aef3f9d

110 files changed

Lines changed: 1941 additions & 1558 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build_push_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ jobs:
109109
permissions:
110110
contents: write
111111
steps:
112-
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
112+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
113113
with:
114114
node-version: 24
115115
-

.github/workflows/check_backend.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
with:
9999
name: coverage-report
100100
- name: Run SonarQube scan for backend
101-
uses: SonarSource/sonarqube-scan-action@299e4b793aaa83bf2aba7c9c14bedbb485688ec4 # v7.1.0
101+
uses: SonarSource/sonarqube-scan-action@59db25f34e16620e48ab4bb9e4a5dce155cb5432 # v8
102102
env:
103103
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
104104
with:

.github/workflows/check_frontend.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1414
with:
1515
persist-credentials: false
16-
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
16+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1717
with:
1818
node-version: 24
1919

@@ -63,7 +63,7 @@ jobs:
6363
fetch-depth: 0
6464
-
6565
name: Run SonarQube scan for frontend
66-
uses: SonarSource/sonarqube-scan-action@299e4b793aaa83bf2aba7c9c14bedbb485688ec4 # v7.1.0
66+
uses: SonarSource/sonarqube-scan-action@59db25f34e16620e48ab4bb9e4a5dce155cb5432 # v8
6767
env:
6868
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_FRONTEND }}
6969
with:

.github/workflows/generate_sboms.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
permissions:
1717
contents: write
1818
steps:
19-
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
19+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2020
with:
2121
node-version: 24
2222
-

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,6 @@ jobs:
6464

6565
# Upload the results to GitHub's code scanning dashboard.
6666
- name: "Upload to code-scanning"
67-
uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
67+
uses: github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
6868
with:
6969
sarif_file: results.sarif

backend/application/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "1.51.1"
1+
__version__ = "1.52.0"
22

33
import pymysql
44

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 6.0.4 on 2026-04-27 05:30
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("commons", "0021_settings_observation_count_from_metrics"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="settings",
15+
name="feature_cross_scanner_deduplication",
16+
field=models.BooleanField(default=False),
17+
),
18+
]

backend/application/commons/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ class Settings(Model, DirtyFieldsMixin):
233233

234234
observation_count_from_metrics = BooleanField(default=False)
235235

236+
feature_cross_scanner_deduplication = BooleanField(default=False)
237+
236238
def save(self, *args: Any, **kwargs: Any) -> None:
237239
"""
238240
Save object to the database. Removes all other entries if there

backend/application/core/api/filters.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,7 @@ class ComponentFilter(FilterSet):
531531
fields=(
532532
("id", "id"),
533533
(("product__name", "branch__name", "component_name_version"), "product_name"),
534+
(("component_type", "product__name", "branch__name", "component_name_version"), "component_type"),
534535
(("product__product_group__name", "branch__name", "component_name_version"), "product_group_name"),
535536
(("branch__name", "product__name", "component_name_version"), "branch_name"),
536537
(("component_name_version", "product__name", "branch__name"), "component_name_version_type"),
@@ -548,6 +549,7 @@ class Meta: # pylint: disable=duplicate-code
548549
"product",
549550
"branch",
550551
"component_name_version",
552+
"component_type",
551553
"component_purl_type",
552554
"origin_service",
553555
"has_observations",
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Generated by Django 6.0.4 on 2026-04-17 17:46
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("core", "0083_observation_core_observ_origin__2b1af9_idx"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="observation",
15+
name="origin_component_type",
16+
field=models.CharField(
17+
blank=True,
18+
choices=[
19+
("Application", "Application"),
20+
("Framework", "Framework"),
21+
("Library", "Library"),
22+
("Container", "Container"),
23+
("Platform", "Platform"),
24+
("Operating system", "Operating system"),
25+
("Device", "Device"),
26+
("Device driver", "Device driver"),
27+
("Firmware", "Firmware"),
28+
("File", "File"),
29+
("Machine learning model", "Machine learning model"),
30+
("Data", "Data"),
31+
("Cryptographic asset", "Cryptographic asset"),
32+
],
33+
max_length=24,
34+
),
35+
),
36+
]

0 commit comments

Comments
 (0)