Teste Prático do GitHub Advanced Security
### O que é CodeQL?
> https://codeql.github.com/
1. [x] Uma ferramenta de análise de código
1. [ ] Uma linguagem de programação
1. [ ] Um editor de texto
1. [ ] Um sistema de controle de versões
### O que significa `deslocar para a esquerda` no contexto de Segurança?
> https://github.com/readme/guides/github-advanced-security-telus
1. [x] Adotar práticas de segurança no início do ciclo de desenvolvimento
1. [ ] Escrever código em uma linguagem comumente utilizada
1. [ ] Incorporar práticas de segurança logo antes da produção
1. [ ] Escrever código sem se preocupar com segurança
### O que são os Avisos de Segurança de Repositório?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories
1. [x] Um espaço privado onde os mantenedores do repositório podem discutir vulnerabilidades e problemas de segurança no código.
1. [ ] Especialistas em segurança do GitHub que ajudam os usuários do GitHub Enterprise com seus problemas de segurança.
1. [ ] Uma lista de problemas de segurança que estão publicamente disponíveis para qualquer pessoa ver e evitar.
1. [ ] Um lugar para reunir e discutir publicamente questões de segurança na comunidade de código aberto.
### Qual ferramenta ajuda você a manter as dependências do repositório atualizadas?
> https://docs.github.com/en/code-security/dependabot
1. [x] Dependabot
1. [ ] Security Advisories
1. [ ] CodeQL
1. [ ] GitHub Actions
### Qual das opções a seguir é uma lista curada de vulnerabilidades de segurança encontradas em projetos de código aberto?
> https://docs.github.com/pt/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database
1. [x] GitHub Advisory Database
1. [ ] CodeQL
1. [ ] Dependabot
1. [ ] GitHub Security Journal
### Quais desses recursos de segurança do GitHub estão disponíveis GRATUITAMENTE para repositórios pessoais públicos e privados? (Escolha quatro.)
> https://docs.github.com/en/code-security/getting-started/github-security-features
- [x] Política de Segurança
- [x] Avisos de segurança
- [x] Alertas do Dependabot e atualizações de segurança
- [x] Atualizações de versão do Dependabot
- [ ] Varredura de código do Dependabot
> Dependabot não é uma ferramenta para varredura de código, é uma ferramenta para gerenciamento de dependências
- [ ] Varredura de segredos do Dependabot
> Dependabot não é uma ferramenta para varredura de segredos, é uma ferramenta para gerenciamento de dependências
- [ ] Varredura de segredos
> A varredura de segredos está disponível para repositórios públicos e para organizações com uma licença do GitHub Advanced Security. Não está disponível para repositórios pessoais privados.
- [ ] Varredura de código
> A varredura de código está disponível para repositórios públicos e para organizações com uma licença do GitHub Advanced Security. Não está disponível para repositórios pessoais privados.
### Qual das opções abaixo melhor descreve o secret scanning?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] Secret scanning verifica seu repositório em busca de segredos, como chaves privadas ou tokens.
1. [ ] Secret scanning verifica seu repositório em busca de possíveis vulnerabilidades no código que possam expor segredos, como chaves privadas ou tokens.
1. [ ] Secret scanning é uma ferramenta para armazenamento e gerenciamento seguro de segredos.
1. [ ] Secret scanning é um git hook que verifica seus commits em busca de segredos, como chaves privadas ou tokens, antes de serem enviados para o GitHub.
### Quais partes do repositório são verificadas pela varredura de segredos? (Escolha duas.)
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
- [x] Todo o histórico git em todos os ramos do repositório
- [x] Títulos, descrições e comentários em issues históricas abertas e fechadas
- [ ] Segredos do repositório do GitHub
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository
- [ ] Segredos de ambiente do GitHub
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-environment
- [ ] Todo o histórico git em todos os ramos protegidos do repositório
### Qual é o propósito do programa de parceria de varredura de segredos?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-partner-program
1. [x] Os provedores de serviços podem fazer parceria com o GitHub para que o formato de seus segredos seja reconhecido pela varredura de segredos do GitHub.
1. [ ] O programa de parceria do GitHub permite que empresas e organizações com licença do GitHub Advanced Security usem a varredura de segredos do GitHub para escanear seus repositórios.
1. [ ] O GitHub faz parceria com empresas de segurança externas para fornecer varredura de segredos para repositórios do GitHub.
1. [ ] É um programa em que profissionais de segurança registrados podem, de boa fé, relatar ao GitHub quaisquer segredos que encontrarem em repositórios do GitHub e serem recompensados por isso.
### Repositórios públicos pertencentes a usuários pessoais, bem como repositórios públicos pertencentes a organizações, podem usar a verificação de segredos gratuitamente.
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] Verdadeiro
1. [ ] Falso
### Como evitar que commits contendo credenciais de provedores de nuvem sejam enviados para o GitHub?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations
1. [x] Ativar uma regra de proteção contra envio de segredos para o seu repositório ou organização.
1. [ ] Incluir um arquivo `.gitignore` no seu repositório que ignore arquivos contendo segredos.
1. [ ] Criar uma GitHub Action que irá escanear seus commits em busca de segredos antes de serem enviados para o GitHub.
1. [ ] Ativar uma regra de proteção de branch para o seu repositório.
### Qual das seguintes opções é verdadeira sobre o programa de parceiros de verificação de segredos do GitHub? (Escolha três.)
> https://docs.github.com/pt/code-security/secret-scanning/secret-scanning-partner-program
- [x] É um programa no qual os provedores de serviços podem fornecer ao GitHub os padrões regex dos segredos que emitem, para que o GitHub Secret Scanning possa reconhecê-los.
- [x] Quando o GitHub identifica um segredo de um provedor de serviços parceiro, ele notifica o provedor de serviços sobre o segredo vazado.
- [x] O parceiro pode tomar medidas ao receber notificações do GitHub sobre um segredo vazado, como revogar o segredo e informar o proprietário do segredo comprometido.
- [ ] Ele concede ao parceiro acesso à API de verificação de segredos do GitHub para que o provedor de serviços possa verificar repositórios do GitHub em busca de segredos que correspondam ao seu formato.
> O GitHub é sempre responsável por executar a verificação de segredos, não o parceiro.
- [ ] O GitHub tem a capacidade de revogar automaticamente segredos vazados e notificar o provedor de serviços que eles foram invalidados pelo GitHub.
> O GitHub não participa da revogação de segredos vazados; o provedor de serviços tem a opção de fazê-lo.
### Como você pode excluir certos diretórios ou arquivos da varredura de segredos?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] Criando um arquivo `secret_scanning.yml` e incluindo os caminhos que não devem ser verificados
1. [ ] Não é possível excluir arquivos e/ou diretórios específicos de serem verificados. Uma vez que você habilita a varredura de segredos para um repositório, todos os arquivos e diretórios serão verificados.
1. [ ] Incluindo esses arquivos no arquivo `.gitignore`
1. [ ] Criando um arquivo `dependabot.yml` e incluindo os caminhos que não devem ser verificados
### Você incluiu alguns segredos falsos no seu código de teste e eles foram detectados pela varredura de segredos do GitHub. O que você pode fazer para informar ao GitHub que esses são segredos falsos usados em testes e podem ser ignorados pela varredura de segredos? (Escolha duas opções.)
> https://docs.github.com/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/excluding-folders-and-files-from-secret-scanning
- [x] Criar um arquivo `secret_scanning.yml` no qual você declara os caminhos onde os segredos falsos estão localizados, para que as varreduras os omitam
- [x] Fechar o Alerta de Varredura de Segredos com o motivo de fechamento `Usado em testes`
- [ ] Adicionar no seu arquivo de teste um comentário `#gh_ignore: fake secret` na linha onde o segredo falso está localizado.
- [ ] Criar um arquivo `.github/codeql.yml` no qual você declara os caminhos onde os segredos falsos estão localizados, para que as varreduras os omitam
### Você acidentalmente cometeu seu token de acesso pessoal do GitHub em um repositório público. Quais ações você deve tomar para evitar que sua conta seja comprometida?
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning#securing-compromised-secrets
1. [x] Considere o token comprometido e exclua-o imediatamente
1. [ ] Altere as permissões do token para somente leitura
1. [ ] Sobrescreva o histórico do git para ocultar o token
1. [ ] Verifique se este token é usado em algum de seus aplicativos, se sim - exclua-o.
### Qual é o comportamento quando um novo padrão de segredo é adicionado ou atualizado no programa de parceiros de verificação de segredos do GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#accessing-secret-scanning-alerts
1. [x] O GitHub fará uma varredura de todo o conteúdo de código histórico em repositórios públicos com a verificação de segredos habilitada
1. [ ] O GitHub somente procurará pelo novo padrão em commits recém enviados em repositórios com a verificação de segredos habilitada. Se um segredo desse padrão já estava presente no repositório, ele não será detectado.
1. [ ] O parceiro do GitHub deve lidar com os segredos vazados historicamente e o GitHub apenas verificará novos commits para o novo padrão
1. [ ] O GitHub criará um problema em todos os repositórios com a verificação de segredos habilitada para que os mantenedores possam verificar o repositório em busca de segredos correspondentes ao novo padrão
### Quem será notificado quando um NOVO segredo for enviado e detectado em um repositório? (Escolha cinco.)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#incremental-scans
- [x] Administradores do repositório
- [x] Gerentes de segurança
- [x] Usuários com funções personalizadas com acesso de leitura/escrita
- [x] Proprietários da organização e proprietários corporativos, mas apenas se forem administradores de repositórios onde os segredos foram vazados
- [x] Autores do commit
- [ ] Todos com acesso de escrita ao repositório
- [ ] Todos os proprietários da organização e proprietários corporativos
### Quando o GitHub realiza uma verificação de todo o código histórico nos repositórios da empresa, qual é o comportamento de notificação? (Selecione duas opções.)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#historical-scans
- [x] O GitHub notifica os proprietários da empresa e os gerentes de segurança, mesmo que nenhum segredo seja encontrado.
- [x] O GitHub notifica os administradores do repositório, os gerentes de segurança e os usuários com funções personalizadas com acesso de leitura/gravação sempre que um segredo for detectado em um repositório.
- [ ] O GitHub notifica os proprietários da empresa e os gerentes de segurança, somente se detectar segredos expostos.
- [ ] O GitHub notifica os autores dos commits que contêm segredos expostos.
### O GitHub utiliza o mesmo conjunto de padrões de varredura de segredos tanto para alertas de usuário quanto para alertas de proteção de push?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
1. [x] Não, são conjuntos diferentes de padrões de segredos
1. [ ] Sim, é o mesmo conjunto de padrões de segredos
> Existem três conjuntos diferentes de padrões de varredura de segredos. Eles se sobrepõem, mas não são os mesmos.
### Quais são os três conjuntos diferentes de padrões de varredura de segredos mantidos pelo GitHub? (Selecione três.)
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
- [x] Padrões de parceiros
- [x] Padrões de alerta do usuário
- [x] Padrões de proteção de push
- [ ] Padrões de alerta empresarial
- [ ] Padrões de alerta de código aberto
- [ ] Padrões de provedores de nuvem
### Vários repositórios públicos aos quais você contribui não possuem a opção de proteção contra envio de segredos habilitada. O que você pode fazer para se proteger de acidentalmente enviar segredos para esses repositórios?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-users#about-push-protection-for-users
1. [x] Habilitar `Proteção contra envio para você mesmo`, nas configurações de sua conta pessoal do GitHub
1. [ ] Baixar o plugin da web de proteção contra envio do GitHub
1. [ ] Não é possível, a proteção contra envio deve ser habilitada no nível do repositório, organização ou empresa
1. [ ] Adicionar os arquivos contendo segredos ao arquivo `.gitignore` em todos os repositórios
### Sua empresa possui segredos internos que não devem ser enviados para repositórios do GitHub. O padrão desses segredos não é conhecido pelo GitHub e, portanto, não é detectado pela verificação de segredos. O que as empresas podem fazer para proteger seus desenvolvedores de acidentalmente enviar esses segredos para repositórios na organização do GitHub?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization
1. [x] Definir padrões Regex para esses segredos e habilitar padrões personalizados para a verificação de segredos na organização.
1. [ ] A empresa deve participar do programa de parceiros do GitHub para que o padrão dos segredos da empresa seja reconhecido.
> O programa de parceiros do GitHub é destinado a provedores de serviços que distribuem segredos fora de sua organização (ex: provedores de nuvem). Ele não é destinado a segredos internos de uma única organização.
1. [ ] Definir fluxos de trabalho personalizados do GitHub Actions para os repositórios na organização que irão verificar esses segredos.
1. [ ] Incluir em todos os repositórios um arquivo `secret_scanning.yml`, que definirá esses segredos personalizados que devem ser verificados.
> O arquivo `secret_scanning.yml` pode ser usado para desativar a verificação de segredos para arquivos ou diretórios específicos.
### Que informações os alertas do Dependabot fornecem?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] Os alertas do Dependabot informam que seu repositório usa um pacote que é inseguro.
1. [ ] Os alertas do Dependabot informam que seu repositório está sendo usado por outros repositórios públicos.
1. [ ] Os alertas do Dependabot informam que seu repositório utiliza uma versão não testada de um pacote.
1. [ ] Os alertas do Dependabot informam que seu repositório utiliza uma versão desatualizada de um pacote.
> O Dependabot faz isso com atualizações de versão, mas não com alertas.
### O que é o gráfico de dependências do GitHub?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph
1. [x] É uma representação das dependências e dependentes de um repositório.
1. [ ] Não existe nada como o gráfico de dependências do GitHub.
1. [ ] É uma ferramenta que propõe automaticamente atualizações de versão para dependências em um repositório.
1. [ ] É uma lista mantida pelo GitHub de vulnerabilidades conhecidas em pacotes de software de código aberto.
### O gráfico de dependências do GitHub está disponível gratuitamente para todos os repositórios?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependency-graph-availability
1. [x] Sim, está disponível gratuitamente para todos os repositórios.
1. [ ] Não, está disponível gratuitamente apenas para repositórios públicos. Repositórios privados podem usá-lo se tiverem a licença do GitHub Advanced Security.
### Como o gráfico de dependências do GitHub sabe quais dependências seu projeto está utilizando? (Escolha duas.)
> https://docs.github.com/pt/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems
- [x] O GitHub deriva automaticamente as dependências de manifests e arquivos de bloqueio comprometidos no repositório
- [x] As dependências podem ser adicionadas manualmente usando a API de envio de dependências
- [ ] O GitHub analisa o código do repositório em busca de declarações de importação de pacotes externos
- [ ] É necessário adicionar um fluxo de trabalho do GitHub Actions que use a Action oficial `actions/dependency-graph` para adicionar dependências ao gráfico sempre que um novo commit for enviado ao repositório
### Quando o gráfico de dependências do GitHub para o seu repositório será atualizado? (Escolha duas.)
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security#what-is-the-dependency-graph
- [x] Quando alguém faz um push de uma alteração para o repositório de uma das suas dependências.
- [x] Quando você faz um push de um commit para o branch padrão do repositório, somente se isso alterar ou adicionar um manifest/lockfile suportado.
- [ ] Quando você faz um push de qualquer commit para o branch padrão do repositório.
- [ ] Quando seu repositório publica um novo release.
- [ ] Quando seu repositório publica uma nova tag git.
- [ ] Quando o fluxo de trabalho do GitHub Actions que utiliza a GitHub Action `actions/dependency-graph` é acionado.
### Em que formato você pode exportar o gráfico de dependência do GitHub do seu repositório?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository
1. [x] SPDX
1. [ ] YAML
1. [ ] JSON
1. [ ] XML
1. [ ] CSV
### Seu repositório pode usar o Gráfico de Dependências sem usar os Alertas do Dependabot?
> https://docs.github.com/pt/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] Sim
1. [ ] Não
> Você pode usar o Gráfico de Dependências sem usar os Alertas do Dependabot. No entanto, você não pode usar os Alertas do Dependabot com o Gráfico de Dependências desativado.
### Qual recurso é um pré-requisito para usar os Alertas do Dependabot em um repositório?
> https://docs.github.com/pt/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] Gráfico de dependências
1. [ ] Revisão de dependências
1. [ ] Atualizações de segurança de dependências
1. [ ] Atualizações de versão de dependências
### Quais dessas afirmações sobre os Alertas do Dependabot são verdadeiras? (Escolha três.)
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
- [x] Eles dependem parcialmente do Banco de Dados de Consultoria do GitHub
- [x] Para habilitar os Alertas do Dependabot, é necessário primeiro ativar o Gráfico de Dependências no repositório
- [x] Quando o GitHub identifica uma dependência vulnerável, ele gera um alerta do Dependabot e o exibe na aba Segurança do repositório
- [ ] Os Alertas do Dependabot estão habilitados por padrão para todos os repositórios
- [ ] Os Alertas do Dependabot estão habilitados por padrão para todos os repositórios públicos
- [ ] Os alertas do Dependabot informam que seu repositório usa uma versão desatualizada de um pacote
### Quais são os principais benefícios do recurso Visão Geral de Segurança no GitHub?
> https://docs.github.com/en/code-security/security-overview/about-security-overview
1. [x] Visualização centralizada de alertas de segurança e gerenciamento de políticas em uma organização
1. [ ] Revisão automática de código para cada push
1. [ ] Detecção de ameaças em tempo real
1. [ ] Atualizações automáticas de dependências
### O que é o CodeQL?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] Um mecanismo de análise de código desenvolvido pelo GitHub
1. [ ] Uma nova linguagem de programação para análise de segurança
1. [ ] Um banco de dados usado para armazenar resultados de análise de código
1. [ ] Uma ferramenta de terceiros para análise estática de código
### O que os alertas do Dependabot indicam no GitHub?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#about-dependabot-alerts
1. [x] A presença de uma dependência vulnerável ou malware no seu repositório
1. [ ] Dependências desatualizadas que precisam ser atualizadas
1. [ ] Erros nos arquivos de configuração de dependências
1. [ ] Conflitos entre diferentes dependências
### Qual é o propósito da verificação de código no GitHub?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] Identificar vulnerabilidades e erros no código
1. [ ] Verificar formatação e estilo do código
1. [ ] Revisar pull requests automaticamente
1. [ ] Sincronizar o código com os servidores de produção
### A verificação de segredos está disponível tanto para repositórios públicos quanto privados no GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] Sim, mas para repositórios privados, é necessário uma licença do GitHub Advanced Security
1. [ ] Sim, sem requisitos adicionais
1. [ ] Não, está disponível apenas para repositórios públicos
1. [ ] Não, está disponível apenas para repositórios privados
### O que a configuração padrão de análise CodeQL no GitHub faz?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] Escolhe automaticamente as linguagens para análise, o conjunto de consultas a serem executadas e os eventos que acionam as varreduras
1. [ ] Requer manualmente que os usuários especifiquem linguagens e consultas para cada varredura
1. [ ] Escaneia o código apenas mensalmente
1. [ ] Exige a instalação separada de ferramentas de escaneamento de terceiros
### Qual é o principal propósito de usar a CLI do CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli#about-the-codeql-cli
1. [x] Gerar uma representação de banco de dados de um código-fonte, um banco de dados CodeQL.
1. [ ] Gerenciar configurações e permissões do repositório.
1. [ ] Agendar tarefas regulares de manutenção em um repositório.
1. [ ] Mesclar automaticamente pull requests.
### Como o CodeQL analisa o código no GitHub?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] Ele gera um banco de dados CodeQL e executa consultas para identificar problemas, exibindo os resultados como alertas de varredura de código
1. [ ] Ele usa aprendizado de máquina para prever possíveis vulnerabilidades com base em commits anteriores
1. [ ] Ele realiza revisões manuais de código enviadas por membros da comunidade do GitHub
1. [ ] Ele depende exclusivamente de ferramentas de terceiros para análise de código
### Como o CodeQL pode ser usado em um sistema CI externo junto com repositórios do GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] Executar a CLI do CodeQL no sistema CI externo para escanear o código e carregar os resultados no repositório do GitHub
1. [ ] O CodeQL não pode ser usado em sistemas CI externos; é exclusivo para GitHub Actions
1. [ ] Carregar o código-fonte no GitHub para análise e depois baixar os resultados para uso no sistema CI
1. [ ] Executar o CodeQL manualmente localmente e enviar os resultados por e-mail para os administradores do repositório GitHub
### Qual dessas afirmações não é verdadeira sobre a verificação de segredos no GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] A verificação de segredos é uma ferramenta para armazenamento seguro e gerenciamento de segredos.
1. [ ] A verificação de segredos verificará todo o histórico do Git em todos os branches presentes no seu repositório GitHub em busca de segredos.
1. [ ] A verificação de segredos analisará títulos, descrições e comentários, em issues históricas abertas e fechadas em busca de segredos.
1. [ ] A verificação de segredos pode impedir que segredos suportados sejam enviados para sua enterprise, organização ou repositório.
### Quais chaves de nível superior são necessárias no arquivo `dependabot.yml`?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file
1. [x] `version` e `updates`
1. [ ] `version` e `package-ecosystem`
1. [ ] `assignees` e `directory`
1. [ ] `updates` e `directory`
### Qual GitHub Action pode ser usada para fazer upload de um arquivo SARIF de terceiros?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] `github/codeql-action/upload-sarif`
1. [ ] `codeql-upload-sarif`
1. [ ] `github/codeql-action`
1. [ ] `actions/upload-sarif`
### Qual ferramenta pode ser usada em um sistema de CI de terceiros para enviar resultados de análise de código para o GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] CodeQL CLI
1. [ ] CodeQL API
1. [ ] GitHub Actions `github/codeql-action`
1. [ ] GitHub CLI
### O que é necessário para um servidor de CI carregar resultados SARIF no GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#generating-a-token-for-authentication-with-github
1. [x] Um aplicativo GitHub ou token de acesso pessoal com permissão de gravação em `security_events`.
1. [ ] Uma conexão direta com o Banco de Dados de Consultoria do GitHub.
1. [ ] Acesso de administrador ao repositório do GitHub.
1. [ ] Um plugin especial instalado no sistema CI.
### O que acontece quando um segundo arquivo de resultados SARIF é enviado ao GitHub para um único commit?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#uploading-your-results-to-github
1. [x] Ele substitui o conjunto de dados original.
1. [ ] Ele adiciona os resultados ao arquivo existente.
1. [ ] Ele cria um novo branch no repositório.
1. [ ] Ele é ignorado pelo GitHub.
### Como os usuários podem excluir diretórios específicos dos alertas de verificação de segredos no GitHub?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] Configurando um arquivo `secret_scanning.yml` no caminho `.github` do repositório.
1. [ ] Através da aba `Security` do repositório, no menu `Secret scanning`.
1. [ ] Através da aba `Settings` do repositório, no menu `Code security and analysis`.
1. [ ] Editando o arquivo `README.md` do repositório.
### Qual chave deve ser usada em um arquivo `secret_scanning.yml` para excluir diretórios dos alertas de verificação de segredos no GitHub?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] `paths-ignore:`
1. [ ] `paths-exclude:`
1. [ ] `ignore-directories`
1. [ ] `exclude-paths:`
### Qual é o número máximo de padrões personalizados que podem ser definidos para a varredura de segredos no GitHub?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#about-custom-patterns-for-secret-scanning
1. [x] 500 para organizações/empresas e 100 para repositórios.
1. [ ] 100 para organizações/empresas e 500 para repositórios.
1. [ ] 100 para organizações, empresas e repositórios.
1. [ ] Não há limite para o número de padrões personalizados que você pode definir para a varredura de segredos no GitHub.
### Preencha o espaço em branco: `O GitHub __________ é um recurso que você pode usar para analisar o código em um repositório do GitHub para encontrar vulnerabilidades de segurança e erros de codificação.`
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code Scanning
1. [ ] Dependency Graph
1. [ ] Security Advisories
1. [ ] Vulnerability Detection
### Qual recurso do GitHub Advanced Security permite que você encontre, categorize e priorize correções para problemas novos e existentes em seu código?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code scanning
1. [ ] Alertas do Dependabot
1. [ ] Políticas de segurança
1. [ ] Avisos de segurança
### Como você pode configurar seu repositório no GitHub para executar a análise CodeQL em um cronograma? (Escolha duas.)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning#about-default-setup
- [x] Criando um fluxo de trabalho do GitHub Actions com um gatilho `schedule`. O fluxo de trabalho deve utilizar ações do repositório `github/codeql-action`.
- [x] Usando a configuração padrão de análise CodeQL.
- [ ] Definindo a propriedade `codeql.trigger` nas configurações do repositório como `schedule`.
- [ ] Adicionando uma propriedade `schedule` ao arquivo de configuração `.github/codeql.yml`.
- [ ] Solicitando ao suporte do GitHub a ativação da análise CodeQL agendada para o repositório.
### Se você não quiser usar o GitHub Actions, pode executar a análise de código em um sistema de CI externo e, em seguida, enviar os resultados para o GitHub.
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] Verdadeiro
1. [ ] Falso
### Ao usar um sistema de CI de terceiros para executar a análise de código, qual ferramenta do GitHub você precisa para analisar a base de código?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] Você não precisa especificamente de uma ferramenta do GitHub, qualquer ferramenta de análise estática que possa produzir resultados no formato SARIF funcionará.
1. [ ] Você precisa instalar a ferramenta de Análise de Código do GitHub.
1. [ ] Você precisa instalar o CodeQL CLI.
1. [ ] Você precisa instalar o GitHub CLI.
### Ao usar o GitHub Actions como seu sistema de CI e uma ferramenta de terceiros para executar a análise de código, como você pode fazer o upload dos resultados SARIF para o GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] Usando a ação do GitHub `github/codeql-action/upload-sarif`
1. [ ] Quando usa o GitHub Actions, os resultados SARIF são enviados automaticamente para o GitHub.
1. [ ] Você só pode usar CodeQL ao executar a análise de código no GitHub Actions. Ferramentas de terceiros para análise de código não são suportadas.
1. [ ] Usando a ação do GitHub `actions/upload-artifact`
### Você pode usar a análise CodeQL com sistemas de CI de terceiros?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system
1. [x] Sim, você só precisa usar o CodeQL CLI
1. [ ] Não, porque é necessário usar a GitHub Action `github/codeql-action`
### Ao usar a análise CodeQL no seu fluxo de trabalho do GitHub Actions, com que frequência a verificação é acionada?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] A verificação de código pode ser acionada para muitos eventos diferentes que acontecem no repositório.
1. [ ] A verificação de código é acionada a cada push no repositório.
1. [ ] A verificação de código é acionada em uma programação configurável.
1. [ ] A verificação de código pode ser acionada em uma programação configurável ou em pull requests.
### A análise com CodeQL suporta:
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] Tanto linguagens compiladas quanto interpretadas
1. [ ] Apenas linguagens compiladas
1. [ ] Apenas linguagens interpretadas
1. [ ] Todas as linguagens de programação
### Para que são usadas as consultas CodeQL?
> https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/
1. [x] As consultas CodeQL podem ser executadas em um banco de dados CodeQL para identificar padrões que podem indicar erros de codificação ou vulnerabilidades de segurança.
1. [ ] As consultas CodeQL analisam sua base de código e são usadas para criar um banco de dados CodeQL.
1. [ ] As consultas CodeQL são usadas para revisão de código no GitHub.
1. [ ] As consultas CodeQL são perguntas baseadas em texto que você pode fazer ao mecanismo CodeQL sobre sua base de código.
### O que é QL?
> https://codeql.github.com/docs/ql-language-reference/about-the-ql-language/
1. [x] QL é uma linguagem de consulta que fundamenta o CodeQL
1. [ ] QL significa Quality Level e é uma métrica usada pelo CodeQL
1. [ ] QL é um produto similar ao CodeQL, mas é usado para escanear arquivos de texto em vez de código
1. [ ] QL é um pacote npm usado pelo CodeQL para escanear código
### O que é um conjunto de consultas CodeQL?
> https://docs.github.com/en/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#about-codeql-query-suites
1. [x] O conjunto CodeQL é uma coleção de consultas CodeQL
1. [ ] O conjunto CodeQL é uma coleção de bancos de dados CodeQL
1. [ ] O conjunto CodeQL é uma coleção de resultados CodeQL
1. [ ] O conjunto CodeQL é uma coleção de linguagens suportadas pelo CodeQL
### Quais são os diferentes tipos de pacotes CodeQL? (Escolha três.)
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
- [x] Pacotes de consultas
- [x] Pacotes de bibliotecas
- [x] Pacotes de modelos
- [ ] Pacotes de código
- [ ] Pacotes de linguagem
- [ ] Pacotes de vulnerabilidade
### O que é um pacote de consultas CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
1. [x] É um conjunto de consultas pré-compiladas com todas as dependências transitivas, como bibliotecas e modelos
1. [ ] É uma biblioteca usada por consultas CodeQL
1. [ ] É uma coleção de consultas CodeQL
> Isso é um conjunto de consultas CodeQL
1. [ ] É um conjunto de resultados gerados no processo de análise de um banco de dados CodeQL
### Quais são as etapas do fluxo de trabalho de análise do CodeQL?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#codeql-analysis
1. [x] Criar um banco de dados CodeQL -> Executar consultas CodeQL -> Interpretar os resultados
1. [ ] Executar consultas CodeQL -> Criar um banco de dados CodeQL -> Interpretar os resultados
1. [ ] Executar consultas CodeQL -> Interpretar os resultados
1. [ ] Criar um banco de dados CodeQL -> Interpretar os resultados -> Executar consultas CodeQL
### O que é extração no contexto da análise de código CodeQL?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
1. [x] Extração é o processo de criar uma representação relacional de cada arquivo-fonte na base de código.
1. [ ] Extração é a ação de executar consultas CodeQL em um banco de dados CodeQL e extrair os resultados.
1. [ ] Extração é o processo de criar consultas CodeQL específicas para a base de código.
1. [ ] Extração é o processo de exportar dados de um banco de dados CodeQL.
### Quais dessas afirmações são verdadeiras em relação à execução da análise do CodeQL em bases de código com múltiplas linguagens de programação? (Escolha duas.)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] O CodeQL usa um extrator diferente para cada linguagem de programação
- [x] O CodeQL cria bancos de dados separados para cada linguagem de programação
- [ ] O CodeQL cria um único banco de dados para todas as linguagens de programação na base de código, desde que sejam suportadas pelo CodeQL
- [ ] O esquema do banco de dados do CodeQL é o mesmo para cada linguagem de programação
### Quais são as diferenças ao executar a criação de banco de dados CodeQL para linguagens compiladas e interpretadas? (Escolha duas.)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] Para linguagens compiladas, a extração funciona monitorando o processo de compilação. Todas as informações são coletadas cada vez que o compilador é invocado para processar um arquivo fonte.
- [x] Para linguagens interpretadas, o extrator é executado diretamente no código fonte.
- [ ] Para linguagens interpretadas, a extração funciona monitorando o processo de compilação. Todas as informações são coletadas cada vez que o interpretador é invocado para processar um arquivo fonte.
- [ ] Para linguagens compiladas, o extrator é executado diretamente no código fonte.
- [ ] Para linguagens compiladas, o extrator é executado no arquivo executável.
- [ ] Para linguagens interpretadas, o extrator é executado no arquivo executável.
### Onde você pode ver quando foi executada a última análise do CodeQL ao usar a configuração padrão de varredura de código?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning#evaluating-code-scanning-with-the-tool-status-page
1. [x] Na página de status da ferramenta de varredura de código
1. [ ] Em insights do repositório
1. [ ] Na aba do Dependabot
1. [ ] Você não pode ver essa informação com a configuração padrão
### Quais das seguintes afirmações sobre habilitar a configuração padrão do CodeQL scanning são verdadeiras? (Escolha três.)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
- [x] Você pode habilitar a configuração padrão para todos os repositórios elegíveis em uma organização de uma só vez nas configurações da organização
- [x] O GitHub Actions precisa estar habilitado como pré-requisito
- [x] Você pode habilitar a configuração padrão em qualquer repositório, independentemente do conteúdo do repositório
- [ ] Você só pode habilitar a configuração padrão em repositórios que contenham pelo menos uma linguagem suportada pelo CodeQL
> Se você habilitar a configuração padrão em um repositório que não inclua nenhuma linguagem suportada pelo CodeQL, a configuração padrão não executará nenhuma análise
- [ ] A configuração padrão analisará o repositório em uma programação que você pode configurar. Para análise baseada em eventos, você precisa configurar um fluxo de trabalho do GitHub Action
> A configuração padrão inclui análise agendada e análise de pull request/push nos branches padrão e protegidos
- [ ] Você só pode usar o conjunto de consultas padrão com a configuração padrão do CodeQL scanning
### Como você pode personalizar sua configuração avançada de varredura do CodeQL com suítes de consultas adicionais do CodeQL? (Escolha duas.)
> https://docs.github.com/pt/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning
- [x] Usando um arquivo de configuração personalizado e definindo consultas adicionais nele
- [x] Definindo as personalizações no fluxo de trabalho do GitHub Actions de análise do CodeQL como parâmetros de entrada para a ação `github/codeql-action/init`
- [ ] Usando a CLI do CodeQL com um arquivo de configuração personalizado para executar a análise
- [ ] Definindo as personalizações nas configurações do repositório em Segurança / Varredura de código
- [ ] Usando a ação do GitHub `github/codeql-customizations`
### Ao executar a análise do CodeQL no GitHub Actions, quais Ações você deve usar? (Escolha três.)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#about-the-codeql-analysis-workflow-and-compiled-languages
- [x] `github/codeql-action/init`
- [x] `github/codeql-action/analyze`
- [x] `github/codeql-action/autobuild` apenas para linguagens de programação compiladas
- [ ] `github/codeql-action/autobuild`
- [ ] `github/codeql-action/init` apenas para linguagens de programação compiladas
- [ ] `github/codeql-action/analyze` apenas para linguagens de programação interpretadas
### Como você pode usar um arquivo de configuração personalizado do CodeQL em um fluxo de trabalho do GitHub Actions?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-a-custom-configuration-file
1. [x] Fornecendo explicitamente o caminho do arquivo de configuração no parâmetro de entrada `config-file` da ação `github/codeql-action/init`
1. [ ] Armazenando a configuração no arquivo `.github/codeql/config-config.yml`. A ação `github/codeql-action/init` detectará automaticamente o arquivo e o usará
1. [ ] Fazendo upload desse arquivo na seção Code Scanning da aba Segurança no repositório
1. [ ] Armazenando a configuração no arquivo `.github/workflows/codeql-analysis.yml`. A ação `github/codeql-action/init` detectará automaticamente o arquivo e o usará
### Qual é o objetivo do parâmetro `external-repository-token` na GitHub Action `github/codeql-action/init`?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-queries-in-ql-packs
1. [x] Permite que a action acesse um repositório privado do GitHub que contém arquivos de configuração, consultas ou pacotes necessários para a análise.
1. [ ] Permite que a action envie os resultados da análise para um repositório privado do GitHub.
1. [ ] Permite que a action acesse um repositório privado do GitHub que contém o código-fonte a ser analisado.
1. [ ] Permite que a action envie o banco de dados gerado pelo CodeQL para um repositório privado do GitHub.
### Qual comando do CodeQL CLI é usado para criar um banco de dados CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create
1. [x] `codeql database create`
1. [ ] `gh codeql-database create`
1. [ ] `ql database generate`
1. [ ] `qlcli database create`
### Qual é o propósito do comando `codeql database analyze` no CodeQL CLI?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#running-codeql-database-analyze
1. [x] Analisar um banco de dados CodeQL, produzindo resultados geralmente no formato de um arquivo SARIF.
1. [ ] Analisar um banco de dados CodeQL, produzindo resultados geralmente no formato de recomendações de segurança.
1. [ ] Analisar o código-fonte, produzindo um banco de dados CodeQL.
1. [ ] Analisar um banco de dados CodeQL e enviar os resultados para o GitHub.
> Os resultados não são enviados para o GitHub, um comando separado é usado para isso.
### Quais dessas afirmações sobre visualizar os resultados de uma análise CodeQL são verdadeiras? (Escolha duas.)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository
- [x] Você precisa de permissão de escrita para visualizar um resumo de todos os alertas de um repositório na aba Segurança.
- [x] Qualquer pessoa com permissão de leitura para um repositório pode ver anotações de varredura de código em pull requests.
- [ ] Você precisa de permissão de escrita para visualizar anotações de varredura de código em pull requests.
- [ ] Qualquer pessoa com permissão de leitura para um repositório pode visualizar alertas de varredura de código na aba Segurança.
- [ ] Apenas o proprietário do repositório pode ver os alertas de varredura de código na aba Segurança.
### Quando um workflow de análise CodeQL no GitHub Actions detecta uma nova vulnerabilidade em um pull request, onde você pode encontrar as informações sobre essa vulnerabilidade?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests#about-code-scanning-results-on-pull-requests
1. [x] Diretamente no pull request, na forma de um comentário no PR e uma falha de verificação
1. [ ] Na aba de segurança do repositório
1. [ ] Nos logs de execução do workflow
1. [ ] O workflow de análise CodeQL falhará e produzirá um artefato com os resultados
### Ao visualizar um alerta de varredura de código, para que serve a opção `Mostrar caminhos`?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository
1. [x] Ele exibirá o caminho pelo código que leva ao problema que causou o alerta.
1. [ ] É usado para mostrar os caminhos para as consultas CodeQL que foram usadas para encontrar a vulnerabilidade.
1. [ ] Ele mostrará recomendações sobre como corrigir a vulnerabilidade.
1. [ ] É usado para mostrar o caminho do arquivo para o banco de dados CodeQL que foi usado para encontrar a vulnerabilidade.
### O que significa descartar um alerta de análise de código?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#dismissing--alerts1. [x] Resposta Correta de Escolha Única
1. [x] Encerrar um alerta que você acha que não precisa ser corrigido
1. [ ] Encerrar o alerta após corrigir a vulnerabilidade no código
### Qual dessas NÃO é uma abordagem válida que se pode adotar para reduzir o tempo que o fluxo de trabalho de análise do CodeQL leva para ser concluído?
> https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/analysis-takes-too-long
1. [x] Executar a análise em cada evento de push
1. [ ] Usar runners com mais recursos de CPU/RAM
1. [ ] Paralelizar a análise para bases de código multilíngues
1. [ ] Ignorar arquivos e diretórios irrelevantes na análise
1. [ ] Reduzir o número de consultas que são executadas
### Qual é o propósito de definir uma categoria SARIF?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#uploading-more-than-one-sarif-file-for-a-commit
1. [x] Usar a categoria para distinguir entre múltiplas análises para a mesma ferramenta ou commit, mas realizadas em diferentes linguagens ou em diferentes partes do código.
1. [ ] Usar a categoria para distinguir arquivos que foram analisados de arquivos que não foram analisados.
1. [ ] Usar a categoria para distinguir arquivos que contêm vulnerabilidades de arquivos que não contêm vulnerabilidades.
1. [ ] Usar uma categoria diferente para cada arquivo que foi analisado para rastrear facilmente as vulnerabilidades nos arquivos que as contêm.
### Como você pode habilitar os recursos do GitHub Advanced Security no GitHub Enterprise Server? (Escolha duas.)
> https://docs.github.com/en/[email protected]/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise
- [x] Na aba Segurança do console de gerenciamento do administrador do site
- [x] Conectando-se diretamente à instância do GitHub Enterprise Server via SSH e usando os comandos do shell administrativo `ghe-config`.
- [ ] Solicitando uma atualização ao Suporte do GitHub
- [ ] Configurando a opção `github.advanced_security.enabled` para `true` no arquivo `config.yml` no diretório `/etc/github` na instância do GitHub Enterprise Server.
- [ ] Configurando a opção `github.advanced_security.enabled` para `true` no arquivo `config.yml` no repositório `.github`.
### Como você pode habilitar os recursos do GitHub Advanced Security para todos os repositórios em uma organização no GitHub Enterprise Cloud?
> https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] Na seção `Code security and analysis` das configurações da organização
1. [ ] Conectando-se diretamente à instância do GitHub Enterprise Cloud via SSH e usando os comandos do shell administrativo `ghe-config`.
> Essa é uma opção ao usar o GitHub Enterprise Server
1. [ ] Solicitando uma atualização ao suporte do GitHub
1. [ ] Na página de administração do site da sua conta empresarial
### O que é uma política de segurança do GitHub?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] É um documento que instrui os usuários sobre como relatar vulnerabilidades de segurança de forma responsável em um projeto. Geralmente é definido em um arquivo `SECURITY.md` em um repositório.
1. [ ] É uma ferramenta para corrigir automaticamente vulnerabilidades de segurança no seu código.
1. [ ] É um recurso que permite criptografar seu repositório.
1. [ ] Uma política de segurança do GitHub é um serviço de assinatura que oferece proteção contra vírus para seus projetos.
### Como você pode definir uma política de segurança padrão para todos os repositórios na Organização GitHub `my-org`?
> https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file#supported-file-types
1. [x] Criando um arquivo `SECURITY.md` no repositório `my-org/.github`
1. [ ] Editando a política de segurança nas configurações de `Code Security and analysis` da organização
1. [ ] Políticas de segurança padrão só podem ser definidas pelo suporte do GitHub
1. [ ] Você pode definir uma política de segurança padrão para todos os repositórios na Organização GitHub `my-org` adicionando um arquivo `SECURITY.md` a cada repositório individual.
### Qual endpoint da API pode ser usado para recuperar uma lista de todos os alertas do Dependabot para uma empresa?
> https://docs.github.com/en/rest/dependabot/alerts?apiVersion=2022-11-28#list-dependabot-alerts-for-an-enterprise
1. [x] `GET /enterprises/{enterprise}/dependabot/alerts`
1. [ ] `GET /orgs/{org}/dependabot/alerts`
> Esse é um endpoint correto para uma organização, mas não para uma empresa
1. [ ] `GET /repos/{owner}/{repo}/dependabot/alerts`
> Esse é um endpoint correto para um repositório, mas não para uma empresa
1. [ ] `GET /github/{enterprise}/dependabot/alerts`
### Qual endpoint da API pode ser usado para recuperar uma lista de todos os alertas de varredura de segredos para uma organização?
> https://docs.github.com/en/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28#list-secret-scanning-alerts-for-an-organization
1. [x] `GET /orgs/{org}/secret-scanning/alerts`
1. [ ] `GET /enterprises/{enterprise}/secret-scanning/alerts`
> Esse é um endpoint correto para uma empresa, mas não para uma organização.
1. [ ] `GET /repos/{owner}/{repo}/secret-scanning/alerts`
> Esse é um endpoint correto para um repositório, mas não para uma organização.
1. [ ] `GET /github/{org}/secret-scanning/alerts`
### Qual endpoint da API pode ser usado para recuperar uma lista de todos os alertas de análise de código para um repositório?
> https://docs.github.com/en/rest/code-scanning/code-scanning?apiVersion=2022-11-28#list-code-scanning-alerts-for-a-repository
1. [x] `GET /repos/{owner}/{repo}/code-scanning/alerts`
1. [ ] `GET /orgs/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /{enterprise}/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /github/{repo}/code-scanning/alerts`
### O que são as atualizações de segurança do Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates
1. [x] É um recurso do Dependabot que cria automaticamente pull requests para atualizar dependências vulneráveis no seu repositório.
1. [ ] É um recurso do Dependabot que cria uma lista de dependências vulneráveis no seu repositório.
1. [ ] É um recurso do Dependabot que gera alertas quando uma vulnerabilidade de segurança é detectada em uma de suas dependências.
> Esses são alertas do Dependabot. As atualizações de segurança do Dependabot são baseadas nesses alertas.
1. [ ] É um recurso do Dependabot que cria automaticamente pull requests para atualizar dependências no seu repositório quando uma nova versão é lançada.
> Essas são atualizações de versão do Dependabot.
### Os Alertas do Dependabot estão habilitados por padrão em:
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] Os Alertas do Dependabot não estão habilitados por padrão em nenhum repositório.
1. [ ] Apenas repositórios públicos.
> O GitHub detecta dependências vulneráveis em repositórios públicos e exibe o gráfico de dependências, mas não gera alertas do Dependabot por padrão.
1. [ ] Todos os repositórios.
1. [ ] Apenas repositórios privados.
### Quem pode ativar alertas do Dependabot em um repositório?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] Proprietários do repositório e pessoas com acesso de administrador
1. [ ] Apenas o proprietário do repositório
1. [ ] Os alertas do Dependabot são ativados em todos os repositórios pelo GitHub e não podem ser desativados ou ativados por qualquer indivíduo.
1. [ ] Os alertas do Dependabot são ativados adicionando uma GitHub Action ao repositório, então qualquer pessoa com acesso de escrita ao repositório pode ativá-los.
### Qual é o nível de acesso mínimo necessário para visualizar alertas do Dependabot em um repositório dentro de uma organização?
> https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#access-requirements-for-security-features
1. [x] Gravar
1. [ ] Leitura
1. [ ] Manutenção
1. [ ] Triagem
1. [ ] Administração
### Para ativar os Alertas Dependabot em todos os repositórios de uma organização, você deve:
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts#enabling-or-disabling-dependabot-alerts-for-all-existing-repositories
1. [x] Ir para as configurações de `Code security and analysis` da organização e ativar os Alertas Dependabot para todos os repositórios de uma vez.
1. [ ] Tornar todos os repositórios da organização privados.
1. [ ] Em todos os repositórios da organização - executar a GitHub Action `actions/enable-ghas` com o parâmetro `alerts` configurado como `true`.
1. [ ] Criar um script que ativará os Alertas Dependabot em todos os repositórios da organização.
### Qual destas é uma configuração válida para o arquivo `dependabot.yml`?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
1. [x]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
config:
- directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "everyday"
```
1. [ ]
```yaml
version: 2
config:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
### Qual dessas não é um canal suportado pelo GitHub para receber alertas do Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts#configuring-notifications-for-dependabot-alerts
1. [x] SMS/Chamada
1. [ ] Inbox de notificações no github.com
1. [ ] GitHub Mobile
1. [ ] GitHub CLI
> Avisos são exibidos como callbacks quando você envia para repositórios com quaisquer dependências inseguras
1. [ ] Email
### O que são as regras de auto-triagem do Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] É um recurso que permite ao Dependabot descartar automaticamente alertas do Dependabot que correspondam a determinados critérios.
1. [ ] As regras de auto-triagem são definidas no arquivo de configuração `dependabot.yml` para especificar quais gerenciadores de pacotes devem ser usados para verificar vulnerabilidades no seu projeto.
1. [ ] As regras de auto-triagem do Dependabot são usadas para excluir automaticamente dependências antigas em seu projeto.
1. [ ] As regras de auto-triagem definem com que frequência o Dependabot deve verificar vulnerabilidades em seu projeto.
### Como automatizar a dispensa de alertas de baixa gravidade do Dependabot?
> https://docs.github.com/pt/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] Usando as regras de triagem automática do Dependabot.
1. [ ] Configurando o campo `severity` no arquivo `dependabot.yml` como alto
1. [ ] Removendo todas as dependências que causam alertas de baixa gravidade
1. [ ] Configurando o campo `dismiss-severity` no arquivo `dependabot.yml` como baixo
### Para ativar as atualizações de segurança do Dependabot em todos os repositórios de uma organização, você deve:
> https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] Acesse as configurações de `Segurança de código e análise` da organização e ative as Atualizações de Segurança do Dependabot para todos os repositórios de uma vez.
1. [ ] Tornar todos os repositórios da organização privados.
1. [ ] Executar a ação do GitHub `actions/enable-ghas` com o parâmetro `security-updates` definido como `true` em todos os repositórios da organização.
1. [ ] Criar um script que habilite as Atualizações de Segurança do Dependabot em todos os repositórios da organização.
### A ferramenta que verifica se um pull request introduz dependências com vulnerabilidades de segurança é chamada:
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review
1. [x] Dependency Review
1. [ ] Dependabot Alerts
1. [ ] Dependabot Security Updates
1. [ ] Dependabot Version Updates
### Você precisa habilitar o GitHub Actions para
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#about-dependabot-version-updates
1. [x] Revisão de Dependências
1. [ ] Atualizações de Segurança do Dependabot
1. [ ] Atualizações de Versão do Dependabot
1. [ ] Todas essas
> O GitHub Actions não é necessário para que as atualizações de versão do Dependabot e as atualizações de segurança do Dependabot sejam executadas no GitHub. No entanto, pull requests abertos pelo Dependabot podem acionar workflows que executam ações.
1. [ ] Nenhuma dessas
> A revisão de dependências usa a ação do GitHub `actions/dependency-review-action`
### O que significa `CVSS`?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels
1. [x] `Common Vulnerability Scoring System`
1. [ ] `Code Verification Security System`
1. [ ] `Critical Vulnerability Scanning Service`
1. [ ] `Cybersecurity Validation Scoring Scheme`
### O que significa `CVE`?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories#cve-identification-numbers
1. [x] `Common Vulnerabilities and Exposures`
1. [ ] `Common Virus Elimination`
1. [ ] `Cybersecurity Verification Entity`
1. [ ] `Code Validation and Enumeration`
### O que significa `CWE`?
> https://cwe.mitre.org/
1. [x] `Common Weakness Enumeration`
1. [ ] `Cybersecurity Weakness Enumeration`
1. [ ] `Code Wrapping Engine`
1. [ ] `Critical Web Elements`
### Qual comando de comentários do Dependabot fará com que uma pull request seja concluída com sucesso?
> https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands
1. [ ] `@dependabot close`
1. [x] `@dependabot merge`
1. [ ] `@dependabot cancel merge`
1. [ ] `@dependabot rebase`
### Qual das seguintes linguagens NÃO é suportada pelo CodeQL para análise de código?
> https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#languages-and-compilers
1. [x] PHP
1. [ ] JavaScript/TypeScript
1. [ ] C/C++
1. [ ] Python
### Como você pode ativar a verificação de código para um repositório?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
1. [x] Vá para a aba de segurança nas configurações do repositório e ative a verificação de código com a configuração padrão ou avançada.
1. [ ] Vá para as configurações do usuário e ative a verificação de código, você pode optar por ativá-la para todos ou apenas para repositórios selecionados.
1. [ ] Adicione um arquivo de configuração `.github/codeql.yml` ao repositório.
1. [ ] Vá para a aba de segurança nas configurações do repositório e responda a um questionário sobre os conteúdos do repositório. Com base nas respostas, o GitHub ativará a verificação de código com a configuração apropriada.
### Uma organização recentemente começou a usar a análise CodeQL para todas as pull requests em seus repositórios, além de executar a análise em uma programação horária. Desde então, estão enfrentando contas de GitHub Actions maiores do que o habitual. Qual é a causa mais provável disso?
> https://docs.github.com/pt/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-billing-for-code-scanning
1. [x] A varredura de código usa GitHub Actions e a organização está sendo cobrada pelo uso adicional.
1. [ ] A análise da varredura de código está encontrando mais problemas do que o esperado e está demorando mais para ser concluída.
1. [ ] A varredura de código só pode ser executada em uma programação diária e a organização está sendo cobrada pelo uso adicional.
1. [ ] Não há correlação entre a varredura de código e a cobrança do GitHub Actions. A organização está sendo cobrada por outros fluxos de trabalho do GitHub Actions.
### Qual dessas afirmações é verdadeira sobre varredura de código? (Escolha duas.)
> https://docs.github.com/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-code#scan-your-code-for-vulnerable-patterns
- [x] A varredura de código ajuda a encontrar padrões de código inseguros que podem passar despercebidos na revisão de código manual.
- [x] A varredura de código pode ser integrada ao pipeline de CI para identificar problemas de segurança precocemente no processo de desenvolvimento.
- [ ] A varredura de código é um substituto para a revisão de código manual.
- [ ] A varredura de código ajuda a encontrar quaisquer credenciais vazadas no código, como chaves de API ou credenciais de nuvem.
> Isso é a varredura de segredos.
- [ ] A varredura de código analisa seu código para buscar todas as dependências e suas versões a fim de encontrar dependências vulneráveis.
### Qual é o efeito de adicionar a palavra-chave `paths-ignore` ao seu arquivo de workflow do GitHub Actions para análise de código?
```yaml
.github/workflows/codeql-analysis.yml
on:
pull_request:
branches: [main]
paths-ignore:
- '**/*.md'
- '**/*.txt'
```
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#avoiding-unnecessary-scans-of-pull-requests
1. [x] Evitar análises desnecessárias quando arquivos que não são relevantes para a análise são alterados.
1. [ ] Indica ao CodeQL para omitir todos os arquivos `*.txt` e `*.md` da análise.
1. [ ] Impede que a análise do CodeQL seja executada em pull requests que alterem arquivos com as extensões especificadas.
1. [ ] Os verificadores de pull requests irão ignorar quaisquer vulnerabilidades do CodeQL encontradas em arquivos `*.txt` e `*.md`.
### Qual é o método mais simples para executar análise do CodeQL simultaneamente para cada linguagem em um repositório multilíngue usando o GitHub Actions?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
1. [x] Criando uma matriz de `languages` para o job e, em seguida, referenciando-a no parâmetro de entrada `languages` da ação `github/codeql-action/init`
1. [ ] Chamando a ação `github/codeql-action/analyze` em etapas separadas para cada linguagem
1. [ ] Criando um workflow separado para cada linguagem
1. [ ] Definindo o paralelismo na ação `github/codeql-action/analyze`
### Onde você pode especificar as consultas do CodeQL a serem executadas em um workflow do GitHub Actions? (Escolha duas.)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#running-additional-queries
- [x] No parâmetro de entrada `queries` da ação `github/codeql-action/init`
- [x] Em um arquivo YAML de configuração do CodeQL
- [ ] No parâmetro de entrada `paths` da ação `github/codeql-action/queries`
- [ ] Na seção de verificação de código do Code Scanning na aba Security do repositório
- [ ] No campo `codeql` do arquivo `.github/settings.yml`
### Como mantenedor de um repositório, onde você deve colocar as instruções sobre como relatar uma vulnerabilidade de segurança no seu código?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] No arquivo `SECURITY.md`
1. [ ] No arquivo `CONTRIBUTING.md`
1. [ ] No arquivo `README.md`
1. [ ] No arquivo `CODE_OF_CONDUCT.md`
### Qual dessas afirmações define melhor uma dependência vulnerável?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] Uma dependência vulnerável é uma dependência da qual um projeto depende e que contém falhas de segurança que podem ser potencialmente exploradas, comprometendo a segurança do projeto.
1. [ ] Uma dependência vulnerável é uma dependência da qual um projeto depende e que não foi atualizada há muito tempo.
1. [ ] Uma dependência vulnerável é uma dependência da qual um projeto depende e que não é amplamente utilizada ou popular.
1. [ ] Uma dependência vulnerável é uma dependência da qual um projeto depende e que não é verificada pelo GitHub.
### Os jobs que são executados em runners macOS hospedados pelo GitHub consomem minutos a uma taxa __ em comparação com os runners Linux.
> https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#minute-multipliers
1. [ ] a mesma
1. [ ] 2x
1. [ ] 5x
1. [x] 10x
### Como parte do seu pipeline Jenkins CI, você criou com sucesso e depois analisou um banco de dados CodeQL, produzindo assim um arquivo SARIF. Como você pode fazer o upload do arquivo SARIF para o GitHub? (Escolha duas.)
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#about-sarif-file-uploads-for-code-scanning
- [x] Usando o comando `codeql github upload-results` da CodeQL CLI
- [x] Usando o endpoint `POST /repos/{owner}/{repo}/code-scanning/sarifs` da GitHub REST API
- [ ] Usando o comando `gh codeql upload-results` da GitHub CLI
- [ ] Ao fazer commit do arquivo SARIF no repositório do GitHub
- [ ] Usando o GitHub Action `github/codeql-action/upload-sarif`
> Você não pode usar GitHub Actions em pipelines Jenkins.
### Que detalhes você pode encontrar em uma página de alerta de varredura de código? (Escolha três.)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-details
- [x] Ramificações afetadas pela vulnerabilidade
- [x] Código vulnerável destacado
- [x] Gravidade da vulnerabilidade
- [ ] Informações sobre quantas vezes a vulnerabilidade foi explorada
- [ ] Desenvolvedor designado para corrigir a vulnerabilidade
- [ ] ID do banco de dados CodeQL usado para encontrar a vulnerabilidade
Detalhes
Achou este teste prático útil?
Deixe uma ⭐ no repositório e considere contribuir de volta para a comunidade por meio de:
- contribuir com uma ou mais questões de exames simulados (leva poucos minutos)