Dynamic Entity Panel Content
Render selected-entity data in custom OpenGraph Entity Panel sections with Go templates in extension definition schemas.BloodHound validates template syntax when you upload the schema, helping you catch invalid templates before they reach the Entity Panel. Dynamic Markdown supports node and relationship properties, conditional content, and supported helper functions.Alerts Early Access
This feature is available through Early Access. Enable on the Administration > Early Access Features page to access it.
Collector Support Bundles
This is a SpecterOps-managed feature. If it is not enabled in your environment, contact your account team for assistance.
Enterprise Marketplace
Accessibility Improvements
Navigate BloodHound with clearer focus indicators, improved keyboard navigation, more useful screen-reader announcements, and chart colors.Form validation, posture results, environment selection, data tables, administration, and Zone Builder receive additional accessibility coverage and behavior improvements.Accessible Explore Toolbar
Navigate the Explore graph toolbar with accessible icons, tooltips, improved keyboard behavior, and clearer screen-reader labels.BloodHound Enterprise can also provide optional export actions in the Export menu while retaining JSON as the default export format.Multi-Destination Pathfinding
Build a pathfinding query through up to three destination nodes, which can help focus the results on a specific set of nodes.BloodHound now supports up to four pathfinding nodes total: one source and three destinations. You can reorder nodes, remove destination nodes, and review the combined graph result for the selected route.Protection Score
Findings Table Early Access
This feature is available through Early Access. Enable on the Administration > Early Access Features page to access it.
Actions
An action bar is now available when you select findings in the Findings Table. The action bar allows you to open a finding’s remediation plan or pivot directly to the Explore page for further investigation.Filtering and Context
This release also includes the following enhancements to the Findings Table filtering behavior:- Default-selected filters now use an outlined enabled state and visually change when you modify their selections, so you can distinguish filters that remain at their defaults from filters you changed.
- Use the new Attack Path filter to select one or more Attack Path types and limit the table to matching findings.
- View the total number of findings that match the current filter selections in a count displayed above the table. The count updates as you change the filters.
- Open a finding in the Findings Table from its Attack Path details in the Graph view. The finding’s status, environment, and Privilege Zone context are carried into the table so you can continue the investigation with the relevant filters applied.
GitHub Enterprise Server Endpoint Support
Configure separaterest_api_url and graphql_url values to collect data from GitHub Enterprise Server. GitHub.com remains the default, so existing configurations continue to work without changes.The endpoint settings must use HTTPS, share the same origin, and be configured together. GitHub App authentication and PAT validation now use the configured REST endpoint instead of assuming GitHub.com.GitHub and Okta Collection Resilience
Improve collection reliability for large environments and organization-scoped GitHub collection runs.- The Okta collector pages expanded group requests and retries the initial request with limits of 200, 100, and 50 when a timeout persists. You can tune these and other Okta resource page sizes with the new pagination settings.
- The GitHub collector reduces repository GraphQL page sizes from 100 to 50 and then 25 after transient gateway failures, then returns to the default page size when later pages succeed.
- Organization-only GitHub collections also resolve the canonical organization login before resource collection begins, preventing case-sensitive lookup failures.
GitHub Enterprise Role Memberships
Restore accurate membership data for the syntheticGH_EnterpriseRole owners and members roles across supported GitHub authentication configurations.OpenHound now uses the available enterprise or organization-backed collection paths to populate GH_User -[:GH_HasRole]-> GH_EnterpriseRole relationships.GitHub EMU External Group Modeling
Collect external identity-provider group metadata for normalGH_Team nodes in GitHub Enterprise Managed User organizations.OpenHound adds the external_group_id and external_group_name properties and emits a SCIM_Provisioned relationship to the matching SCIM_Group when the corresponding SCIM data is available.Authoritative Okta Application-Group Assignments
Collect group-to-application assignments from Okta’s application assignment endpoints instead of relying on group statistics that may be stale.The collector preserves the existingOkta_AppAssignment relationships and assignment evidence while failing closed when required assignment data is incomplete or ambiguous.OpenHound Logs
Review collector lifecycle logs to identify the collector name and version, OpenHound version, and job ID, making it easier to troubleshoot collection runs.OpenHound Configuration
~/.dlt/config.toml and the browser JWT from ~/.dlt/secrets.toml. This change separates the destination URL from sensitive credentials, which remain in the secrets file.Fixed Issues
Authentication
SAML replay protection: Resolved an issue where a valid signed SAML response could be replayed to create multiple BloodHound sessions.BloodHound now records both the SAML response ID and assertion ID before creating a session. Any later callback that reuses either identifier is rejected.Special thanks to Corban Villa, Sohee Kim, and Austin Chu for their detailed report and responsible disclosure.
Cypher
- Resolved an issue where Cypher queries using traversal expansion to find a cyclical loop could fail.
- Improved query optimization for Cypher queries that begin with an unbounded traversal expansion, reducing avoidable timeouts.
- Resolved an issue where Cypher query optimization consumed excessive CPU, increasing query durations and causing failures.
Explore
- Resolved an issue where the Cypher panel did not render correctly the first time you switched from a completed pathfinding query.
- Resolved an issue where selecting a node reset manually positioned graph nodes.
OpenGraph
- Resolved an issue where the Data Quality page could fail to load after you switched domains.
- Resolved an issue where columns in the OpenGraph Management table could be inaccessible when content wrapped.
Findings
- Resolved an issue where archived findings could return an active status from the Attack Paths findings API.
- Resolved an issue where Findings Table filters could fail for environment IDs containing characters such as
:. - Resolved a Findings Table column-header contrast regression in light and dark modes.
- Improved tooltip contrast for Attack Paths finding charts in dark mode.
- Resolved an issue where Findings Table filters overflowed when the navigation panel was expanded.