gcp-kms-escalate-via-sign
Forging a signature as a key that anchors a more-privileged identity is escalation.
match
A conjunctive graph pattern. Variables (?x) bind node ids; every clause must hold.
where
the
CanImpersonate derives from gcp-kms-sign-forge-identity (signing-key trust anchor)
?identity.privilege_level > ?principal.privilege_level
emit
| source type | Identity |
|---|---|
| target type | Identity |
| source | <principal> |
| target | <anchored identity> |
| permissions | cloudkms.cryptoKeyVersions.useToSign |
| conditions | iam_permission resource_policy key_permission trust_relationship |
| state logic | Inherits the CanImpersonate state (ACTIVE only with confirmed trust-anchor evidence; else POTENTIAL). |
Narrative
{principal.name} can escalate to {identity.name} by forging a signature with {key.name}, whose public key {identity.name} is trusted to sign with.
Raw rule rules/derived/gcp/kms.yaml
id: gcp-kms-escalate-via-sign
emits: CanEscalateTo
description: Forging a signature as a key that anchors a more-privileged identity is escalation.
match:
- - principal: null
- CanImpersonate
- identity: null
where:
- the CanImpersonate derives from gcp-kms-sign-forge-identity (signing-key trust anchor)
- ?identity.privilege_level > ?principal.privilege_level
emit:
source_type: Identity
target_type: Identity
source: <principal>
target: <anchored identity>
permissions:
- cloudkms.cryptoKeyVersions.useToSign
conditions:
- iam_permission
- resource_policy
- key_permission
- trust_relationship
state_logic: Inherits the CanImpersonate state (ACTIVE only with confirmed trust-anchor evidence; else
POTENTIAL).
confidence: min(contributing_confidences) * 0.9
derived_from:
- <CanImpersonate edge_id>
false_positive_note: "Only when the anchored identity is strictly more privileged than the caller. Same/lower-privilege\
\ is lateral, not escalation. Inherits the trust-anchor confidence \u2014 an unconfirmed anchor stays\
\ POTENTIAL."
narrative: '{principal.name} can escalate to {identity.name} by forging a signature with {key.name},
whose public key {identity.name} is trusted to sign with.'