You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tutorials/basic-security-policies.en.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,20 +11,20 @@ After the first analysis in CodeScoring.SCA, you usually get a lot of informatio
11
11
For VCS projects at the `source` stage, a practical starting point is to create three separate policies:
12
12
13
13
- one for vulnerabilities that already have a public exploit and a fix;
14
-
- one for direct dependencies with critical vulnerabilities;
14
+
- one for dependencies with critical vulnerabilities;
15
15
- one for components that were published less than a month ago.
16
16
17
17
These rules help set priorities faster without overwhelming the team with noisy alerts or introducing hard blocks too early.
18
18
19
19
!!! tip "Why this starter set works"
20
-
[OpenSSF](https://best.openssf.org/Concise-Guide-for-Evaluating-Open-Source-Software.html) recommends prioritizing dependency risk instead of treating all findings as equal, and [OWASP](https://owasp.org/www-community/Component_Analysis)notes that direct dependencies are usually the most practical place to start remediation. CodeScoring research also shows that a useful starter set separates three different queues: vulnerabilities that are already exploited and already fixable, direct dependencies with critical vulnerabilities, and very young components that still need additional verification before wider use.
20
+
[OpenSSF](https://best.openssf.org/Concise-Guide-for-Evaluating-Open-Source-Software.html) recommends prioritizing dependency risk instead of treating all findings as equal, and [OWASP](https://owasp.org/www-community/Component_Analysis)highlights the value of handling the most dangerous and actionable cases separately. CodeScoring research also shows that a useful starter set separates three different queues: vulnerabilities that are already exploited and already fixable, dependencies with critical vulnerabilities, and very young components that still need additional verification before wider use.
21
21
22
22
## What you will get
23
23
24
24
By the end of this scenario, CodeScoring will contain three active policies for VCS projects at the `source` stage:
25
25
26
26
- a policy for vulnerabilities with a public exploit and a fixed version at the `source` stage;
27
-
- a policy for direct dependencies with critical vulnerabilities at the `source` stage;
27
+
- a policy for dependencies with critical vulnerabilities at the `source` stage;
28
28
- a policy for very young components at the `source` stage.
29
29
30
30
After a repeated SCA run, you will be able to see which of these rules already produce useful alerts.
@@ -52,7 +52,7 @@ This rule helps surface not just any vulnerabilities, but the ones that are alre
52
52
-**Is Active** — enable it;
53
53
-**Blocker** — keep it disabled.
54
54
4. If you want to roll the set out gradually, specify a pilot project in **Projects**. If the rule should apply to all active projects, leave **Proprietors**, **Groups**, and **Projects** empty.
55
-
5. In the conditions block, create one group with the **AND** expression and add:
55
+
5. In the default top-level conditions group with the **AND** expression, add:
56
56
-**Vulnerability has exploit**;
57
57
-**Vulnerability has fixed version**.
58
58
6. Click **Create**.
@@ -62,26 +62,25 @@ This rule helps surface not just any vulnerabilities, but the ones that are alre
62
62
63
63
After that, the platform will have a rule that creates alerts for the most actionable vulnerability cases in VCS projects.
64
64
65
-
### Step 2. Create a policy for direct dependencies with critical vulnerabilities
65
+
### Step 2. Create a policy for dependencies with critical vulnerabilities
66
66
67
-
Starting with direct dependencies is practical because the list is usually smaller and easier to manage than the full dependency graph. These findings are often easier to assign and fix quickly.
67
+
Creating a separate rule for critical vulnerabilities helps move the most severe cases into their own review queue. For a starter set, this makes it easier to track them separately and avoid mixing them with lower-risk findings.
68
68
69
69
1. Open the policy created in the previous step.
70
70
2. Click **Create a copy**.
71
71
3. Change the main fields:
72
-
-**Name** — for example, `Direct dependency with a critical vulnerability`;
72
+
-**Name** — for example, `Critical vulnerability in a dependency`;
73
73
-**Stages** — keep `source`;
74
74
-**Is Active** — keep it enabled;
75
75
-**Blocker** — keep it disabled.
76
-
4. Remove the previous conditions and create a top-level group with the **AND** expression:
77
-
-**Relation** = `direct`.
78
-
5. Inside that group, create a nested group with the **OR** expression and add:
76
+
4. Remove the previous conditions.
77
+
5. In the default top-level conditions group, select the **OR** expression and add:
79
78
-**CVSS2 Severity** = `critical`;
80
79
-**CVSS3 Severity** = `critical`;
81
80
-**CVSS4 Severity** = `critical`.
82
81
6. Click **Create**.
83
82
84
-
At this point, the starter set also includes a separate rule for direct dependencies that have at least one critical severity signal in one of the CVSS versions.
83
+
At this point, the starter set also includes a separate rule for dependencies that have at least one critical severity signal in one of the CVSS versions.
85
84
86
85
### Step 3. Create an informational policy for very young components
87
86
@@ -97,9 +96,9 @@ This rule helps isolate dependencies that were published very recently. For a st
97
96
-**Is Active** — enable it;
98
97
-**Blocker** — keep it disabled.
99
98
3. If you want a gradual rollout, specify a pilot project in **Projects** if needed.
100
-
4. In the conditions block, create a top-level group with the **OR** expression:
101
-
-in the first **AND** group, add **Dependency age (days)** < `30`;
102
-
-in the second **AND** group, optionally add a condition for dependencies where age information is missing.
99
+
4. In the default top-level conditions group, select the **OR** expression and add:
100
+
-**Dependency age (days)** < `30`;
101
+
- optionally, a condition for dependencies where age information is missing.
103
102
5. Click **Create**.
104
103
105
104
If you want to refine the threshold later or extend the rule, the full list of supported criteria is described in [policy setup](/on-premise/how-to/policies.en).
Copy file name to clipboardExpand all lines: docs/tutorials/basic-security-policies.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,20 +11,20 @@ title: "Настроить базовый набор политик безопа
11
11
Для VCS-проектов на этапе `source` для старта удобно собрать три отдельные политики:
12
12
13
13
- для уязвимостей с публичным эксплойтом и исправлением;
14
-
- для прямых зависимостей с критичными уязвимостями;
14
+
- для зависимостей с критичными уязвимостями;
15
15
- для слишком молодых компонентов, опубликованных менее месяца назад.
16
16
17
17
Эти правила помогают быстрее расставить приоритеты, не перегружая команду шумными срабатываниями и не включая блокировки на первом этапе.
18
18
19
19
!!! tip "Почему именно такой стартовый набор"
20
-
[OpenSSF](https://best.openssf.org/Concise-Guide-for-Evaluating-Open-Source-Software.html) рекомендует выстраивать работу с зависимостями вокруг понятной приоритизации риска, а [OWASP](https://owasp.org/www-community/Component_Analysis) отдельно подчёркивает, что прямые зависимости обычно проще всего разбирать и обновлять в первую очередь. Исследования CodeScoring показывают, что на старте полезно не смешивать все сигналы в одно правило, а сразу разделять их по разным очередям: отдельно следить за уязвимостями, которые уже эксплуатируются и уже исправимы; отдельно — за прямыми зависимостями с критичными уязвимостями; отдельно — за слишком молодыми компонентами, которые требуют дополнительной проверки перед широким использованием.
20
+
[OpenSSF](https://best.openssf.org/Concise-Guide-for-Evaluating-Open-Source-Software.html) рекомендует выстраивать работу с зависимостями вокруг понятной приоритизации риска, а [OWASP](https://owasp.org/www-community/Component_Analysis) подчёркивает важность раздельной обработки самых опасных и самых управляемых случаев. Исследования CodeScoring показывают, что на старте полезно не смешивать все сигналы в одно правило, а сразу разделять их по разным очередям: отдельно следить за уязвимостями, которые уже эксплуатируются и уже исправимы; отдельно — за зависимостями с критичными уязвимостями; отдельно — за слишком молодыми компонентами, которые требуют дополнительной проверки перед широким использованием.
21
21
22
22
## Что получится
23
23
24
24
После прохождения сценария в CodeScoring будет три активные политики для VCS-проектов на этапе `source`:
25
25
26
26
- политика для уязвимостей с публичным эксплойтом и исправлением на этапе `source`;
27
-
- политика для прямых зависимостей с критичными уязвимостями на этапе `source`;
27
+
- политика для зависимостей с критичными уязвимостями на этапе `source`;
28
28
- политика для слишком молодых компонентов на этапе `source`.
29
29
30
30
После повторного SCA-анализа станет видно, какие из этих правил уже дают полезные срабатывания.
@@ -52,7 +52,7 @@ title: "Настроить базовый набор политик безопа
52
52
-**Активно** — включите;
53
53
-**Блокер** — оставьте выключенным.
54
54
4. Если набор настраивается сначала для пилотного проекта, укажите его в поле **Проекты**. Если нужно распространить правило на все активные проекты, оставьте поля **Подразделения**, **Группы** и **Проекты** пустыми.
55
-
5. В блоке условий создайте одну группу с логическим выражением **И** и добавьте:
55
+
5. В верхней группе условий с логическим выражением **И** добавьте:
56
56
-**Уязвимость имеет эксплойт**;
57
57
-**Уязвимость имеет исправление**.
58
58
6. Нажмите **Создать**.
@@ -62,26 +62,25 @@ title: "Настроить базовый набор политик безопа
62
62
63
63
После сохранения в системе появится правило, которое будет создавать алерты по наиболее приоритетным и уже исправимым уязвимостям в VCS-проектах.
64
64
65
-
### Шаг 2. Создайте политику для прямых зависимостей с критичными уязвимостями
65
+
### Шаг 2. Создайте политику для зависимостей с критичными уязвимостями
66
66
67
-
Начинать с прямых зависимостей удобно, потому что этот список обычно меньше и управляемее, чем весь граф зависимостей. Такие срабатывания проще быстро разобрать и закрепить как рабочий процесс команды.
67
+
Отдельное правило для критичных уязвимостей помогает вынести самые тяжёлые случаи в самостоятельный поток обработки. Для стартового набора это полезно, потому что такие находки легче отдельно контролировать и не смешивать с остальными уровнями риска.
68
68
69
69
1. Откройте политику, созданную на предыдущем шаге.
70
70
2. Нажмите **Создать копию**.
71
71
3. Измените основные поля:
72
-
-**Название** — например, `Прямая зависимость с критичной уязвимостью`;
72
+
-**Название** — например, `Критичная уязвимость в зависимости`;
73
73
-**Этапы** — оставьте `source`;
74
74
-**Активно** — оставьте включенным;
75
75
-**Блокер** — оставьте выключенным.
76
-
4. Удалите прежние условия и создайте верхнюю группу с логическим выражением **И**:
77
-
-**Связь** = `прямая`.
78
-
5. Внутри этой группы создайте вложенную группу с логическим выражением **ИЛИ** и добавьте:
79
-
-**Уровень угрозы CVSS2** = `critical`;
80
-
-**Уровень угрозы CVSS3** = `critical`;
81
-
-**Уровень угрозы CVSS4** = `critical`.
76
+
4. Удалите прежние условия.
77
+
5. В верхней группе условий выберите логическое выражение **ИЛИ** и добавьте:
78
+
-**Уровень угрозы CVSS2** = `критический`;
79
+
-**Уровень угрозы CVSS3** = `критический`;
80
+
-**Уровень угрозы CVSS4** = `критический`.
82
81
6. Нажмите **Создать**.
83
82
84
-
Теперь в наборе есть отдельное правило для прямых зависимостей, у которых есть хотя бы одна критичная оценка по одной из версий CVSS.
83
+
Теперь в наборе есть отдельное правило для зависимостей, у которых есть хотя бы одна критичная оценка по одной из версий CVSS.
85
84
86
85
### Шаг 3. Создайте информирующую политику для слишком молодых компонентов
87
86
@@ -97,9 +96,9 @@ title: "Настроить базовый набор политик безопа
97
96
-**Активно** — включите;
98
97
-**Блокер** — оставьте выключенным.
99
98
3. Если набор настраивается постепенно, при необходимости укажите пилотный проект в поле **Проекты**.
100
-
4. В блоке условий создайте верхнюю группу с логическим выражением **ИЛИ**:
101
-
-в первой группе с логическим выражением **И** добавьте условие **Возраст зависимости (в днях)** < `30`;
102
-
-во второй группе с логическим выражением **И**при необходимости добавьте условие на отсутствие информации о возрасте зависимости.
99
+
4. В верхней группе условий выберите логическое выражение **ИЛИ** и добавьте:
100
+
-**Возраст зависимости (в днях)** < `30`;
101
+
- при необходимости — условие на отсутствие информации о возрасте зависимости.
103
102
5. Нажмите **Создать**.
104
103
105
104
Если нужно расширить правило или выбрать другой порог риска, список доступных критериев описан в [настройке политик](/on-premise/how-to/policies).
@@ -137,6 +136,6 @@ title: "Настроить базовый набор политик безопа
137
136
138
137
## Что дальше
139
138
140
-
-[разбирают срабатывания в алертах](/on-premise/how-to/policy-results);
141
-
-[настраивают исключения для допустимых случаев](/on-premise/how-to/ignores);
142
-
-[подключают уведомления по политикам](/on-premise/how-to/notifications).
139
+
-[разобрать срабатывания в алертах](/on-premise/how-to/policy-results);
140
+
-[настроить исключения для допустимых случаев](/on-premise/how-to/ignores);
141
+
-[подключить уведомления по политикам](/on-premise/how-to/notifications).
Copy file name to clipboardExpand all lines: docs/tutorials/block-malicious-components.en.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@ Before you start, make sure you have:
27
27
- access to Docker or Kubernetes together with the OSA Proxy image for the selected installation path;
28
28
- access to the OSA Proxy `application.yml` file and the ability to restart the service after configuration changes;
29
29
- JFrog Artifactory with a remote PyPI repository that can be reconfigured;
30
+
- a CodeScoring license with the **OSA** module enabled;
30
31
- access to CodeScoring with permissions to create policies and review OSA data;
31
32
- a pilot package flow that can be used to validate the setup before rolling it out to all teams.
32
33
@@ -120,13 +121,13 @@ Now create a rule that works at the `proxy` stage and blocks a component when it
120
121
1. Go to `Settings -> Policies`.
121
122
2. Click **Create**.
122
123
3. Fill in the main fields:
123
-
- **Name** — for example, `Proxy: dangerous dependency`;
124
+
- **Name** — for example, `Dangerous dependency at the proxy stage`;
124
125
- **Stages** — `proxy`;
125
126
- **OSA Components** — `Packages`;
126
127
- **Is Active** — enabled;
127
128
- **Blocker** — enabled.
128
129
4. If the rule should apply only to a single delivery channel, choose the corresponding repository. If it should protect all proxy repositories, leave the repository field empty.
129
-
5. In the conditions block create one group with the **AND** expression and add:
0 commit comments