Skip to content

Commit 336af56

Browse files
committed
fixed more stuff
1 parent e19b7c3 commit 336af56

11 files changed

Lines changed: 74 additions & 54 deletions

docs/tutorials/basic-security-policies.en.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,20 @@ After the first analysis in CodeScoring.SCA, you usually get a lot of informatio
1111
For VCS projects at the `source` stage, a practical starting point is to create three separate policies:
1212

1313
- 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;
1515
- one for components that were published less than a month ago.
1616

1717
These rules help set priorities faster without overwhelming the team with noisy alerts or introducing hard blocks too early.
1818

1919
!!! 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.
2121

2222
## What you will get
2323

2424
By the end of this scenario, CodeScoring will contain three active policies for VCS projects at the `source` stage:
2525

2626
- 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;
2828
- a policy for very young components at the `source` stage.
2929

3030
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
5252
- **Is Active** — enable it;
5353
- **Blocker** — keep it disabled.
5454
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:
5656
- **Vulnerability has exploit**;
5757
- **Vulnerability has fixed version**.
5858
6. Click **Create**.
@@ -62,26 +62,25 @@ This rule helps surface not just any vulnerabilities, but the ones that are alre
6262

6363
After that, the platform will have a rule that creates alerts for the most actionable vulnerability cases in VCS projects.
6464

65-
### Step 2. Create a policy for direct dependencies with critical vulnerabilities
65+
### Step 2. Create a policy for dependencies with critical vulnerabilities
6666

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.
6868

6969
1. Open the policy created in the previous step.
7070
2. Click **Create a copy**.
7171
3. Change the main fields:
72-
- **Name** — for example, `Direct dependency with a critical vulnerability`;
72+
- **Name** — for example, `Critical vulnerability in a dependency`;
7373
- **Stages** — keep `source`;
7474
- **Is Active** — keep it enabled;
7575
- **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:
7978
- **CVSS2 Severity** = `critical`;
8079
- **CVSS3 Severity** = `critical`;
8180
- **CVSS4 Severity** = `critical`.
8281
6. Click **Create**.
8382

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.
8584

8685
### Step 3. Create an informational policy for very young components
8786

@@ -97,9 +96,9 @@ This rule helps isolate dependencies that were published very recently. For a st
9796
- **Is Active** — enable it;
9897
- **Blocker** — keep it disabled.
9998
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.
103102
5. Click **Create**.
104103

105104
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).

docs/tutorials/basic-security-policies.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,20 @@ title: "Настроить базовый набор политик безопа
1111
Для VCS-проектов на этапе `source` для старта удобно собрать три отдельные политики:
1212

1313
- для уязвимостей с публичным эксплойтом и исправлением;
14-
- для прямых зависимостей с критичными уязвимостями;
14+
- для зависимостей с критичными уязвимостями;
1515
- для слишком молодых компонентов, опубликованных менее месяца назад.
1616

1717
Эти правила помогают быстрее расставить приоритеты, не перегружая команду шумными срабатываниями и не включая блокировки на первом этапе.
1818

1919
!!! 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 показывают, что на старте полезно не смешивать все сигналы в одно правило, а сразу разделять их по разным очередям: отдельно следить за уязвимостями, которые уже эксплуатируются и уже исправимы; отдельно — за зависимостями с критичными уязвимостями; отдельно — за слишком молодыми компонентами, которые требуют дополнительной проверки перед широким использованием.
2121

2222
## Что получится
2323

2424
После прохождения сценария в CodeScoring будет три активные политики для VCS-проектов на этапе `source`:
2525

2626
- политика для уязвимостей с публичным эксплойтом и исправлением на этапе `source`;
27-
- политика для прямых зависимостей с критичными уязвимостями на этапе `source`;
27+
- политика для зависимостей с критичными уязвимостями на этапе `source`;
2828
- политика для слишком молодых компонентов на этапе `source`.
2929

3030
После повторного SCA-анализа станет видно, какие из этих правил уже дают полезные срабатывания.
@@ -52,7 +52,7 @@ title: "Настроить базовый набор политик безопа
5252
- **Активно** — включите;
5353
- **Блокер** — оставьте выключенным.
5454
4. Если набор настраивается сначала для пилотного проекта, укажите его в поле **Проекты**. Если нужно распространить правило на все активные проекты, оставьте поля **Подразделения**, **Группы** и **Проекты** пустыми.
55-
5. В блоке условий создайте одну группу с логическим выражением **И** и добавьте:
55+
5. В верхней группе условий с логическим выражением **И** добавьте:
5656
- **Уязвимость имеет эксплойт**;
5757
- **Уязвимость имеет исправление**.
5858
6. Нажмите **Создать**.
@@ -62,26 +62,25 @@ title: "Настроить базовый набор политик безопа
6262

6363
После сохранения в системе появится правило, которое будет создавать алерты по наиболее приоритетным и уже исправимым уязвимостям в VCS-проектах.
6464

65-
### Шаг 2. Создайте политику для прямых зависимостей с критичными уязвимостями
65+
### Шаг 2. Создайте политику для зависимостей с критичными уязвимостями
6666

67-
Начинать с прямых зависимостей удобно, потому что этот список обычно меньше и управляемее, чем весь граф зависимостей. Такие срабатывания проще быстро разобрать и закрепить как рабочий процесс команды.
67+
Отдельное правило для критичных уязвимостей помогает вынести самые тяжёлые случаи в самостоятельный поток обработки. Для стартового набора это полезно, потому что такие находки легче отдельно контролировать и не смешивать с остальными уровнями риска.
6868

6969
1. Откройте политику, созданную на предыдущем шаге.
7070
2. Нажмите **Создать копию**.
7171
3. Измените основные поля:
72-
- **Название** — например, `Прямая зависимость с критичной уязвимостью`;
72+
- **Название** — например, `Критичная уязвимость в зависимости`;
7373
- **Этапы** — оставьте `source`;
7474
- **Активно** — оставьте включенным;
7575
- **Блокер** — оставьте выключенным.
76-
4. Удалите прежние условия и создайте верхнюю группу с логическим выражением **И**:
77-
- **Связь** = `прямая`.
78-
5. Внутри этой группы создайте вложенную группу с логическим выражением **ИЛИ** и добавьте:
79-
- **Уровень угрозы CVSS2** = `critical`;
80-
- **Уровень угрозы CVSS3** = `critical`;
81-
- **Уровень угрозы CVSS4** = `critical`.
76+
4. Удалите прежние условия.
77+
5. В верхней группе условий выберите логическое выражение **ИЛИ** и добавьте:
78+
- **Уровень угрозы CVSS2** = `критический`;
79+
- **Уровень угрозы CVSS3** = `критический`;
80+
- **Уровень угрозы CVSS4** = `критический`.
8281
6. Нажмите **Создать**.
8382

84-
Теперь в наборе есть отдельное правило для прямых зависимостей, у которых есть хотя бы одна критичная оценка по одной из версий CVSS.
83+
Теперь в наборе есть отдельное правило для зависимостей, у которых есть хотя бы одна критичная оценка по одной из версий CVSS.
8584

8685
### Шаг 3. Создайте информирующую политику для слишком молодых компонентов
8786

@@ -97,9 +96,9 @@ title: "Настроить базовый набор политик безопа
9796
- **Активно** — включите;
9897
- **Блокер** — оставьте выключенным.
9998
3. Если набор настраивается постепенно, при необходимости укажите пилотный проект в поле **Проекты**.
100-
4. В блоке условий создайте верхнюю группу с логическим выражением **ИЛИ**:
101-
- в первой группе с логическим выражением **И** добавьте условие **Возраст зависимости (в днях)** < `30`;
102-
- во второй группе с логическим выражением **И** при необходимости добавьте условие на отсутствие информации о возрасте зависимости.
99+
4. В верхней группе условий выберите логическое выражение **ИЛИ** и добавьте:
100+
- **Возраст зависимости (в днях)** < `30`;
101+
- при необходимости условие на отсутствие информации о возрасте зависимости.
103102
5. Нажмите **Создать**.
104103

105104
Если нужно расширить правило или выбрать другой порог риска, список доступных критериев описан в [настройке политик](/on-premise/how-to/policies).
@@ -137,6 +136,6 @@ title: "Настроить базовый набор политик безопа
137136

138137
## Что дальше
139138

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).

docs/tutorials/block-malicious-components.en.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Before you start, make sure you have:
2727
- access to Docker or Kubernetes together with the OSA Proxy image for the selected installation path;
2828
- access to the OSA Proxy `application.yml` file and the ability to restart the service after configuration changes;
2929
- JFrog Artifactory with a remote PyPI repository that can be reconfigured;
30+
- a CodeScoring license with the **OSA** module enabled;
3031
- access to CodeScoring with permissions to create policies and review OSA data;
3132
- a pilot package flow that can be used to validate the setup before rolling it out to all teams.
3233

@@ -120,13 +121,13 @@ Now create a rule that works at the `proxy` stage and blocks a component when it
120121
1. Go to `Settings -> Policies`.
121122
2. Click **Create**.
122123
3. Fill in the main fields:
123-
- **Name** — for example, `Proxy: dangerous dependency`;
124+
- **Name** — for example, `Dangerous dependency at the proxy stage`;
124125
- **Stages** — `proxy`;
125126
- **OSA Components** — `Packages`;
126127
- **Is Active** — enabled;
127128
- **Blocker** — enabled.
128129
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:
130+
5. Add the condition:
130131
- **Dependency is dangerous**.
131132
6. Click **Create**.
132133

0 commit comments

Comments
 (0)