ClusterHound — это инструмент, который встраивает
Kubernetes в
BloodHound. С помощью
kubectl он собирает топологию кластера и его
RBAC-конфигурацию, после чего выгружает результат в
OpenGraph JSON для импорта. Главная идея в том, что многошаговые цепочки атак в
Kubernetes — захват сервис-аккаунтов, эскалация привилегий, побег с хоста, доступ к секретам — превращаются в проходимые рёбра графа, по которым можно строить маршруты атак.
Под капотом кластер моделируется как 15 типов узлов и 27 типов рёбер, а рёбра отдаются как
structured graph, который нативно понимает встроенный
pathfinding BloodHound. В комплекте идёт 31 готовый
Cypher-запрос — от анализа точек входа до кратчайших путей до полной компрометации кластера. Инструмент работает только на чтение (
get/list) и мапит ровно столько, сколько видят используемые учётные данные, поэтому его можно запускать как на весь кластер, так и в рамках отдельных
namespace.
Требуется
Python 3.8+, kubectl и
BloodHound CE версии 9.0 и выше. Проект активно развивается.