
Um doggo que ajuda a procurar problemas de segurança nos seus repositórios.
Layne é um GitHub App auto-hospedado que centraliza a verificação de segurança em nossos repositórios. Como não usamos ferramentas comerciais de SAST/verificação de segredos, nem temos acesso ao GitHub Enterprise, pode ser difícil manter diferentes arquivos de workflow do GitHub Actions em repositórios diferentes - especialmente à medida que tais repositórios crescem em número. Em vez disso, instalamos o Layne uma vez e ele escuta eventos de pull request, executa nossas ferramentas de segurança no lado do servidor, publica os resultados de volta como anotações nativas do GitHub Check Run e notifica o canal de notificações de segurança da nossa equipe de segurança.
Esta ferramenta foi baseada na Implementação do Reddit.
┌─────────────────────────────────┐
│ GITHUB PULL REQUEST │◀────────────────────────┐
│ (OPEN, SYNC, REOPEN) │ │
└─────────────────────────────────┘ │
│ Check run │
HTTP Post /webhook │
│ │
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ EC2 Instance (Docker) │ │ │
│ ┌───────▼────────┐ │ │
│ │ NGINX + TLS │ │ │
│ └───────┬────────┘ │ │
│ │ │ │
│ ┌─────────────────────┘ │ │
│ │ │ │
│┌─────────────┐ │ Schedules job ┌────────────────┐ ┌────────────┐ │ │
││ LAYNE │◀─┘ ─────────────────▶│ REDIS │───▶│ TRUFFLEHOG │──┐ │ │
││ SERVER │ │ (BULLMQ) │ │ └────────────┘ │ │ │
│└─────────────┘ └────────────────┘ │ ┌────────────┐ │ │ │
│ │─▶│ SEMGREP │──┤ │ │
│ │ └────────────┘ │ │ │
│ │ ┌────────────┐ │ ┌──────────┐│
│ ├─▶│ CLAUDE │──┼─▶│ REPORTER ││
│ │ └────────────┘ │ └──────────┘│
│ │ ┌────────────┐ │ │
│ ├─▶│ SPECTRE │──┤ │
│ │ └────────────┘ │ │
│ │ ┌────────────┐ │ │
│ └─▶│ DEP DOCTOR │──┘ │
│ └────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────┘
Quando um PR é aberto ou atualizado - ou após a execução de um workflow/job, dependendo do gatilho configurado -, o GitHub envia um webhook para o Layne. O servidor imediatamente enfileira um job de verificação e retorna 200 OK ao GitHub. Um worker pega o job, clona exatamente o commit que disparou o evento, entrega os arquivos alterados a cada scanner configurado (Semgrep, Trufflehog, Claude, Spectre, Dep Doctor), coleta seus achados e publica os resultados como anotações inline no Check Run.
Apenas os arquivos modificados no PR são passados a cada scanner. Achados em arquivos que você não tocou nunca são reportados.
O Layne vem com cinco scanners integrados. Você pode habilitar, desabilitar ou configurar cada um por repositório em config/layne.json.
| Scanner | O que detecta | Notas |
|---|---|---|
| Semgrep | SAST - bugs, vulnerabilidades, padrões inseguros | Executa semgrep scan --config auto por padrão; totalmente configurável via extraArgs |
| Trufflehog | Segredos, chaves de API e credenciais | Executa trufflehog filesystem; use --only-verified para reduzir ruído |
| Claude | Intenção maliciosa, backdoors, payloads ofuscados, ataques à cadeia de suprimentos | Desabilitado por padrão; opte por repositório; requer ANTHROPIC_API_KEY |
| Spectre | Intenção maliciosa a partir de diffs de PR tipados e delimitados | Desabilitado por padrão; análise do PR inteiro quando pequeno e chunks de hunk caso contrário; suporta Anthropic, OpenAI, Google, Mistral, Bedrock |
| Dep Doctor | CVEs, dependências abandonadas e obsoletas | Desabilitado por padrão; opte por repositório; requer osv-scanner no PATH |
Você também pode adicionar seus próprios scanners. Veja Estendendo o Layne.
Uma vez que tudo esteja devidamente configurado, o Layne adicionará uma execução ao pull request e executará as ferramentas de verificação configuradas. Quando uma verificação falha, ela se parece com isto.

Os achados do Layne serão escritos no PR como anotações inline, indicando as linhas exatas onde os problemas de segurança foram encontrados.

Você também pode ver os achados do Layne e um resumo deles clicando na própria verificação.

E você pode configurar o Layne para enviar uma notificação via webhook para um canal do Rocket.Chat - você também pode configurar o Slack e é fácil adicionar novos notificadores se você usar uma plataforma de chat diferente.

Execute o site de documentação localmente:
npm run docs:dev
Em seguida, abra http://localhost:3000.
A documentação completa cobre implantação, configuração, scanners, notificadores, comentários em PR, supressão de achados, métricas, arquitetura de segurança e mais.
O Layne é licenciado sob a Apache License 2.0 (Apache-2.0). Veja LICENSE para o texto completo.
Copyright 2026 Rocket.Chat Technologies Corp.