> For the complete documentation index, see [llms.txt](https://kb.basesource.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.basesource.ru/docs/oss-core-security-tester/user-guide.md).

# Руководство пользователя

## Вход в систему <a href="#login" id="login"></a>

Для доступа вам понадобятся IP-адрес или имя машины, на которой запущен контейнер с приложением, а также порт подключения (по умолчанию - `4200`).

Откройте приложение в браузере, указав адрес в формате: `http://<IP-адрес или имя машины>:4200`.

Авторизуйтесь в появившемся окне входа в систему, чтобы продолжить работу:

<figure><img src="/files/cZyHcEBNrw5HjdHinxiS" alt=""><figcaption></figcaption></figure>

При первом входе используйте следующие учетные данные:

* Имя пользователя: `admin`
* Пароль: `osscore123@`

После входа в систему вы можете сменить пароль, выбрав соответствующий пункт в выпадающем меню пользователя:

<figure><img src="/files/pISyBTlNrAuJAXYrGG87" alt=""><figcaption></figcaption></figure>

## Стандартные тесты <a href="#interface" id="interface"></a>

На странице "Стандартные тесты" можно выполнить следующие проверки:

* **rest\_api** - проверка http-ответа адресов с отображением результата запроса. На данный момент поддерживаются методы запросов GET, POST, PUT, DELETE
* **html** - проверка элементов html-страниц по адресу с отображением скриншота страницы
* **bash** - выполнение команд в терминале удалённого сервера и проверка ожидаемых ответов. На данный момент поддерживается выполнение команд на серверах операционной системы CentOS 7

### Интерфейс приложения

В верхней части интерфейса доступны кнопки для выполнения следующих операций:

<table data-header-hidden><thead><tr><th width="83" align="center"></th><th></th></tr></thead><tbody><tr><td align="center"><img src="/files/7H9zAwLuBljk9QCIs5z8" alt=""></td><td>Добавить файл</td></tr><tr><td align="center"><img src="/files/FBh5pTKuhlkrBunhalbh" alt=""></td><td>Удалить отмеченные тесты</td></tr><tr><td align="center"><img src="/files/cdNweaYLoF1fWGvsYb5w" alt=""></td><td>Запустить отмеченные тесты</td></tr></tbody></table>

В основной части отображается перечень загруженных тестов, включая следующую информацию:

* `IP сервера`: IP адрес тестируемого сервера;
* `Модуль`: тип выполняемого теста;
* `Имя файла`: имя загруженного yml файла;
* `Псевдоним`: алиас теста;
* `Дата создания`: дата добавления теста.

<figure><img src="/files/r0wxm3TkYL8qGZaEIYU2" alt=""><figcaption></figcaption></figure>

Для сортировки данных по возрастанию/убыванию используйте кнопку рядом с именем столбца: ![](/files/XCSXJlLWYIWqxmNpWxSc)

Чтобы задать фильтр по данным, в выпадающем списке под именем столбца выберите логику фильтра и значение, затем нажмите `Filter`. Для сброса фильтра нажмите `Reset`.

<figure><img src="/files/bRsNDSs2QCOyhv8sa4Zn" alt=""><figcaption></figcaption></figure>

В нижней части интерфейса доступны элементы управления отображением информации:

* переключение между страницами при большом количестве загруженных тестов;
* настройка количества элементов на странице.

<figure><img src="/files/VoSvihzgBOR7CsMsXRzu" alt=""><figcaption></figcaption></figure>

### Работа с тестами <a href="#tests" id="tests"></a>

#### Добавление <a href="#add" id="add"></a>

Для добавления теста нажмите кнопку ![](/files/7H9zAwLuBljk9QCIs5z8), выберите в открывшемся диалоге файл для загрузки.

Для загрузки и просмотра содержимого файла добавленного теста, найдите строку с ним в перечне тестов и нажмите ![](/files/j4JZ1qf5kMWhOJNRGq2t).

#### Удаление <a href="#remove" id="remove"></a>

Для удаления поставьте отметку ![](/files/nAoYFZYRIMazjbLxqgdQ) в строках с нужными тестами, затем нажмите ![](/files/FBh5pTKuhlkrBunhalbh).

#### Запуск <a href="#run" id="run"></a>

Для запуска теста найдите строку с нужным тестом в перечне и нажмите ![](/files/p3Alzmd24Mrr8t2i4kXO).

Для запуска нескольких тестов поставьте отметку ![](/files/nAoYFZYRIMazjbLxqgdQ) в строках с нужными тестами, затем нажмите ![](/files/cdNweaYLoF1fWGvsYb5w).

#### Результаты <a href="#results" id="results"></a>

После запуска теста откроется окно, отображающее ход тестирования и его результаты: перечень выполненных проверок, с адресом запроса и ответом от тестируемого сервиса (статусом выполнения).

<figure><img src="/files/ZWMyQLTWXquVDWGH5Ois" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CMf4oFP05OO8RQqC3zHp" alt=""><figcaption></figcaption></figure>

Чтобы посмотреть подробное содержимое ответа, разверните нужную строку запроса, нажав на нее.

<figure><img src="/files/Co7MSfI73TzXfp9f7G9l" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/tDMxaKzd4LkoBz9lYsjO" alt=""><figcaption></figcaption></figure>

**Примечание:** процесс создания yml файлов с тестами описан в [руководстве администратора](/docs/oss-core-security-tester/admin-guide.md).

### Проверка приложения <a href="#verify" id="verify"></a>

Для проверки работы приложения используйте этот пример yml файла с тестами:

{% file src="/files/eCQfyOPY5so6gXNBgzMK" %}

## Проверка уязвимостей

На странице "Проверка уязвимостей" в конкретном приложении можно выполнить поиск уязвимостей библиотек с открытым исходным кодом. Загрузить проект для проверки можно двумя способами:

* вручную, выбрав папку с проектом у себя на компьютере
* через [gitlab](https://about.gitlab.com/) с использованием функции [webhooks](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html)

### Загрузка проекта в ручную

Операция загрузки проекта вручную очевидна - нужно нажать на иконку папки <img src="/files/UUcYdzmEPec9Y76C2BRN" alt="" data-size="line">, выбрать папку с проектом у себя на компьютере и дождаться завершения загрузки

### Загрузка проекта через Gitlab при помощи Webhooks

#### Добавление токена развёртывания (deploy token) к проекту

В репозитории проекта Gitlab зайти на страницу настроек репозитория

![](/files/XzFhBkJVeIRWJUmHczky)

Развернуть пункт Deploy tokens

<figure><img src="/files/PAwIAbPSlExeYRl6ylnC" alt=""><figcaption></figcaption></figure>

Указать описательное (любое) имя, выбрать пункт "*read\_repository"* и нажать "*Create deploy token"*

<figure><img src="/files/C1CLHbrVkPc8NZqTPgtZ" alt=""><figcaption></figcaption></figure>

После создания выше появится форма с именем пользователя токена и самим токеном. Токен больше никде не будет показываться и его нельзя будет восстановить, поэтому скопируйте его куда-нибудь. Эти данные понадобятся для добавления в приложение **otester**

<figure><img src="/files/l3cX8ZeAPyrzXtqZnCgm" alt=""><figcaption></figcaption></figure>

#### Добавление токена развёртывания в otester

Для того, чтобы добавить токен развёртывания, перейдите на страницу *"Токены приложений VU"*

![](/files/87zt1c5zgxedCCJz5xFw)

Разверните форму нажатием на кнопку "Добавить токен" и укажите данные:

* Тип токена - в данном случае *"Deploy token"*
* Имя проекта - имя проекта Gitlab, так как указано в Gitlab

  <figure><img src="/files/KUc9N58Lu5oZoOlYsxJO" alt=""><figcaption></figcaption></figure>
* Имя пользователя токена - то имя пользователя, которое появлялось при создании токена [#dobavlenie-tokena-razvyortyvaniya-deploy-token-k-proektu](#dobavlenie-tokena-razvyortyvaniya-deploy-token-k-proektu "mention")
* Токен - это токен, который появлялся при создании токена [#dobavlenie-tokena-razvyortyvaniya-deploy-token-k-proektu](#dobavlenie-tokena-razvyortyvaniya-deploy-token-k-proektu "mention")

Нажмите кнопку *"Сохранить"*

Всё, токен добавлен. Теперь при обращении к **otester** через веб-крючок будет использоваться этот токен

#### Добавление адреса к веб-крючкам (webhooks) репозитория

В репозитории проекта Gitlab зайти на страницу подключения Webhooks

![](/files/Ad3f8ELLZwWFKGTw7m6Z)

В поле URL ввести адрес, в виде&#x20;

`http://[ip-адрес, на котором развёрнут otester]:5000/api/webhooks/vu/`

<figure><img src="/files/QtI6InV1CiHqPAx5mNdB" alt=""><figcaption></figcaption></figure>

Ниже выбрать событие, при наступлении которого будет выполняться запрос на указанный выше адрес, например можно указать событие **push**. В нашем случае при запросе будет выполняться выгрузка проекта в **otester**.

![](/files/N5mtYDCk4qlUS4wTEasv)

Отключить проверку SSL и нажать кнопку **Add webhook**

![](/files/GHibpDdRNN6rZ1a1NGGw)

Всё, теперь при выполнении команды `git push` будет выполняться отправка проекта в **otester** и его проверка. Проект появится на странице "Проверка уязвимостей"
