Создание сканера на базе OpenVas с помощью Python и технологии Docker

У меня есть проект: "Система сканирования сетевых устройств с обнаружением потенциальных угроз и отчетом по электронной почте". Мне нужно с помощью python и сканера Openvas написать код для сканирования, например, заданных адресов. Готовое решение должно быть заключено в контейнер виртуализации (например, Docker).

Я пыталась использовать Dockerfile:

FROM python:3.9
RUN pip install python-gvm
RUN python -c "import gvm; print('SUCCESS')"
COPY main.py /app/main.py
CMD ["python", "/app/main.py"]

Примерный код в main.py, вероятнее всего не рабочий, до этого этапа еще не дошла:

    from gvm.connections import UnixSocketConnection  # Import UnixSocketConnection
  def scan_with_openvas():
    # Initialize UnixSocketConnection with the path to the OpenVAS UNIX socket
    connection = UnixSocketConnection(path="/var/run/openvas/gvmd.sock")

    # Initialize Gmp object with the UnixSocketConnection
    with Gmp(connection=connection) as gmp:
        # The rest of the code remains the same
        gmp.authenticate()
        targets = gmp.get_targets()
        for target in targets:
            print(target["name"])
        new_target = gmp.create_target("TARGET_IP", name="My Target")
        config = gmp.create_scan_config(name="Full and Fast", scanner="1")
        scan = gmp.create_scan(target=new_target, config=config)
        while not scan["status"] == "Done":
            scan = gmp.get_scan(scan_id=scan["@id"])
        results = gmp.get_results(scan_id=scan["@id"])
        print("\n")
        for result in results:
            print(result)

    if __name__ == "__main__":
    scan_with_openvas()

Но получаю результат:

gvm.errors.GvmError: Socket /var/run/openvas/gvmd.sock does not exist

Прошу о помощи с выполнением данного задания, альтернативные идеи тоже приветствуются. Буду очень признательна за ответы и подсказки.


Ответы (0 шт):