Personal Access Token
| action | Description | Sample | Rule |
|---|---|---|---|
| personal_ | A fine-grained personal access token was granted access to resources. | Y | Y |
| personal_ | The configured restriction for access to resources via personal access tokens was disabled. | N | N |
| personal_ | The configured restriction for access to resources via personal access tokens was enabled. | N | N |
| personal_ | The configured restriction for access to resources via personal access tokens was reset and delegated to organizations. | N | N |
| personal_ | A fine-grained personal access token was revoked. The token can still read public organization resources. | Y | Y |
| personal_ | Triggered when fine-grained personal access tokens can access organization resources without prior approval. | N | N |
| personal_ | Triggered when the organization must approve fine-grained personal access tokens before the tokens can access organization resources. | N | N |
| personal_ | Triggered when the enterprise delegates to the organizations when to require approval for fine-grained personal access tokens before the tokens can access organization resources. | N | N |
| personal_ | Triggered when you create a fine-grained personal access token. | Y | N |
| personal_ | Triggered when you regenerate a fine-grained personal access token. | Y | N |
| personal_ | A fine-grained personal access token was revoked by GitHub Advanced Security. | N | N |
| personal_ | Triggered when you delete a fine-grained personal access token. | Y | N |
| personal_ | A personal access token expiration limit was set. | Y | N |
| personal_ | A personal access token expiration limit was unset. | Y | N |
| personal_ | A pending request for a fine-grained personal access token to access organization resources was canceled. | N | N |
| personal_ | Triggered when a fine-grained personal access token was created to access organization resources and the organization requires approval before the token can access organization resources. | Y | Y |
| personal_ | A request for a fine-grained personal access token to access organization resources was denied. | N | N |
| personal_ | A fine-grained personal access token was updated. | N | N |
personal_access_token.access_granted
#Description
A fine-grained personal access token was granted access to resources.
Documented on GitHub's enterprise audit log reference. Full rule details for this event, including ATT&CK technique mappings and native queries →Example Audit Log Entry #
{
"org_id": 9000008,
"user_id": 9000031,
"actor_id": 9000031,
"token_id": 9000170,
"created_at": 1785268178962.0,
"business_id": 9000005,
"actor_is_bot": false,
"user_programmatic_access_id": 9000170,
"org": "example-org",
"user": "user",
"actor": "user",
"action": "personal_access_token.access_granted",
"actor_ip": "ip-redacted",
"business": "example-business",
"request_id": 9000171,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ip-redacted Safari/537.36",
"permissions": {
"members": "write",
"organization_administration": "write"
},
"actor_location": {
"country_code": "XX"
},
"operation_type": "create",
"repository_selection": "none",
"external_identity_nameid": "user",
"external_identity_username": "user",
"user_programmatic_access_name": "upload_automation_token"
}
Detection Rules #
Elastic #
T1098, T1098.001, T1136, T1136.003, T1528YARA-L #
T1213References #
personal_access_token.access_restriction_disabled
#Description
The configured restriction for access to resources via personal access tokens was disabled.
Documented on GitHub's enterprise audit log reference.
personal_access_token.access_restriction_enabled
#Description
The configured restriction for access to resources via personal access tokens was enabled.
Documented on GitHub's enterprise audit log reference.
personal_access_token.access_restriction_reset
#Description
The configured restriction for access to resources via personal access tokens was reset and delegated to organizations.
Documented only in GitHub's enterprise audit log reference, not the organization or user audit log pages.
personal_access_token.access_revoked
#Description
A fine-grained personal access token was revoked. The token can still read public organization resources.
Documented on GitHub's enterprise audit log reference. Full rule details for this event, including ATT&CK technique mappings and native queries →Example Audit Log Entry #
{
"org_id": 9000157,
"user_id": 9000172,
"actor_id": 9000172,
"token_id": 9000173,
"created_at": 1780348601721.0,
"business_id": 9000005,
"actor_is_bot": false,
"user_programmatic_access_id": 9000173,
"org": "example-org",
"user": "user",
"actor": "user",
"action": "personal_access_token.access_revoked",
"business": "example-business",
"request_id": 9000174,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ip-redacted Safari/537.36",
"permissions": {
"discussions": "read",
"environments": "read",
"metadata": "read",
"pages": "read",
"repository_advisories": "read",
"secret_scanning_alerts": "read"
},
"operation_type": "remove",
"repository_selection": "all",
"external_identity_nameid": "user",
"external_identity_username": "user",
"user_programmatic_access_name": "upload_automation_token"
}
Detection Rules #
Elastic #
T1531References #
personal_access_token.auto_approve_grant_requests_disabled
#Description
Triggered when fine-grained personal access tokens can access organization resources without prior approval.
Documented on GitHub's enterprise audit log reference.
personal_access_token.auto_approve_grant_requests_enabled
#Description
Triggered when the organization must approve fine-grained personal access tokens before the tokens can access organization resources.
Documented on GitHub's enterprise audit log reference.
personal_access_token.auto_approve_grant_requests_reset
#Description
Triggered when the enterprise delegates to the organizations when to require approval for fine-grained personal access tokens before the tokens can access organization resources.
Documented only in GitHub's enterprise audit log reference, not the organization or user audit log pages.
personal_access_token.create
#Description
Triggered when you create a fine-grained personal access token.
Documented on GitHub's user audit log reference.Example Audit Log Entry #
{
"@timestamp": 1772944954090,
"_document_id": "U1lOX0RPQ18wMDAwMDAwMDAwMDAyMg==",
"action": "personal_access_token.create",
"actor": "user",
"actor_id": 9000002,
"created_at": 1772944954090,
"hashed_token": "U1lOVEhFVElDX1RPS0VOX0hBU0hfMDAwMwAAAAAAAAA=",
"operation_type": "create",
"permissions_added": {
"contents": "write",
"metadata": "read"
},
"programmatic_access_type": "Fine-grained personal access token",
"repository_selection": "subset",
"request_access_security_header": null,
"request_id": "D389:153D:193A1B5:19EA448:69ACFE38",
"token_id": 9300000001,
"user": "user",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0",
"user_id": 9000002,
"user_programmatic_access_name": "upload_automation_token"
}
References #
personal_access_token.credential_regenerated
#Description
Triggered when you regenerate a fine-grained personal access token.
Documented on GitHub's user audit log reference.Example Audit Log Entry #
{
"@timestamp": 1773088564941,
"_document_id": "U1lOX0RPQ18wMDAwMDAwMDAwMDAyMw==",
"action": "personal_access_token.credential_regenerated",
"actor": "user",
"actor_id": 9000002,
"created_at": 1773088564941,
"operation_type": "modify",
"request_access_security_header": null,
"request_id": "FE0C:1C06C7:CA899E:118CD69:69AF2F2B",
"token_id": 9300000001,
"user": "user",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0",
"user_id": 9000002,
"user_programmatic_access_name": "upload_automation_token"
}
References #
personal_access_token.credential_revoked
#Description
A fine-grained personal access token was revoked by GitHub Advanced Security.
Documented on GitHub's user audit log reference.
personal_access_token.destroy
#Description
Triggered when you delete a fine-grained personal access token.
Documented on GitHub's user audit log reference.Example Audit Log Entry #
{
"@timestamp": 1780327349776,
"_document_id": "U1lOX0RPQ18wMDAwMDAwMDAwMDAyNA==",
"action": "personal_access_token.destroy",
"actor": "user",
"actor_id": 9000002,
"created_at": 1780327349776,
"explanation": "web_user",
"operation_type": "remove",
"request_access_security_header": null,
"request_id": "F1FE:66A6:12058F0C:12462B9F:6A1DA3AE",
"token_id": 9300000001,
"user": "user",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko/20100101 Firefox/151.0",
"user_id": 9000002,
"user_programmatic_access_name": "upload_automation_token"
}
References #
personal_access_token.expiration_limit_set
#Description
A personal access token expiration limit was set.
Documented on GitHub's enterprise audit log reference.Example Audit Log Entry #
{
"org_id": 9000002,
"actor_id": 9000047,
"created_at": 1781535426535.0,
"business_id": 9000005,
"actor_is_bot": false,
"token_expiration": 366.0,
"exempt_administrators": false,
"org": "example-org",
"actor": "user",
"action": "personal_access_token.expiration_limit_set",
"actor_ip": "ip-redacted",
"business": "example-business",
"request_id": 9000175,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ip-redacted Safari/537.36",
"actor_location": {
"country_code": "XX"
},
"operation_type": "modify",
"external_identity_nameid": "user",
"programmatic_access_type": "personal access tokens (classic)",
"external_identity_username": "user"
}
References #
personal_access_token.expiration_limit_unset
#Description
A personal access token expiration limit was unset.
Documented on GitHub's enterprise audit log reference.Example Audit Log Entry #
{
"org_id": 9000002,
"actor_id": 9000047,
"created_at": 1781539318657.0,
"business_id": 9000005,
"actor_is_bot": false,
"old_token_expiration": 366.0,
"org": "example-org",
"actor": "user",
"action": "personal_access_token.expiration_limit_unset",
"actor_ip": "ip-redacted",
"business": "example-business",
"request_id": 9000176,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ip-redacted Safari/537.36",
"actor_location": {
"country_code": "XX"
},
"operation_type": "remove",
"external_identity_nameid": "user",
"programmatic_access_type": "personal access tokens (classic)",
"external_identity_username": "user"
}
References #
personal_access_token.request_cancelled
#Description
A pending request for a fine-grained personal access token to access organization resources was canceled.
Documented on GitHub's enterprise audit log reference.
personal_access_token.request_created
#Description
Triggered when a fine-grained personal access token was created to access organization resources and the organization requires approval before the token can access organization resources.
Documented on GitHub's enterprise audit log reference. Field/value combinations most frequently checked by detection rules targeting this event, derived from cross-vendor predicate analysis. Full rule details for this event, including ATT&CK technique mappings and native queries →Example Audit Log Entry #
{
"org_id": 9000008,
"user_id": 9000031,
"actor_id": 9000031,
"token_id": 9000170,
"created_at": 1785268178881.0,
"business_id": 9000005,
"actor_is_bot": false,
"user_programmatic_access_id": 9000170,
"user_programmatic_access_request_id": 9000177,
"org": "example-org",
"user": "user",
"actor": "user",
"action": "personal_access_token.request_created",
"actor_ip": "ip-redacted",
"business": "example-business",
"request_id": 9000171,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ip-redacted Safari/537.36",
"actor_location": {
"country_code": "XX"
},
"operation_type": "create",
"permissions_added": {
"members": "write"
},
"permissions_upgraded": {},
"repository_selection": "none",
"permissions_unchanged": {
"organization_administration": "write"
},
"external_identity_nameid": "user",
"external_identity_username": "user",
"user_programmatic_access_name": "upload_automation_token"
}
Common Indicators #
Field Kind Value Rules Vendors graph.metadata.entity_type (Chronicle)eq IP_ADDRESS1 rule chronicle graph.metadata.product_name (Chronicle)eq GCTI Feed1 rule chronicle graph.metadata.source_type (Chronicle)eq GLOBAL_CONTEXT1 rule chronicle graph.metadata.threat.threat_feed_name (Chronicle)eq Tor Exit Nodes1 rule chronicle Detection Rules #
YARA-L #
T1098References #
personal_access_token.request_denied
#Description
A request for a fine-grained personal access token to access organization resources was denied.
Documented on GitHub's enterprise audit log reference.
personal_access_token.update
#Description
A fine-grained personal access token was updated.
Documented on GitHub's user audit log reference.