Skip to main content

OpenGraph collector framework for BloodHound

Project description

A project powered by SpecterOps - Creators of BloodHound

Build BloodHound data collectors with OpenHound's standardized, reproducible collect-first and transform-later pipeline.

Slack SpecterOps on Reddit Sponsored by SpecterOps

@SpecterOps on Twitter Connect on LinkedIn Connect on Mastodon


About

OpenHound is a standardized framework for building OpenGraph collectors and converters. Built on DLT (Data Load Tool), it provides a consistent workflow for collecting, processing, and converting data from any source into BloodHound-compatible graphs. OpenHound enforces a collect-first, convert-later pipeline. Raw data collected from a source is always stored before transformation and ensures reproducibility. Custom decorators simplify collector development with minimal boilerplate, while CLI commands and graph documentation are automatically generated for every source.

Python Version Tests

Getting Started

Follow the docs for setup, CLI usage, and collector development:

How it works

  • Collect: OpenHound uses DLT to collect resources from various services. Resources are parsed using a Pydantic model and stored as JSONL/Parquet on disk during the collection phase.

  • Pre-process: A DuckDB database can be (optionally) populated to store resources for OpenGraph convertion. The database can be used as a lookup to find, for example, all resources a particular user/group has permissions to.

  • Convert: The raw resources are read from disk and converted to OpenGraph nodes and edges.

Available extensions

Extend OpenHound with pre-built extensions for other services. Additional collectors can be installed using pip extras.

Name Source repo
Github https://github.com/SpecterOps/openhound-github
JAMF https://github.com/SpecterOps/openhound-jamf
Okta https://github.com/SpecterOps/openhound-okta

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openhound-0.1.3.dev2.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openhound-0.1.3.dev2-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

Details for the file openhound-0.1.3.dev2.tar.gz.

File metadata

  • Download URL: openhound-0.1.3.dev2.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for openhound-0.1.3.dev2.tar.gz
Algorithm Hash digest
SHA256 53c11cb2185d8c85e5ae1b7c69938918da3538ad7ef18d795d7678b13d91480a
MD5 bdc2341e3ac2a0afff9f06dbd21f15b9
BLAKE2b-256 33acd72ba48294def68654c338b668c5a5a49c94d9ec2711e7785f6f1c44e3b1

See more details on using hashes here.

File details

Details for the file openhound-0.1.3.dev2-py3-none-any.whl.

File metadata

  • Download URL: openhound-0.1.3.dev2-py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for openhound-0.1.3.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 3787906e76fc4631b5f1bd32f6e0d1bb15596d536bb11ab1661a88af0b5dd6e4
MD5 afce69763af77605dcaf55774e16bd6f
BLAKE2b-256 4c64a0e4bc5bf5f08f7bf01ffaa82536c8564f4d3615fb5c89282bcce057bbf4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page