# Key Compromises (KEC)

<figure><img src="https://3935398949-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxTRnDyIanlwU7cCKcAju%2Fuploads%2FxEgVN3IyozKGocejhgxG%2FDALL%C2%B7E%202024-01-04%2012.22.34%20-%20A%20digital%20artwork%20depicting%20the%20risk%20of%20infrastructure%20access%20compromises.%20The%20image%20shows%20a%20large%2C%20intricate%20network%20of%20pipes%20and%20wires%2C%20symbolizing%20.png?alt=media&#x26;token=f3402529-5595-4152-8b53-6ad749675b27" alt=""><figcaption></figcaption></figure>

## Validator Key Custody Risk

<table><thead><tr><th width="105">ID</th><th width="140">Risk Group</th><th width="226">Risk Vectors</th><th>Risk Vector Description</th></tr></thead><tbody><tr><td>KEC1</td><td>Infrastructure</td><td>Failure to use vault system</td><td>No audit trail and controlled access to secrets</td></tr><tr><td>KEC2</td><td>People</td><td>Stolen / Lost Signing Keys (malicious internal employee)</td><td>Malicious employee deletes or steals the signing keys</td></tr><tr><td>KEC3</td><td>People</td><td>Stolen / Lost Signing Keys (malicious internal employee)</td><td>Malicious employee gets access to the unencrypted signing keys</td></tr><tr><td>KEC4</td><td>People</td><td>Stolen / Lost Signing Keys (External Hacker)</td><td>Malicious external hacker deletes signing keys</td></tr><tr><td>KEC5</td><td>People</td><td>Stolen / Lost Signing Keys (External Hacker)</td><td>Stealing the signing key from the unencrypted memory of the Web3Signer, even if keys are encrypted at rest in a vault</td></tr><tr><td>KEC6</td><td>Process</td><td>Loss of Signing Keys (Operational Failure)</td><td>Signing keys are lost in an operational process</td></tr><tr><td>KEC7</td><td>Process</td><td>Privilege escalation mechanisms not prevented</td><td>Someone with access to one service/node can increase their privileges and do more harm on further nodes.</td></tr><tr><td>KEC8</td><td>Infrastructure</td><td>Failure to protect infrastructure against physical access</td><td>Someone who gains physical access to a server can have access to locally exposed ports and can access the software API</td></tr></tbody></table>

## Withdrawal Key Custody Risk

<table><thead><tr><th width="107">ID</th><th width="134">Risk Group</th><th>Risk Vectors</th><th>Risk Vector Description</th></tr></thead><tbody><tr><td>KEC9</td><td>Process</td><td>Loss of Withdrawal Keys (Operational Failure)</td><td>Loss of Withdrawal Keys (Operational Failure)</td></tr><tr><td>KEC10</td><td>People</td><td>Stolen Withdrawal Keys (Internal Employee)</td><td>Stolen Withdrawal Keys (Internal Employee)</td></tr><tr><td>KEC11</td><td>People</td><td>Stolen Withdrawal Keys (External Hacker)</td><td>Stolen Withdrawal Keys (External Hacker)</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://duck-initiative.gitbook.io/d.u.c.k.-knowledge-base/risk-framework/risks/key-compromises-kec.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
