# SAM (System Acces Manager)

> **Guia completo sobre o Security Account Manager** – arquitetura, armazenamento de credenciais, proteções modernas, gerenciamento de contas locais, auditoria e melhores práticas de segurança.

***

## 🔍 Introdução

O **SAM (Security Account Manager)** é um componente crítico do sistema operacional Windows responsável por armazenar e gerenciar informações de contas de usuários e grupos **locais**. Ele atua como o banco de dados de segurança local, mantendo hashes de senhas, privilégios e políticas de segurança para autenticação no computador.

Em ambientes com Active Directory, o SAM gerencia apenas contas **locais**, enquanto o AD gerencia contas de domínio. No entanto, mesmo em computadores ingressos em domínio, o SAM continua sendo essencial para:

* Conta de administrador local
* Recuperação de sistemas
* Autenticação quando o controlador de domínio não está acessível
* Serviços e aplicações que rodam com credenciais locais

***

## 🏗️ Arquitetura do SAM

### 2.1 Localização Física e Estrutura no Registro

O banco de dados SAM está armazenado no registro do Windows, especificamente no hive:

```
HKEY_LOCAL_MACHINE\SAM
```

Este hive é **altamente protegido**. Mesmo com privilégios administrativos, o acesso direto ao conteúdo é restrito, pois o sistema operacional mantém o hive montado com permissões especiais que só permitem acesso via chamadas de sistema autorizadas.

**Arquivo físico do hive:**

```
%SystemRoot%\System32\config\SAM
```

### 2.2 Componentes Associados

| Componente          | Localização      | Função                                                             |
| ------------------- | ---------------- | ------------------------------------------------------------------ |
| **SAM (hive)**      | `HKLM\SAM`       | Banco de dados de contas locais                                    |
| **SECURITY (hive)** | `HKLM\SECURITY`  | Políticas de segurança locais e cache de credenciais               |
| **SYSTEM (hive)**   | `HKLM\SYSTEM`    | Chave de inicialização (boot key) usada para descriptografar o SAM |
| **LSASS**           | `lsass.exe`      | Processo que gerencia autenticação e acesso ao SAM                 |
| **LSAIso.exe**      | Processo isolado | Usado pelo Credential Guard para isolar segredos                   |

### 2.3 Estrutura do Banco de Dados SAM

```
HKLM\SAM\SAM\
├── Domains\
│   ├── Account\
│   │   ├── Users\
│   │   │   ├── 000001F4 (Administrador - RID 500)
│   │   │   ├── 000001F5 (Convidado - RID 501)
│   │   │   ├── 000001F7 (DefaultAccount - RID 503)
│   │   │   └── ... (demais RIDs de usuários)
│   │   ├── Groups\
│   │   │   └── ... (grupos locais)
│   │   └── Aliases\
│   │       └── ... (alias de grupos)
│   └── Builtin\
│       └── Aliases\ (grupos built-in como Administradores, Usuários)
└── RXACT\ (transações pendentes)
```

### 2.4 RIDs (Relative Identifiers)

Cada conta local possui um **RID (Relative Identifier)** único dentro do computador. O RID, combinado com o SID do computador, forma o SID completo da conta.

| RID     | Conta/Grupo    | Descrição                                                      |
| ------- | -------------- | -------------------------------------------------------------- |
| **500** | Administrator  | Conta de administrador local padrão                            |
| **501** | Guest          | Conta de convidado (desabilitada por padrão)                   |
| **502** | KRBTGT         | Conta de serviço Kerberos (apenas em controladores de domínio) |
| **503** | DefaultAccount | Conta gerenciada pelo sistema (DSMA)                           |
| **512** | Domain Admins  | Grupo de administradores de domínio (apenas em DCs)            |
| **544** | Administrators | Grupo de administradores local (built-in)                      |
| **545** | Users          | Grupo de usuários local                                        |

### 2.5 Estrutura de Registro por Usuário

Cada usuário possui duas chaves principais dentro de sua subchave (nomeada com o RID em hexadecimal):

* **F (Fixed)**: Armazena informações de metadados, SID, privilégios e configurações do usuário.
* **V (Variable)**: Armazena os hashes de senha (criptografados) e informações de logon.

***

## 🔐 Armazenamento de Senhas no SAM

### 3.1 Formatos de Hash: LM e NTLM

O SAM armazena hashes de senhas em diferentes formatos, dependendo da configuração do sistema:

| Formato            | Descrição                                                                                                             | Status                                                   |
| ------------------ | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **LM (LanMan)**    | Hash fraco baseado em DES; limitado a 14 caracteres, case-insensitive; converte senhas para maiúsculas antes do hash. | Desabilitado por padrão desde Windows Vista/Server 2008. |
| **NTLM (NT Hash)** | Hash baseado em MD4 (não MD5); suporta senhas longas e preserva case sensitivity. É o padrão atual.                   | Ativo por padrão.                                        |

### 3.2 Cálculo do Hash NTLM

O hash NTLM é calculado da seguinte forma:

```
NT_HASH = MD4(UTF-16LE(senha))
```

Onde:

* `UTF-16LE` converte a senha para Unicode little-endian
* `MD4` é o algoritmo de hash (não MD5)

### 3.3 Estrutura do Hash no Registro

Os hashes estão armazenados na subchave `V` de cada usuário, **criptografados** com uma chave derivada do **boot key** (chave de inicialização) do sistema. A chave de inicialização é gerada durante a instalação do Windows e armazenada no hive `SYSTEM`, especificamente nas subchaves:

```
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\JD\Skew1
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\JD\Data
```

### 3.4 Proteção do Hive SAM

Quando o sistema está offline, o arquivo `SAM` é criptografado. A descriptografia requer:

1. O hive `SYSTEM` para obter a boot key
2. A boot key para descriptografar o SAM

Isso significa que, para extrair hashes do SAM, um atacante precisa de **ambos** os arquivos:

* `%SystemRoot%\System32\config\SAM`
* `%SystemRoot%\System32\config\SYSTEM`

***

## 🔑 Autenticação Local com SAM

### 4.1 Fluxo de Autenticação

```mermaid
sequenceDiagram
    participant U as Usuário
    participant W as Winlogon
    participant L as LSASS
    participant S as SAM
    participant R as Registro

    U->>W: Insere credenciais
    W->>L: Captura e valida
    L->>S: Consulta hash armazenado
    S->>R: Acessa hive SAM
    R-->>S: Retorna hash
    S-->>L: Hash armazenado
    L->>L: Compara hashes
    alt Hashes correspondem
        L-->>W: Logon autorizado
        W-->>U: Acesso concedido
    else Hashes não correspondem
        L-->>W: Logon negado
        W-->>U: Mensagem de erro
    end
```

### 4.2 Cache de Credenciais

Para permitir logons quando o controlador de domínio (ou o SAM em cenários específicos) não está disponível, o Windows mantém um cache de hashes de credenciais. Este cache é armazenado no hive `SECURITY`:

```
HKLM\SECURITY\Cache
```

Por padrão, o Windows armazena até **10 credenciais** em cache (configurável via GPO). Este cache permite que usuários de domínio façam logon mesmo quando o controlador de domínio está inacessível, usando a última senha válida em cache.

***

## 🛡️ Proteções Modernas do Windows

### 5.1 Credential Guard

**Credential Guard** é uma proteção baseada em virtualização (Virtualization-Based Security - VBS) que isola segredos de autenticação do sistema operacional em execução.

#### Como funciona:

O Credential Guard usa o **hypervisor** para criar um ambiente isolado (Virtual Secure Mode - VSM) onde o processo `LSAIso.exe` (LSA Isolated) executa. Este ambiente é separado do kernel principal, protegendo:

* Hashes NTLM
* Kerberos Ticket Granting Tickets (TGTs)
* Credenciais armazenadas por aplicações como credenciais de domínio

#### Requisitos de hardware e software:

| Requisito                               | Descrição                                                |
| --------------------------------------- | -------------------------------------------------------- |
| **Virtualization-Based Security (VBS)** | Deve estar habilitado                                    |
| **Secure Boot**                         | Necessário para integridade do ambiente de inicialização |
| **TPM (recomendado)**                   | Fornece binding ao hardware                              |
| **UEFI Lock (recomendado)**             | Impede desativação por alteração de registro             |

#### Suporte por edição do Windows:

| Edição               | Suporte a Credential Guard              |
| -------------------- | --------------------------------------- |
| Windows Pro          | ❌ Não                                   |
| Windows Enterprise   | ✅ Sim                                   |
| Windows Education    | ✅ Sim                                   |
| Windows Server 2025+ | ✅ Sim (para servidores que não são DCs) |

#### Default Enablement (Windows 11 22H2+ / Server 2025+):

A partir dessas versões, o Credential Guard é **habilitado por padrão** em dispositivos que atendem aos requisitos:

* Licenciamento adequado
* Requisitos de hardware e software atendidos
* Não explicitamente desabilitado

#### Aplicações que podem ser afetadas:

O Credential Guard bloqueia certas funcionalidades de autenticação:

* **Bloqueadas**: Kerberos DES, delegação irrestrita, extração de TGT, NTLMv1
* **Risco elevado**: Digest authentication, delegação de credenciais, MS-CHAPv2, CredSSP

> ⚠️ **Importante**: O Credential Guard **não protege** o banco de dados Active Directory (em controladores de domínio) nem o SAM (para contas locais). A proteção se aplica apenas às credenciais em uso durante a sessão.

### 5.2 LSA Protection (RunAsPPL)

A LSA Protection (também conhecida como RunAsPPL - Protected Process Light) impede que processos não autorizados acessem ou injetem código no LSASS.

**Configuração:**

```registry
HKLM\SYSTEM\CurrentControlSet\Control\Lsa
RunAsPPL = 1 (DWORD)
```

**Efeitos:**

* Processos não protegidos não podem abrir handles para LSASS com acesso de leitura/escrita
* Ferramentas como `mimikatz` têm funcionalidade reduzida (não conseguem acessar segredos em memória)

### 5.3 User Account Control (UAC) e Filtro de Token

O UAC é um componente de segurança que reduz o risco de execução não autorizada de ações administrativas.

#### Admin Approval Mode:

Quando ativado, as contas administrativas executam com um **token filtrado** (usuário padrão) até que uma elevação de privilégio seja explicitamente aprovada.

#### Proteção contra logons remotos:

Por padrão, o UAC aplica filtro de token para logons de rede:

* O `LocalAccountTokenFilterPolicy` (registry) controla se administradores locais mantêm privilégios administrativos em conexões de rede
* Valor `0` (padrão) força o filtro de token, removendo privilégios administrativos em logons de rede
* Valor `1` permite acesso administrativo remoto (não recomendado para segurança)

***

## 👥 Contas de Usuário Locais Padrão

### 6.1 Administrator (RID 500)

A conta de administrador local é a conta mais privilegiada no computador.

**Características:**

* **SID**: `S-1-5-<domain>-500`
* **Membro do grupo**: Administrators (built-in)
* **Não pode ser excluída**, mas pode ser desabilitada ou renomeada
* **Não pode ser removida** do grupo Administrators

**Segurança:**

* Desabilitada por padrão em instalações modernas do Windows (a primeira conta criada no setup é membro do grupo Administrators, mas não é a conta `Administrator` propriamente dita)
* Mesmo desabilitada, a conta é ativada no modo de segurança

### 6.2 Guest (RID 501)

A conta de convidado permite acesso temporário com privilégios mínimos.

**Características:**

* **SID**: `S-1-5-<domain>-501`
* **Desabilitada por padrão**
* Senha em branco (desabilitada)

**Segurança:**

* Deve permanecer desabilitada
* Se habilitada, é considerada um risco de segurança significativo

### 6.3 DefaultAccount (RID 503)

A DefaultAccount, também conhecida como **Default System Managed Account (DSMA)**, é uma conta gerenciada pelo sistema.

**Características:**

* **SID**: `S-1-5-21-<ComputerIdentifier>-503`
* **Membro do grupo**: System Managed Accounts Group (`S-1-5-32-581`)
* **Desabilitada por padrão** nas edições desktop

**Finalidade:**

* Executar aplicações multi-usuário (MUMA apps) que precisam rodar independentemente do usuário logado
* Usada em cenários como Xbox, Phone e dispositivos de uso compartilhado

**Recomendação:**

* Não alterar a configuração padrão (desabilitada)

### 6.4 HelpAssistant

A conta HelpAssistant é criada e gerenciada automaticamente para sessões de **Remote Assistance**.

**Características:**

* Criada temporariamente quando uma sessão de Remote Assistance é iniciada
* Desabilitada automaticamente quando não há solicitações pendentes
* Gerenciada pelo serviço `Remote Desktop Help Session Manager`

### 6.5 Contas de Sistema: SYSTEM, NETWORK SERVICE, LOCAL SERVICE

| Conta               | SID        | Descrição                                                                                                               |
| ------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
| **SYSTEM**          | `S-1-5-18` | Conta interna com privilégios máximos. Usada pelo kernel e serviços críticos. Não aparece no gerenciamento de usuários. |
| **NETWORK SERVICE** | `S-1-5-20` | Conta com privilégios mínimos localmente, mas apresenta as credenciais do computador em rede.                           |
| **LOCAL SERVICE**   | `S-1-5-19` | Conta com privilégios mínimos localmente e credenciais anônimas na rede.                                                |

***

## 📊 Auditoria e Monitoramento

### 7.1 Evento 4624: Logon Bem-Sucedido

O evento **4624** é gerado quando uma sessão de logon é criada com sucesso. É um dos eventos mais importantes para monitoramento de segurança.

**Estrutura do evento (versão 2 - Windows 10+):**

| Campo                         | Descrição                                                      |
| ----------------------------- | -------------------------------------------------------------- |
| **SubjectUserSid**            | SID da conta que reportou o logon (geralmente SYSTEM)          |
| **TargetUserSid**             | SID da conta que realizou o logon                              |
| **TargetUserName**            | Nome da conta que realizou o logon                             |
| **LogonType**                 | Tipo de logon (ver tabela abaixo)                              |
| **LogonProcessName**          | Processo que processou o logon (ex.: User32, Advapi, Kerberos) |
| **AuthenticationPackageName** | Pacote de autenticação (NTLM, Kerberos, Negotiate)             |
| **WorkstationName**           | Nome da estação de trabalho de origem                          |
| **IpAddress**                 | Endereço IP de origem                                          |
| **ElevatedToken**             | Se o token é elevado (privilégios administrativos)             |
| **VirtualAccount**            | Se a conta é uma conta gerenciada (MSA/gMSA)                   |
| **RestrictedAdminMode**       | Se o logon remoto usou Restricted Admin Mode (Windows 8.1+)    |

**Logon Types (tabela completa):**

| Tipo | Nome                    | Descrição                                               |
| ---- | ----------------------- | ------------------------------------------------------- |
| 0    | System                  | Apenas conta SYSTEM, usado na inicialização             |
| 2    | Interactive             | Logon físico no console                                 |
| 3    | Network                 | Logon via rede (SMB, etc.)                              |
| 4    | Batch                   | Logon para tarefas em lote (programadas)                |
| 5    | Service                 | Inicialização de serviço                                |
| 7    | Unlock                  | Desbloqueio de estação de trabalho                      |
| 8    | NetworkCleartext        | Logon de rede com senha em texto claro                  |
| 9    | NewCredentials          | Logon com credenciais diferentes para conexões de saída |
| 10   | RemoteInteractive       | Logon via RDP/Terminal Services                         |
| 11   | CachedInteractive       | Logon interativo com credenciais em cache               |
| 12   | CachedRemoteInteractive | Logon remoto com credenciais em cache                   |
| 13   | CachedUnlock            | Desbloqueio com credenciais em cache                    |

### 7.2 Outros Eventos de Segurança Críticos

| ID do Evento | Descrição                           | Importância                                  |
| ------------ | ----------------------------------- | -------------------------------------------- |
| **4625**     | Logon com falha                     | Identifica tentativas de força bruta         |
| **4648**     | Logon com credenciais explícitas    | Execução com credenciais diferentes          |
| **4672**     | Atribuição de privilégios especiais | Logon administrativo                         |
| **4720**     | Criação de conta de usuário         | Nova conta local criada                      |
| **4722**     | Ativação de conta                   | Conta desativada foi ativada                 |
| **4723**     | Alteração de senha                  | Alerta para alterações não autorizadas       |
| **4724**     | Reset de senha                      | Administrador alterou senha de outro usuário |
| **4725**     | Desativação de conta                | Conta foi desabilitada                       |
| **4726**     | Remoção de conta                    | Conta excluída                               |
| **4732**     | Adição a grupo local                | Membro adicionado ao grupo Administradores   |
| **4733**     | Remoção de grupo local              | Membro removido de grupo administrativo      |

***

## ⚠️ Vulnerabilidades e Ataques Comuns

### 8.1 Dumping do SAM

A extração dos hashes do SAM é uma técnica comum para obtenção de credenciais.

**Métodos comuns:**

```powershell
# Usando reg.exe (requer privilégios SYSTEM)
reg save HKLM\SAM C:\SAM.save
reg save HKLM\SYSTEM C:\SYSTEM.save

# Usando mimikatz (requer privilégios elevados)
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" "exit"
```

**Mitigações:**

* Credential Guard
* LSA Protection (RunAsPPL)
* Monitoramento de acesso aos arquivos `SAM` e `SYSTEM`

### 8.2 Pass-the-Hash e Overpass-the-Hash

| Ataque                | Descrição                                                                               | Mitigação                                                        |
| --------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **Pass-the-Hash**     | Uso do hash NTLM extraído para autenticar em outros serviços sem a senha em texto plano | Credential Guard, auditoria de logons, restrição de logon remoto |
| **Overpass-the-Hash** | Uso do hash NTLM para obter um ticket Kerberos (TGT) e depois autenticar                | Credential Guard, monitoramento de eventos 4768/4769             |

### 8.3 Golden Ticket / Silver Ticket

Estes ataques são específicos de ambientes de domínio (Active Directory) e não se aplicam diretamente ao SAM, mas são relevantes em contexto de segurança corporativa:

| Ataque            | Descrição                                            | Mitigação                                                                    |
| ----------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Golden Ticket** | Criação de TGT forjado usando o hash da conta KRBTGT | Proteger KRBTGT, monitorar eventos 4768, alterar senha KRBTGT periodicamente |
| **Silver Ticket** | Criação de TGS forjado para um serviço específico    | Proteger contas de serviço, usar gMSA, monitorar eventos 4769                |

***

## ✅ Boas Práticas de Segurança

### 9.1 Gerenciamento de Contas Administrativas Locais

| Prática                                      | Descrição                                                         |
| -------------------------------------------- | ----------------------------------------------------------------- |
| **Desabilitar a conta Administrator**        | A conta padrão deve permanecer desabilitada                       |
| **Renomear a conta Administrator**           | Dificulta ataques, mas não impede (SID é conhecido)               |
| **Usar contas padrão para tarefas diárias**  | Evitar uso de contas administrativas para navegação, e-mail, etc. |
| **Limitar membros do grupo Administradores** | Manter o número de administradores locais mínimo                  |

### 9.2 Proteção contra Movimento Lateral

**Restringir logon remoto de contas administrativas locais:**

Através de Política de Grupo, configure:

| Configuração                                      | Caminho                                                                                                 | Valor                                                        |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| **Deny access to this computer from the network** | Computer Configuration → Windows Settings → Security Settings → Local Policies → User Rights Assignment | Adicionar `Local account and member of Administrators group` |
| **Deny log on through Remote Desktop Services**   | Mesmo caminho                                                                                           | Adicionar `Local account and member of Administrators group` |

**UAC Remote Restrictions:**

Garanta que `LocalAccountTokenFilterPolicy` esteja configurado como `0`:

```registry
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
LocalAccountTokenFilterPolicy = 0 (DWORD)
```

### 9.3 Local Administrator Password Solution (LAPS)

O **LAPS (Local Administrator Password Solution)** é uma ferramenta da Microsoft que gerencia senhas de contas de administrador local em computadores ingressos em domínio.

**Funcionalidades:**

* Gera senhas aleatórias e complexas
* Armazena as senhas no Active Directory (atributo `ms-Mcs-AdmPwd`)
* Rotaciona senhas periodicamente
* Permite acesso auditado por administradores autorizados

**Requisitos:**

* Active Directory (Windows Server 2003+)
* Gerenciamento de Políticas de Grupo

### 9.4 Backup e Recuperação do SAM

**Backup automático:** O Windows realiza backup automático do SAM através do **System Restore** e do **Registro**. Os arquivos de backup estão em:

```
%SystemRoot%\System32\config\RegBack\
```

{% stepper %}
{% step %}

### 1. Inicialize com a mídia de instalação do Windows

Inicie o computador usando a mídia de instalação do Windows.
{% endstep %}

{% step %}

### 2. Acesse o prompt de recuperação

Abra o prompt de recuperação com `Shift+F10`.
{% endstep %}

{% step %}

### 3. Substitua os arquivos corrompidos pelos backups

```cmd
copy C:\Windows\System32\config\RegBack\SAM C:\Windows\System32\config\SAM
copy C:\Windows\System32\config\RegBack\SYSTEM C:\Windows\System32\config\SYSTEM
```

{% endstep %}

{% step %}

### 4. Reinicie o sistema

Reinicie o computador após a substituição dos arquivos.
{% endstep %}
{% endstepper %}

> ⚠️ **Nota**: Em sistemas modernos com Windows 10/11, o `RegBack` pode não conter backups completos por padrão. É recomendado configurar backups manuais ou via ferramentas de backup do sistema.

***

## ⚖️ SAM vs Active Directory

| Aspecto                | SAM                                | Active Directory                     |
| ---------------------- | ---------------------------------- | ------------------------------------ |
| **Escopo**             | Computador local                   | Domínio / Floresta                   |
| **Armazenamento**      | Registro local (`HKLM\SAM`)        | Banco de dados NTDS.DIT              |
| **Autenticação**       | Local (NTLM, credenciais em cache) | Centralizada via Kerberos / NTLM     |
| **Gerenciamento**      | Local (lusrmgr.msc, PowerShell)    | Centralizado (ADUC, PowerShell, GPO) |
| **Replicação**         | Não                                | Sim (entre controladores de domínio) |
| **Políticas de senha** | Locais (secpol.msc)                | Domain-wide (GPO)                    |
| **Proteção avançada**  | Credential Guard, LSA Protection   | AD DS Security, Group Policies, LAPS |
| **Recuperação**        | Backup local, RegBack              | Backups de controladores de domínio  |

***

## 📚 Referências

### Documentação Oficial Microsoft

* [Microsoft Docs: Security Account Manager (SAM)](https://learn.microsoft.com/en-us/windows/security/identity-protection/access-control/security-account-manager)
* [Microsoft Docs: Local Accounts](https://learn.microsoft.com/en-us/windows/security/identity-protection/access-control/local-accounts)
* [Microsoft Docs: Credential Guard Overview](https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard)
* [Microsoft Docs: Configure LSA Protection](https://learn.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection)
* [Microsoft Docs: Event 4624 (Successful Logon)](https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4624)
* [Microsoft Docs: Local Administrator Password Solution (LAPS)](https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-overview)

### Segurança e Melhores Práticas

* [Microsoft Security Compliance Toolkit](https://www.microsoft.com/en-us/download/details.aspx?id=55319)
* [CIS Benchmarks for Windows](https://www.cisecurity.org/cis-benchmarks/)
* [NIST Special Publication 800-53: Security and Privacy Controls](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)


---

# 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://0xmorte.gitbook.io/bibliadopentestbr/conceitos/ambientes/windows/sam-system-acces-manager.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.
