> ## Documentation Index
> Fetch the complete documentation index at: https://zeropath.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Extensão para VS Code

> Navegue por vulnerabilidades, veja resultados de scans e aplique correções diretamente no Visual Studio Code

<h2 id="overview">
  Visão Geral
</h2>

A extensão ZeroPath Security integra a plataforma ZeroPath diretamente ao VS Code. Veja scans de segurança, navegue por vulnerabilidades e aplique patches gerados por IA sem sair do seu ambiente de desenvolvimento.

<h2 id="installation">
  Instalação
</h2>

<Steps>
  <Step title="Abrir as Extensões">
    No VS Code, pressione `Ctrl+Shift+X` (Windows/Linux) ou `Cmd+Shift+X` (macOS).
  </Step>

  <Step title="Pesquisar e Instalar">
    Pesquise por **"ZeroPath Security"** e clique em **Install**.
  </Step>

  <Step title="Começar">
    Clique no ícone da ZeroPath na Activity Bar (barra lateral esquerda) para abrir o painel de configuração.
  </Step>
</Steps>

<h3 id="prerequisites">
  Pré-requisitos
</h3>

* VS Code versão **1.74.0** ou superior
* **Git** instalado e no seu `PATH`
* Seu workspace deve ser um **repositório Git** com um remote chamado `origin`
* Visualizar scans e issues do repositório exige que a URL do remote `origin` corresponda a um repositório que foi adicionado à ZeroPath e escaneado por ela
* Uma **conta ZeroPath** com credenciais de API (obtenha em [Settings → API Tokens](https://zeropath.com/app/settings/api))

<h2 id="authentication">
  Autenticação
</h2>

1. Clique no **ícone da ZeroPath** na Activity Bar (barra lateral esquerda).
2. Clique em **"Configure Credentials"** na tela de boas-vindas.
3. Insira seu **API Token ID** e seu **API Token Secret** (obtidos no dashboard da ZeroPath em Settings → API Tokens).
4. Selecione seu **VCS provider** (GitHub, GitLab, Bitbucket ou Generic).

As credenciais são armazenadas com segurança no **Secret Storage do VS Code** (armazenamento criptografado no nível do sistema operacional — Keychain no macOS, Credential Manager no Windows, libsecret no Linux). Elas nunca são gravadas em `settings.json`.

A extensão detecta automaticamente sua organização a partir do seu token de API e associa seu workspace ao repositório ZeroPath correspondente usando a URL do seu remote Git.

<h2 id="sidebar">
  Barra Lateral
</h2>

A extensão adiciona um painel dedicado na barra lateral, acessível pelo ícone da ZeroPath na Activity Bar.

<h3 id="scans-section">
  Seção de Scans
</h3>

* Veja os **5 scans mais recentes** do seu repositório
* Filtre por tipo de scan: **Full Scans**, **PR Scans** ou **Both**
* Cada scan mostra:
  * Badge de status (completed, running, failed)
  * Contagem de issues abertas
  * Tipo de scan e timestamp
* Clique em um scan para carregar as issues associadas a ele

<h3 id="issues-section">
  Seção de Issues
</h3>

* **Pesquise** issues por título, descrição, arquivo, classe de vulnerabilidade ou severidade
* Issues ordenadas por pontuação de prioridade, depois por severidade e depois por confiança
* Cada issue mostra:
  * Título, badge de severidade (com código de cores) e status
  * Arquivo afetado e número da linha
  * Indicador de disponibilidade de patch
* Expanda qualquer issue para ver:
  * Descrição completa e orientação de remediação
  * Pontuação, severidade, confiança, CWEs
  * Trecho do código afetado
  * Diff do patch (se disponível)
  * Link para o dashboard da ZeroPath

<h3 id="severity-colors">
  Cores de Severidade
</h3>

| Nível    | Cor      |
| -------- | -------- |
| Critical | Vermelho |
| High     | Laranja  |
| Medium   | Amarelo  |
| Low      | Verde    |
| Info     | Azul     |

<h2 id="commands">
  Comandos
</h2>

Todos os comandos estão acessíveis pela **Command Palette** (`Cmd/Ctrl+Shift+P`):

| Comando                                        | Descrição                                                                       |
| ---------------------------------------------- | ------------------------------------------------------------------------------- |
| `Zeropath: Configure`                          | Configure ou atualize suas credenciais de API                                   |
| `Zeropath: Configure Zeropath Credentials`     | Atualize os tokens de API e o provedor de VCS                                   |
| `Zeropath: List Zeropath Scans (Current Repo)` | Navegue pelos scans usando o seletor da Command Palette                         |
| `Zeropath: Show Zeropath Issues (Active)`      | Veja as issues abertas do repositório atual                                     |
| `Zeropath: Apply Zeropath Patch for Issue`     | Cole e aplique um git diff bruto                                                |
| `Zeropath: View Scans`                         | Abra a visão de scans na barra lateral                                          |
| `Zeropath: Scan Active File with ZeroPath`     | Execute um scan assíncrono sob demanda do arquivo ativo                         |
| `Zeropath: Scan Active File with Context`      | Execute um scan assíncrono sob demanda do arquivo ativo com contexto extra      |
| `Zeropath: Scan Selection with ZeroPath`       | Execute um scan assíncrono sob demanda do código selecionado                    |
| `Zeropath: Scan Selection with Context`        | Execute um scan assíncrono sob demanda do código selecionado com contexto extra |
| `Zeropath: Show Async Code Scan Results`       | Reabra os resultados do scan assíncrono mais recente ou busque por ID do job    |

<h2 id="on-demand-code-scans">
  Scans de Código Sob Demanda
</h2>

Use scans assíncronos de código sob demanda quando quiser que a ZeroPath
inspecione o arquivo ou trecho em que você está trabalhando sem iniciar um scan
completo do repositório.

<Steps>
  <Step title="Abrir um arquivo salvo">
    Abra um arquivo dentro do seu workspace. Para scans de trechos, selecione o código que você quer que a ZeroPath inspecione.
  </Step>

  <Step title="Executar um comando de scan">
    Use `Zeropath: Scan Active File with ZeroPath` ou `Zeropath: Scan Selection with ZeroPath` pela Command Palette ou pelo menu de contexto do editor.
  </Step>

  <Step title="Adicionar contexto quando for útil">
    Use as variantes `with Context` quando a ZeroPath precisar saber algo que não é óbvio pelo código, como quais entradas são controladas por atacantes ou como a rota é alcançada.
  </Step>

  <Step title="Revisar os resultados">
    Os resultados são exibidos no canal de saída **ZeroPath Async Code Scan** e incluem severidade, localização do arquivo, descrição, CWE e detalhes da correção sugerida quando há achados.
  </Step>
</Steps>

Scans sob demanda usam o remote Git do seu workspace como contexto de
repositório quando ele corresponde a um repositório vinculado na ZeroPath. Se
nenhum repositório vinculado corresponder, o scan ainda é executado em modo
independente (standalone).

<h2 id="applying-patches">
  Aplicando Patches
</h2>

A extensão oferece três fluxos de trabalho para patches:

<Tabs>
  <Tab title="Aplicação com Um Clique">
    Quando um achado tem um patch gerado por IA, a visão expandida da issue mostra um botão **"Apply This Patch"** ao lado de uma prévia do diff com destaque de sintaxe. Clicar nele aplica o patch localmente via `git apply`.
  </Tab>

  <Tab title="Abrir PR">
    Se um PR de correção foi criado no seu repositório, a issue mostra um botão **"View PR"** que abre o pull request no seu navegador para revisão colaborativa.
  </Tab>

  <Tab title="Aplicação Manual">
    Use `Zeropath: Apply Zeropath Patch for Issue` pela Command Palette para colar um `git diff` bruto e aplicá-lo ao seu workspace. Útil para patches copiados do dashboard da ZeroPath.
  </Tab>
</Tabs>

<Tip>Para issues sem um patch existente, clique em **"Request Patch"** na barra lateral. A ZeroPath vai gerar uma correção no lado do servidor, e a barra lateral será atualizada quando o patch estiver pronto.</Tip>

<h2 id="configuration">
  Configuração
</h2>

Configure a extensão pelas Configurações do VS Code (`Cmd/Ctrl+,`):

| Configuração               | Padrão                    | Descrição                                                                   |
| -------------------------- | ------------------------- | --------------------------------------------------------------------------- |
| `zeropath.vcs`             | `github`                  | Provedor de VCS (github, gitlab, bitbucket, generic)                        |
| `zeropath.apiBaseUrl`      | `https://zeropath.com`    | URL base da API (altere para implantações enterprise)                       |
| `zeropath.organizationId`  | Detectado automaticamente | ID da organização (preenchido automaticamente a partir do seu token de API) |
| `zeropath.defaultScanType` | `FullScan`                | Filtro de tipo de scan padrão (FullScan ou PrScan)                          |

<h2 id="troubleshooting">
  Solução de Problemas
</h2>

<AccordionGroup>
  <Accordion title="&#x22;No workspace folder found&#x22;">
    Certifique-se de ter uma pasta aberta no VS Code com um diretório `.git` inicializado.
  </Accordion>

  <Accordion title="&#x22;Could not determine git remote URL&#x22;">
    Verifique se o seu repositório tem um remote origin: execute `git remote -v`.
  </Accordion>

  <Accordion title="&#x22;ZeroPath organization not found&#x22;">
    Verifique se suas credenciais de API estão corretas e se o seu token tem acesso a pelo menos uma organização. Defina `zeropath.organizationId` manualmente nas configurações se a detecção automática falhar.
  </Accordion>

  <Accordion title="&#x22;Failed to apply patch&#x22;">
    Certifique-se de não ter alterações não commitadas que conflitem com o patch. Tente fazer pull das alterações mais recentes primeiro.
  </Accordion>
</AccordionGroup>
