Add BH CE Support for DPAT #54
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for BloodHound Community Edition (BHCE) as an alternative backend to the legacy Neo4j database, with accompanying documentation and a new client implementation. It updates the
README.mdto explain backend selection, environment variables, and usage examples for both Neo4j and BHCE. A new file,bhce_client.py, leveraging REST client for BHCE with authentication, Cypher query, and user management capabilities. Additionally, a Cypher catalog is added to help migrate Neo4j queries to BHCE.Note: This was heavily vibe coded during a weekend, I performed some tests and there are some missing components, but main goal was to get DPAT working with BH CE. I did not want to overwrite legacy BH support since I imagine some are still using this.
BHCE Backend Support and Documentation
README.mdto document backend selection between legacy Neo4j and BHCE, including supported modules, environment variables, and CLI flags for BHCE authentication. Usage examples for both backends are provided. [1] [2] [3]New BHCE REST Client Implementation
bhce_client.py, a comprehensive REST client for BHCE that supports login, user info retrieval, Cypher queries, and property updates, enabling direct interaction with the BHCE API from Python.Migration Support for Neo4j Queries
wiki/bh-legacy-cypher-catalog.mdto catalog all Cypher queries used in the project, aiding migration and compatibility efforts with BHCE.Testing Performed
DPAT Issues