explaingit

specterops/bloodhound-python-sdk

Analysis updated 2026-07-21 · repo last pushed 2026-05-19

7PythonAudience · developerComplexity · 2/5MaintainedSetup · moderate

TLDR

A Python library that lets developers connect to BloodHound's security tool API to pull network permission data and run queries without writing connection and authentication code from scratch.

Mindmap

mindmap
  root((repo))
    What it does
      Connects to BloodHound API
      Handles authentication
      Returns Python data objects
    Use cases
      Nightly permission snapshots
      Pentest automation pipelines
      Security alerting
    Tech stack
      Python
      Poetry
      Async support
    Audience
      Security engineers
      Penetration testers
      Automation builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically pull nightly snapshots of domain administrator privileges and trigger alerts on changes.

USE CASE 2

Query attack paths as part of an automated penetration testing pipeline.

USE CASE 3

Build custom security tools that programmatically interact with BloodHound network data.

USE CASE 4

Run synchronous or async queries against BloodHound endpoints from Python scripts or applications.

What is it built with?

PythonPoetry

How does it compare?

specterops/bloodhound-python-sdkbettyguo/local-deep-researchcaptaingrock/krea2trainer
Stars777
LanguagePythonPythonPython
Last pushed2026-05-19
MaintenanceMaintained
Setup difficultymoderatehard
Complexity2/54/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a BloodHound instance and API token credentials (token ID and key) generated from BloodHound.

No license information was provided in the explanation, so it is unclear what permissions you have to use or modify this code.

In plain English

BloodHound is a tool that security professionals use to map out relationships and permissions in computer networks, things like who has access to what, which users are administrators, and how an attacker might move through a network once inside. The BloodHound Python SDK gives developers a ready-made way to connect to BloodHound's API from Python code, so they can pull data, run queries, and build automation around it without having to write all the connection and authentication plumbing themselves. To use it, you install the library with a standard Python package manager, then provide credentials, specifically an API token ID and key generated from BloodHound. The library handles the authentication handshake for you. Once connected, you call specific functions that correspond to BloodHound's API endpoints, and the library returns organized data objects that are easy to work with in Python. The main audience is security engineers, penetration testers, or anyone building tools that need to programmatically interact with BloodHound data. For example, a security team might use this SDK to automatically pull a nightly snapshot of who has domain administrator privileges, then trigger alerts if something changed. A pentester might use it to query attack paths as part of an automated assessment pipeline. The library supports both synchronous and asynchronous code, meaning it works in traditional scripts as well as modern applications that handle many tasks concurrently. Each API endpoint comes in four flavors: blocking or async, and each in a simple or detailed version. The simple versions return parsed data directly, the detailed versions give you full control over the HTTP response. The project is built with Poetry, a Python dependency manager, and the README notes that the underlying HTTP client can be customized for advanced use cases, though it doesn't go into much detail on those specifics.

Copy-paste prompts

Prompt 1
I want to use the BloodHound Python SDK to connect to my BloodHound instance and pull a list of all domain administrators. Write a Python script that authenticates with an API token ID and key, then queries for domain admin data using the simple synchronous endpoint.
Prompt 2
Help me set up an async Python script using the BloodHound Python SDK that periodically checks for changes in who has domain admin privileges and prints an alert if a new account appears. Use the async detailed endpoint for full HTTP response control.
Prompt 3
I have the BloodHound Python SDK installed. Show me how to use the detailed synchronous endpoint to run a query and inspect the full HTTP response, including status code and headers, not just the parsed data.
Prompt 4
Write a Python function using the BloodHound Python SDK that takes an API token ID and key, connects to BloodHound, and returns the parsed attack path data for a specified user using the simple async endpoint.

Frequently asked questions

What is bloodhound-python-sdk?

A Python library that lets developers connect to BloodHound's security tool API to pull network permission data and run queries without writing connection and authentication code from scratch.

What language is bloodhound-python-sdk written in?

Mainly Python. The stack also includes Python, Poetry.

Is bloodhound-python-sdk actively maintained?

Maintained — commit in last 6 months (last push 2026-05-19).

What license does bloodhound-python-sdk use?

No license information was provided in the explanation, so it is unclear what permissions you have to use or modify this code.

How hard is bloodhound-python-sdk to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is bloodhound-python-sdk for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.