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

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

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

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2F6zditMfy8JWHepGEkmeq%2Flogin.png?alt=media&#x26;token=a9abc1a7-cc45-46c5-82ba-86d602cb3ffb" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FsplNGTWQjr5m9lBlm0py%2Fuser-menu.png?alt=media&#x26;token=70dfe983-cb19-4bc0-80bc-b0781ae3c201" 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="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FOYluHkd24L1tOa3aPmLm%2Fadd-test.png?alt=media&#x26;token=bf4a7966-55a7-4264-ad28-436f01b12df8" alt=""></td><td>Добавить файл</td></tr><tr><td align="center"><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FoEN5VnmL3Qi1BG3OfIsa%2Fdelete-test.png?alt=media&#x26;token=8d01275f-c202-45db-b1d0-5ede738ddfaa" alt=""></td><td>Удалить отмеченные тесты</td></tr><tr><td align="center"><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FJUEeQssHmPm6aSMVcwih%2Frun-tests.png?alt=media&#x26;token=de6efeca-826f-4e73-9102-f9d995d7cdc4" alt=""></td><td>Запустить отмеченные тесты</td></tr></tbody></table>

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FPZft0TQBZjbsr8IB681Q%2Fmain.png?alt=media&#x26;token=b225b6f1-1f3c-453c-8427-863ee39f4204" alt=""><figcaption></figcaption></figure>

Для сортировки данных по возрастанию/убыванию используйте кнопку рядом с именем столбца: ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FA3qkzDG7qvruPaWmkDse%2Fsort.png?alt=media\&token=d831aba9-5bec-4033-9e61-68d2ef0f663f)

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FuWB2OU9NiRLw7qFX9Cee%2Ffilter.png?alt=media&#x26;token=c4c14b43-b99f-41e6-bfdc-96232cb3129e" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FUSK1CoEQKpLrqxvJOZmt%2Ffooter.png?alt=media&#x26;token=e76c8dde-b89e-4ff7-9e8e-e6628525da18" alt=""><figcaption></figcaption></figure>

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

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

Для добавления теста нажмите кнопку ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FOYluHkd24L1tOa3aPmLm%2Fadd-test.png?alt=media\&token=bf4a7966-55a7-4264-ad28-436f01b12df8), выберите в открывшемся диалоге файл для загрузки.

Для загрузки и просмотра содержимого файла добавленного теста, найдите строку с ним в перечне тестов и нажмите ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FH257jzIZrMoQsVQexGJi%2Fdownload.png?alt=media\&token=5d04b61d-359e-4e65-8557-0844a81465ed).

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

Для удаления поставьте отметку ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2Fg5ZyHpGKiBxdpGNGOJtU%2Fcheckbox.png?alt=media\&token=7ddfe418-9e88-484b-b5e3-0d1266df24db) в строках с нужными тестами, затем нажмите ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FoEN5VnmL3Qi1BG3OfIsa%2Fdelete-test.png?alt=media\&token=8d01275f-c202-45db-b1d0-5ede738ddfaa).

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

Для запуска теста найдите строку с нужным тестом в перечне и нажмите ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2F9IPaUcwJEBPcpORPaEKd%2Ftest-run.png?alt=media\&token=b24df9ee-5a66-4f38-a20c-978e3bc824eb).

Для запуска нескольких тестов поставьте отметку ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2Fg5ZyHpGKiBxdpGNGOJtU%2Fcheckbox.png?alt=media\&token=7ddfe418-9e88-484b-b5e3-0d1266df24db) в строках с нужными тестами, затем нажмите ![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FJUEeQssHmPm6aSMVcwih%2Frun-tests.png?alt=media\&token=de6efeca-826f-4e73-9102-f9d995d7cdc4).

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FVHpGAo1FwwHz1XlJPhlO%2Ftest-api.png?alt=media&#x26;token=21d26eed-9148-41ac-9283-9b871f0180ce" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FGnv5m15eVmkaJcRFKQ53%2Ftest-html.png?alt=media&#x26;token=83ddea1a-7f5c-48ae-befa-6c353e777d4a" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FPwkb3w90Bo6QNU1EcRUh%2Ftest-api-success.png?alt=media&#x26;token=e870787c-e926-4806-bf82-ff8979a3d9fa" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2Fnc13fkSUt9nAIrPRkWce%2Ftest-html-fail.png?alt=media&#x26;token=8215c4b2-c976-4552-8654-4a29353ff349" alt=""><figcaption></figcaption></figure>

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

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

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

{% file src="<https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FbAq0ppdc2Dohu6SP6VfJ%2F%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D1%80%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8F-api-test.yml?alt=media&token=209e083d-9f59-49f1-a56a-3911b038fcfe>" %}

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

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

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

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

Операция загрузки проекта вручную очевидна - нужно нажать на иконку папки <img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FwnZdTlbHYMh79UUHh2Qz%2Fimage.png?alt=media&#x26;token=9d8357e2-68cf-4726-b6db-ed5e2252638a" alt="" data-size="line">, выбрать папку с проектом у себя на компьютере и дождаться завершения загрузки

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

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

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

![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FqiMdbjt3OtlMKlVcz9Ms%2Fimage.png?alt=media\&token=68d231c0-969b-4158-b7f2-eddda3f6ae3c)

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FxvIVjUETeLCf48gbRxAe%2Fimage.png?alt=media&#x26;token=75c04c57-6863-46b3-a58e-bb418a65e1c7" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FX76Siygo9OV2QBK2T8OV%2Fimage.png?alt=media&#x26;token=fef5af9f-078d-4ee1-9bb8-dcd3469aaf61" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2F7PNI61l4o6ctj0R24UZO%2Fimage.png?alt=media&#x26;token=4d8a2a30-7979-4350-939f-2424a7740304" alt=""><figcaption></figcaption></figure>

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

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

![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FULEQR3L6GZNMZye9BLyq%2Fimage.png?alt=media\&token=d64ca229-5cf2-4abe-9fe5-2d15ce719a3e)

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

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

  <figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FcApx1cs3K3fRZOggPg3b%2Fimage.png?alt=media&#x26;token=e9a42d5d-6bfb-4c69-a969-026d4a51412c" 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

![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2Fg0VyeibfX33jEghbHKhZ%2Fimage.png?alt=media\&token=cbade042-79eb-45a2-881f-5210dd828ee6)

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

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

<figure><img src="https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2F4f9euojOVPzyew2EJX6c%2Fimage.png?alt=media&#x26;token=603951b1-9628-4488-9dd3-e265a5274883" alt=""><figcaption></figcaption></figure>

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

![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FhFZCJuIbtPLSXSzXQ8Oc%2Fimage.png?alt=media\&token=cf8de50c-0a35-4708-bbe4-c9e036405504)

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

![](https://1942690998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriQhqdZFtdRrDV8MspyM%2Fuploads%2FpcsuBh5A3VADsHyWqmkg%2Fimage.png?alt=media\&token=db482137-c1e2-4c29-befb-95b3d52a810f)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.basesource.ru/docs/oss-core-security-tester/user-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
