Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Dop2Mop — Collettore OpenGraph per BloodHound che mappa i percorsi di attacco dall'infrastruttura DevOps a quella MLOps, raccogliendo risorse di pipeline CI/CD, service principal e piattaforma ML per l'analisi del movimento laterale. | Kitploit
Strumenti/GitHubGitHub/h4wkst3r/dop2mop
Sicurezza dell'Infrastruttura CloudRicognizioneSicurezza dei ContenitoriAnalisi delle VulnerabilitàRaccolta InformazioniPenetration TestingSicurezza CloudDevSecOpsGestione Identità e Accessi (IAM)Sicurezza della Supply ChainRed Teaming
41205 mesi faNon ancora revisionato
GitHubh4wkst3r/dop2mop

Dop2Mop

Collettore OpenGraph per BloodHound che mappa i percorsi di attacco dall'infrastruttura DevOps a quella MLOps, raccogliendo risorse di pipeline CI/CD, service principal e piattaforma ML per l'analisi del movimento laterale.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Dop2Mop

Un raccoglitore OpenGraph proof-of-concept per BloodHound che mappa i percorsi di attacco dall'infrastruttura DevOps all'infrastruttura MLOps.

Basato su Pipelines of Privilege: Attack Paths from DevOps to MLOps Infrastructure di Brett Hawkins (@h4wkst3r).

Indice

  • Riconoscimenti
  • Panoramica
    • Piattaforme Supportate
    • Confini di Fiducia Mappati
  • Installazione
    • Dipendenze Opzionali
  • Avvio Rapido
    • Generare Dati Demo
    • Importare in BloodHound
  • Configurazione
    • File di Configurazione
    • Validazione Credenziali
  • Riferimento CLI
    • Panoramica dei Comandi
    • Opzioni Globali
    • dop2mop collect
    • dop2mop demo
  • Esempi di Utilizzo CLI
    • Raccolta Base
    • Raccolta su Piattaforma Singola
    • Raccolta su Piattaforme Multiple
    • Esempi di Raccolta GitHub
    • Esempi di Raccolta Azure DevOps
    • Esempi di Raccolta Azure ML
    • Esempi di Raccolta AWS SageMaker
    • Raccolta Completa dell'Ambiente
  • Variabili d'Ambiente
  • Tipi di Nodi
    • Nodi DevOps
    • Nodi MLOps
    • Nodi Identità
    • Nodi Artefatto
  • Tipi di Archi
    • Archi di Percorso di Attacco
    • Archi Strutturali
  • Query di Esempio
  • Icone Personalizzate
    • Caricare Icone in BloodHound
  • API Python
    • Utilizzare Collettori Individuali
    • Costruire Grafici Personalizzati
  • Risoluzione dei Problemi
    • Problemi Comuni
  • Licenza

Riconoscimenti

  • SpecterOps per BloodHound e OpenGraph

Panoramica

Dop2Mop raccoglie dati dalle piattaforme DevOps e MLOps per identificare percorsi di attacco che consentono il movimento laterale dalle pipeline CI/CD all'infrastruttura di addestramento del machine learning. Produce JSON OpenGraph compatibile con BloodHound per visualizzazione e analisi.

Piattaforme Supportate

Piattaforme DevOpsPiattaforme MLOpsProvider di Identità
GitHub (Actions, Repos, Secrets)Azure Machine LearningAzure AD Service Principals
Azure DevOps (Pipelines, Service Connections)Amazon SageMakerAWS IAM Roles
OIDC/Federated Identity

Confini di Fiducia Mappati

Dop2Mop modella i cinque confini di fiducia critici identificati nella ricerca:

  1. TB1: Repository del Codice alla Pipeline CI/CD - Attivazione automatica delle pipeline dai commit di codice
  2. TB2: Autenticazione del Principal del Servizio - Credenziali NHI utilizzate dalle pipeline per accedere alle piattaforme ML
  3. TB3: Fiducia negli Artefatti del Container - Fiducia implicita nelle immagini container provenienti da registri interni
  4. TB4: Esecuzione della Definizione del Job - Piattaforme ML che eseguono definizioni di job senza validazione
  5. TB5: Deserializzazione del Codice - Deserializzazione non sicura dei dataset (pickle, joblib)

Installazione```bash

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

## Cosa viene raccolto

Ogni collettore raccoglie risorse specifiche della piattaforma e mappa i confini di fiducia tra di esse:

| Collettore | Risorse raccolte |
|-----------|-------------------|
| **GitHub** | Organizzazioni, repository, workflow, segreti, regole di protezione dei rami, configurazioni OIDC, riferimenti a immagini container, riferimenti a bucket S3 |
| **Azure DevOps** | Organizzazioni, progetti, pipeline (YAML), connessioni di servizio (con dettagli sull'ambito), gruppi di variabili, pool di agent, repository |
| **Azure ML** | Workspace, cluster/istanze di calcolo, datastore, ambienti ML, modelli registrati, job/esperimenti, endpoint online e batch |
| **SageMaker** | Job di addestramento, modelli, endpoint, domini, istanze notebook, ruoli di esecuzione IAM (con analisi delle policy), repository/immagini ECR, bucket S3 (filtrati per rilevanza ML) |

## Avvio Rapido

### Genera Dati Demo

Il modo più rapido per vedere Dop2Mop in azione è generare dati demo che mostrino gli scenari di attacco della ricerca:```bash
dop2mop demo -o demo.json

Importa in BloodHound

  1. Apri BloodHound CE (v8.0+)
  2. Vai su Administration → File Ingest
  3. Carica il file JSON generato
  4. Interroga con Cypher:
MATCH (n) RETURN n LIMIT 25
``````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

Configurazione

File di Configurazione

Invece di passare le credenziali ogni volta, puoi salvarle in un file di configurazione. Copia l'esempio incluso e inserisci i tuoi valori:```bash cp dop2mop.yaml.example dop2mop.yaml

Edit dop2mop.yaml with your credentials

Dop2Mop controlla queste posizioni in ordine:

1. Percorso specificato da `--config`
2. `dop2mop.yaml` / `dop2mop.yml` / `.dop2mop.yaml` nella directory corrente
3. `~/.dop2mop.yaml`

> **Nota:** `dop2mop.yaml` è in `.gitignore` per evitare di committare accidentalmente credenziali. Il file di esempio (`dop2mop.yaml.example`) è sicuro da committare.

Vedi [dop2mop.yaml.example](https://github.com/h4wkst3r/dop2mop/blob/main/dop2mop.yaml.example) per tutte le opzioni disponibili con commenti.

**Ordine di priorità:** argomenti CLI > file di configurazione > variabili d'ambiente.

### Validazione delle credenziali

Verifica le credenziali prima di eseguire una raccolta completa:```bash
# Validate all configured collectors
dop2mop collect --validate -v

# Validate specific collectors
dop2mop collect --validate --collectors github,sagemaker -v

Questo effettua una chiamata API leggera per piattaforma per verificare che i token siano validi prima di iniziare la raccolta.

Alias dei Raccoglitori

Scarica lo strumento