> ## Documentation Index
> Fetch the complete documentation index at: https://specterops-bp-2735-release-notes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GH_MemberOf

> Team role is a member of a team, or team is a nested member of a parent team

<img noZoom src="https://mintcdn.com/specterops-bp-2735-release-notes/2djt2Sp9UeFPjBFr/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=2djt2Sp9UeFPjBFr&q=85&s=a791748158fde5ff3b3b82b51497ab39" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## Edge Schema

* Source: [GH\_TeamRole](/opengraph/extensions/github/nodes/gh_teamrole), [GH\_Team](/opengraph/extensions/github/nodes/gh_team)
* Destination: [GH\_Team](/opengraph/extensions/github/nodes/gh_team)
* Traversable: ✅

## General Information

The traversable GH\_MemberOf edge represents team membership, linking a team role to its parent team or a child team to a parent team in nested team hierarchies. This edge is traversable because team membership extends access transitively -- a user who holds a role in a child team inherits the repository permissions of all ancestor teams in the nesting hierarchy, making it a key component of attack path analysis.

```mermaid theme={null}
graph LR
    teamRole1("GH_TeamRole security-team\\maintainer")
    teamRole2("GH_TeamRole appsec-team\\member")
    childTeam("GH_Team appsec-team")
    parentTeam("GH_Team security-team")
    teamRole1 -- GH_MemberOf --> parentTeam
    teamRole2 -- GH_MemberOf --> childTeam
    childTeam -- GH_MemberOf --> parentTeam
```
