Тут вопрос не стоит "так или не так" :) Вопрос в том кто как это для себя видит. Я не думаю, что тут есть какой-то предопределенное "правильное решение"
Ну у вас это можно сделать по-разному - зависит от задачи. Верщины графа - узлы, пользователи, приложения, контейнеры, микросервисы, уязвимости и т.п. Веса ветвей - наличие уязвимости, сложность ее реализации, стоимость реализации, время на переход и т.п. Дальше либо сложение весов, либо перемножение вероятностей...