Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Dop2Mop — Коллектор OpenGraph для BloodHound, который отображает пути атак от инфраструктуры DevOps до инфраструктуры MLOps, собирая ресурсы CI/CD pipeline, service principal и ML platform для анализа латерального перемещения. | Kitploit
Инструменты/GitHubGitHub/h4wkst3r/dop2mop
Безопасность облачной инфраструктурыРазведкаБезопасность контейнеровАнализ уязвимостейСбор информацииТестирование на ПроникновениеБезопасность облачных средDevSecOpsУправление идентификацией и доступом (IAM)Безопасность Цепочки ПоставокRed Teaming
41205 месяцев назадЕщё не проверено
GitHubh4wkst3r/dop2mop

Dop2Mop

Коллектор OpenGraph для BloodHound, который отображает пути атак от инфраструктуры DevOps до инфраструктуры MLOps, собирая ресурсы CI/CD pipeline, service principal и ML platform для анализа латерального перемещения.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Dop2Mop

Прототип сборщика OpenGraph для BloodHound, отображающего пути атак от DevOps до инфраструктуры MLOps.

Основано на Pipelines of Privilege: Attack Paths from DevOps to MLOps Infrastructure авторства Brett Hawkins (@h4wkst3r).

Содержание

  • Благодарности
  • Обзор
    • Поддерживаемые платформы
    • Сопоставленные границы доверия
  • Установка
    • Необязательные зависимости
  • Быстрый старт
    • Создать демо-данные
    • Загрузить в BloodHound
  • Конфигурация
    • Файл конфигурации
    • Проверка учётных данных
  • Справочник CLI
    • Обзор команд
    • Глобальные опции
    • dop2mop collect
    • dop2mop demo
  • Примеры использования CLI
    • Базовая коллекция
    • Сбор с одной платформы
    • Сбор с нескольких платформ
    • Примеры сбора из GitHub
    • Примеры сбора из Azure DevOps
    • Примеры сбора из Azure ML
    • Примеры сбора из AWS SageMaker
    • Полный сбор окружения
  • Переменные окружения
  • Типы узлов
    • Узлы DevOps
    • Узлы MLOps
    • Узлы идентификации
    • Узлы артефактов
  • Типы рёбер
    • Рёбра путей атак
    • Структурные рёбра
  • Примеры запросов
  • Пользовательские иконки
    • Загрузка иконок в BloodHound
  • Python API
    • Использование отдельных сборщиков
    • Построение пользовательских графов
  • Устранение неполадок
    • Частые проблемы
  • Лицензия

Благодарности

  • SpecterOps за BloodHound и OpenGraph

Обзор

Dop2Mop собирает данные с платформ DevOps и MLOps для выявления путей атак, обеспечивающих боковое перемещение из конвейеров CI/CD в инфраструктуру обучения машинного обучения. Он выводит JSON OpenGraph, совместимый с BloodHound, для визуализации и анализа.

Поддерживаемые платформы

Платформы DevOpsПлатформы MLOpsПоставщики идентификации
GitHub (Actions, Repos, Secrets)Azure Machine LearningAzure AD Service Principals
Azure DevOps (Pipelines, Service Connections)Amazon SageMakerAWS IAM Roles
OIDC/Federated Identity

Сопоставленные границы доверия

Dop2Mop моделирует пять критических границ доверия, выявленных в исследовании:

  1. TB1: Репозиторий кода в конвейер CI/CD - Автоматический запуск конвейеров из коммитов кода
  2. TB2: Аутентификация сервисного принципала - Учётные данные NHI, используемые конвейерами для доступа к платформам ML
  3. TB3: Доверие к контейнерным артефактам - Неявное доверие к образам контейнеров из внутренних реестров
  4. TB4: Выполнение определения задания - Платформы ML выполняют определения заданий без проверки
  5. TB5: Десериализация кода - Небезопасная десериализация наборов данных (pickle, joblib)

Установка```bash

git clone https://github.com/h4wkst3r/dop2mop.git cd dop2mop pip install -r requirements.txt pip install -e .

## What's Collected

Each collector gathers platform-specific resources and maps the trust boundaries between them:

| Collector | Resources Collected |
|-----------|-------------------|
| **GitHub** | Organizations, repositories, workflows, secrets, branch protection rules, OIDC configurations, container image references, S3 bucket references |
| **Azure DevOps** | Organizations, projects, pipelines (YAML), service connections (with scope details), variable groups, agent pools, repositories |
| **Azure ML** | Workspaces, compute clusters/instances, datastores, ML environments, registered models, jobs/experiments, online & batch endpoints |
| **SageMaker** | Training jobs, models, endpoints, domains, notebook instances, IAM execution roles (with policy analysis), ECR repositories/images, S3 buckets (filtered to ML-relevant) |

## Quick Start

### Generate Demo Data

The fastest way to see Dop2Mop in action is to generate demo data showing the attack scenarios from the research:```bash
dop2mop demo -o demo.json

Импорт в BloodHound

  1. Откройте BloodHound CE (v8.0+)
  2. Перейдите в Administration → File Ingest
  3. Загрузите сгенерированный JSON-файл
  4. Выполните запрос с помощью Cypher:```cypher // Azure DevOps to Azure ML Lateral Movement MATCH p=(repo)-[:TriggersPipeline]->(pipeline)-[:UsesServiceConnection]->(svcconn)-[:AuthenticatesAs]->(workspace)-[:CodeExecution]->(compute) RETURN p

// Container Image Poisoning (Supply Chain Attack) MATCH p=(workflow)-[:CanPoisonImage]->(image)<-[:PullsImage]-(job) RETURN p

// OIDC/Federated Identity Abuse (confirmed edges) MATCH p=(workflow)-[:OIDCTrust]->(oidc)-[:CanAssumeRole]->(role)-[:SubmitsJob]->(job) RETURN p

// OIDC abuse including inferred paths MATCH p=(workflow)-[:OIDCTrust]->(oidc)-[:InferredCanAssumeRole]->(role) RETURN p

// Dataset Poisoning via Pickle Deserialization MATCH p=(workflow)-[:CanPoisonDataset]->(dataset)<-[:LoadsDataset]-(job) RETURN p

// Find repos with weak/no branch protection (TB1 exploitable) MATCH (repo)-[:BypassesProtection]->(repo) RETURN repo.name, repo.default_branch

// Find overprivileged SageMaker IAM roles MATCH (role:IAMRole) WHERE role.is_admin = true OR role.has_s3_full_access = true RETURN role.name, role.attached_policies

// Find SageMaker notebooks with root + internet access MATCH (nb:SMNotebook) WHERE nb.root_access = 'Enabled' AND nb.direct_internet_access = 'Enabled' RETURN nb.name, nb.status

// Find self-hosted ADO agent pools MATCH (agent:ADOAgent) WHERE agent.is_hosted = false RETURN agent.name, agent.pool_type

## Конфигурация

### Файл конфигурации

Вместо того чтобы передавать учетные данные при каждом запуске, вы можете сохранить их в конфигурационном файле. Скопируйте прилагаемый пример и заполните свои значения:```bash
cp dop2mop.yaml.example dop2mop.yaml
# Edit dop2mop.yaml with your credentials

Dop2Mop проверяет следующие местоположения по порядку:

  1. Путь, указанный в --config
  2. dop2mop.yaml / dop2mop.yml / .dop2mop.yaml в текущей директории
  3. ~/.dop2mop.yaml

Примечание: dop2mop.yaml находится в .gitignore, чтобы предотвратить случайную фиксацию учетных данных. Файл примера (dop2mop.yaml.example) безопасен для фиксации.

Смотрите dop2mop.yaml.example для всех доступных опций с комментариями.

Приоритет: аргументы CLI > файл конфигурации > переменные окружения.

Проверка учетных данных

Протестируйте учетные данные перед запуском полного сбора:```bash

Validate all configured collectors

dop2mop collect --validate -v

Validate specific collectors

dop2mop collect --validate --collectors github,sagemaker -v

Это позволяет выполнять облегчённый API-вызов для каждой платформы, чтобы проверить действительность токенов перед началом сбора.

### Псевдонимы сборщиков

Вы можете использовать короткие имена вместо полных имён классов с помощью `--collectors`:
Скачать инструмент