Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
foxguard — Um scanner de segurança de código universal e rápido, escrito em Rust. Baterias incluídas: suporta 14 linguagens, TUI para triagem, segredos, auditorias pós-quânticas, varreduras com detecção de diferenças e mais 𓃥 | Kitploit
Ferramentas/GitHubGitHub/0sec-labs/foxguard
Análise EstáticaScanners de VulnerabilidadesFerramentas de Criptografia/DescriptografiaAnálise de CódigoAuditoria de ConfiguraçãoCriptografiaDevSecOpsDetecção de SegredosSegurança da Cadeia de SuprimentosAprendizado de MáquinaConfiguração Incorreta
2801545há 3 diasRevisado pelo Kitploit
GitHub0sec-labs/foxguard

foxguard

Um scanner de segurança de código universal e rápido, escrito em Rust. Baterias incluídas: suporta 14 linguagens, TUI para triagem, segredos, auditorias pós-quânticas, varreduras com detecção de diferenças e mais 𓃥

Ver RepositórioSite

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
<p align="center">
  <img src="https://raw.githubusercontent.com/0sec-labs/foxguard/main/www/public/foxguard-logo.png" width="128" alt="foxguard" />
</p>

<h1 align="center">foxguard</h1>

<p align="center">
  <strong>Verificação de segurança local rápida para código, segredos, dependências e risco criptográfico.</strong>
  <br />
  <sub>Integrado no <a href="https://github.com/0sec-labs/0sec">0sec</a>, o harness de cibersegurança open source.</sub>
</p>

<p align="center">
  <a href="https://github.com/0sec-labs/foxguard/actions/workflows/ci.yml"><img src="https://github.com/0sec-labs/foxguard/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
  <a href="https://github.com/0sec-labs/foxguard"><img src="https://img.shields.io/badge/foxguard-clean-3fb950" alt="foxguard: clean" /></a>
  <a href="https://crates.io/crates/foxguard"><img src="https://img.shields.io/crates/v/foxguard?color=d97706&amp;label=crates.io" alt="crates.io" /></a>
  <a href="https://www.npmjs.com/package/foxguard"><img src="https://img.shields.io/npm/v/foxguard?color=d97706&amp;label=npm" alt="npm" /></a>
  <a href="https://pypi.org/project/foxguard/"><img src="https://img.shields.io/pypi/v/foxguard?color=d97706&amp;label=PyPI" alt="PyPI" /></a>
  <a href="https://github.com/apps/foxguard-app/installations/new"><img src="https://img.shields.io/badge/GitHub_App-Install-2ea44f?logo=github" alt="Install GitHub App" /></a>
</p>

```sh
npx foxguard .
```

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/13909/2ce579a58299a47cd3e965f13b97bf1c5dcaf020496d4a4eb2141d414ff7bd0c.gif" alt="foxguard scan demo" width="640" />
</p>

## Porquê

- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/checklist.png" alt="">&nbsp; Mais de 200 regras incorporadas em 12 linguagens de programação, além de verificações de configuração e manifestos
- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/git-branch.png" alt="">&nbsp; Rastreamento de taint para 14 linguagens, com análise entre ficheiros para Python, JavaScript, Go, Java, Ruby, PHP, C# e Kotlin
- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/zap.png" alt="">&nbsp; Verificações locais e de CI rápidas, com modo diff para "o que é que este branch adicionou?"
- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/key.png" alt="">&nbsp; Verificação de segredos, verificação de dependências com suporte OSV e auditoria de criptografia pós-quântica
- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/plug.png" alt="">&nbsp; Ponte YAML compatível com Semgrep/OpenGrep que carrega ~98% do registo público ([relatório de cobertura](https://github.com/0sec-labs/foxguard/blob/main/docs/parity/registry-coverage.md))
- <img height="14" src="https://raw.githubusercontent.com/0sec-labs/.github/main/profile/assets/icons/file-code.png" alt="">&nbsp; Saída em terminal, JSON, SARIF, CycloneDX 1.6 CBOM e JSON compatível com Semgrep

## Instalação

```sh
npx foxguard .                                      # sem instalação
pipx install foxguard                               # CLI pré-compilada do PyPI
curl -fsSL https://foxguard.dev/install.sh | sh     # binário pré-compilado (macOS/Linux)
cargo install foxguard                              # a partir do código-fonte
```

Os instaladores de binário autónomo verificam os binários de release do GitHub contra `checksums.txt`. Os binários de release também publicam atestações de artefactos do GitHub; use `gh attestation verify` para verificação manual, ou consulte [proveniência de release](https://github.com/0sec-labs/foxguard/blob/main/docs/release-provenance.md).

Os wheels do PyPI suportam Python 3.9+ em Linux glibc 2.28+ (x86_64/ARM64), macOS
(Intel/Apple Silicon) e Windows x86_64. Num ambiente virtual Python existente,
use `python -m pip install foxguard` em vez disso. Estes instalam a CLI nativa
sem um compilador Rust ou um download de binário em tempo de execução; não é
fornecida nenhuma API Python. Utilizadores de Alpine/musl devem usar os binários
de release Linux autónomos.

**GitHub Action:**

```yaml
- uses: 0sec-labs/foxguard/[email protected]
  with:
    path: .
    severity: medium
    fail-on-findings: "true"
    upload-sarif: "true"
```

**pre-commit:**

```yaml
repos:
  - repo: https://github.com/0sec-labs/foxguard
    rev: v0.14.0
    hooks:
      - id: foxguard
```

Integrações: [GitHub App](https://github.com/apps/foxguard-app/installations/new), [VS Code](https://marketplace.visualstudio.com/items?itemName=peaktwilight.foxguard), [plugin Claude Code](https://github.com/0sec-labs/foxguard/blob/main/docs/claude-code-integration.md) e [servidor MCP](https://github.com/0sec-labs/foxguard/blob/main/docs/mcp-server.md).

### Operações do GitHub App alojado

`foxguard-github-app` escreve logs JSON delimitados por nova linha. As verificações
concluídas e falhadas usam `event=foxguard.scan.completed` e `event=foxguard.scan.failed`, com
campos de entrega, instalação, repositório, PR, commit, duração e `usage_scope`
para correlação. Mantenha os identificadores como campos de log, não como etiquetas de métricas.

Defina `FOXGUARD_INTERNAL_ACCOUNTS` como uma lista separada por vírgulas das suas próprias contas
e organizações do GitHub. A correspondência não distingue maiúsculas de minúsculas. Outros proprietários são
classificados como `external`; uma lista não definida ou um proprietário em falta produz `unknown`.
A atividade externa não é prova de um cliente pagante, e as verificações não são pessoas.

O registo de instalações é reconciliado com todas as páginas da API de instalações
do GitHub App no arranque e de hora a hora. Atualizações falhadas mantêm o estado existente;
webhooks concorrentes têm precedência. Metadados de webhook esparsos preservam detalhes
de conta conhecidos e nomes de repositórios observados. Esses nomes não são um inventário
completo dos repositórios acessíveis de uma instalação.

Persista `FOXGUARD_INSTALLATIONS_PATH` e `FOXGUARD_PULL_REQUEST_JOBS_PATH` em
armazenamento durável. Monitorize `foxguard.installations.reconcile_failed` juntamente com
falhas de verificação; `foxguard.installations.reconciled` reporta o total e
as contagens de instalações internas/externas/desconhecidas após uma atualização bem-sucedida.
Dimensione `FOXGUARD_PR_WORKERS` com base na memória de pico medida do scanner e no
limite de memória do contentor: mortes por OOM de processos filhos podem ocorrer sem reiniciar
a aplicação alojada.

## Início Rápido

```sh
foxguard .                              # verificar tudo
foxguard diff main .                    # apenas novos achados vs main
foxguard tui .                          # revisão interativa no terminal
foxguard secrets .                      # credenciais e chaves expostas
foxguard sca .                          # vulnerabilidades de dependências do OSV
foxguard pqc .                          # auditoria de criptografia pós-quântica
foxguard --format sarif . > results.sarif
foxguard --format semgrep-json .        # JSON compatível com a CLI do Semgrep
```

Use `foxguard --fix src/` ou `foxguard --fix src/app.py` para aplicar correções de taint
suportadas no local. Os alvos são verificados contra o diretório de verificação canónico ou o
ficheiro selecionado; achados fora desse âmbito são ignorados. As correções de injeção de comandos
em Python adicionam `import subprocess` quando necessário, preservando docstrings de módulo e imports
futuros. Reveja as alterações geradas antes de fazer commit.

Falhas de leitura de ficheiros, metadados e travessia de diretórios no scanner de código nativo
terminam com `2` em vez de produzir um relatório bem-sucedido ou sobrescrever uma baseline.
Exclusões intencionais e ficheiros não suportados, binários ou demasiado grandes continuam a ser ignorados;
inspecione os avisos de ficheiros ignorados ao verificar a cobertura da verificação.

## Revisão no Terminal

Execute `foxguard tui .` e escolha **Scan**, **Diff**, **Secrets** ou **PQC** com
as setas ou Tab. No modo Diff, escreva o branch alvo antes de premir Enter.
Os terminais largos mostram os achados ao lado do seu detalhe; os terminais mais pequenos usam uma lista
com uma vista de detalhe expansível. O contexto do código-fonte, o fluxo de dados e as correções permanecem
deslocáveis sempre que o achado os fornece.

O cabeçalho separa as estatísticas da verificação das categorias de baseline. Os intervalos de código-fonte
selecionados são realçados inline, sem linhas de anotação extra. Os controlos de abertura
permanecem abaixo do painel de detalhe em tempo real enquanto o seu conteúdo se desloca, e as localizações
de ficheiro encurtadas mantêm os seus sufixos de linha e coluna. A pesquisa e os diálogos são donos dos seus
atalhos enquanto estão ativos.

Se o contexto do código-fonte não puder ser carregado, o excerto do achado guardado permanece disponível.
Os segredos usam excertos redigidos em vez de carregar o código-fonte em bruto no painel de detalhe.

O cartão de carregamento mostra atividade indeterminada e o tempo decorrido real, não uma
estimativa percentual. Ctrl+C sai durante a verificação.

| Tecla | Ação |
|-----|--------|
| `j` / `k`, setas, Home / End | Mover entre achados |
| `v` | Expandir detalhe ou voltar à vista de lista/dividida |
| PageUp / PageDown | Paginar a lista, ou deslocar o detalhe visível |
| `/`, Enter | Editar e aplicar uma pesquisa |
| Ctrl+U | Limpar a pesquisa em edição |
| Esc | Fechar um modal, cancelar edições de pesquisa, sair do detalhe expandido ou limpar filtros aplicados |
| `0`–`4`, `c`, Shift+C | Severidade mínima, limiar de confiança e ordem de ordenação |
| `f` | Alternar All → Unreviewed → Todo → Reviewed → Ignore |
| `i` | Pré-visualizar e aplicar ações de triagem |
| Space, `a`, `x` | Marcar um achado, alternar seleções visíveis e pré-visualizar uma ação em lote |
| Shift+F | Guardar, carregar, substituir ou eliminar filtros nomeados; recuperar o armazenamento de revisão |
| `b` | Alternar categorias de baseline quando uma comparação está disponível |
| Tab, Enter / `o` | Escolher finding/source/sink e abri-lo no seu editor |
| `w`, `[` / `]` | Mostrar avisos e deslocar o seu histórico; os avisos mais recentes aparecem primeiro |
| `e` | Exportar CBOM, JSON ou SARIF |
| `?`, `q` / Ctrl+C | Ajuda e sair; Ctrl+C também funciona dentro de todos os modais |

Enter e `o` usam um `$VISUAL` não vazio, depois `$EDITOR`. Sem nenhuma das definições,
o foxguard procura `nvim`, `vim`, `nano` ou `vi` no `PATH` antes de considerar um
abridor de desktop disponível. Os terminais headless não requerem `xdg-open`.
Por exemplo, execute `VISUAL="nvim" foxguard tui .` ou defina
`EDITOR='code --wait'`. Uma definição de editor explícita inválida é reportada em vez de
silenciosamente substituída; se nenhum editor estiver disponível, a TUI permanece aberta com orientações
de configuração. Os editores suportados saltam para a linha do achado/source/sink selecionado.

As marcas de revisão persistem automaticamente no armazenamento por utilizador, com âmbito na raiz
canónica do projeto e no modo de verificação (incluindo o alvo no modo Diff). Os filtros nomeados
restauram a pesquisa, severidade, confiança, estado de revisão, ordenação e categoria de baseline
quando carregados com Shift+F. Não alteram a configuração de verificação do repositório.
A lista mostra achados visíveis/totais e o progresso da revisão; alterar filtros ou
ordenação mantém o mesmo achado selecionado quando este permanece visível. Cancelar edições de pesquisa
restaura a consulta aplicada anteriormente.

Os achados marcados sobrevivem a alterações de filtros. `x` abre ações em lote; Enter mostra os
alvos exatos, a contagem de seleções ocultas, o destino e o âmbito do efeito. Apenas `y`
aplica a pré-visualização; Enter novamente não a confirma, e Esc cancela sem
escrever. As ações de baseline adicionam impressões digitais exatas. As ações de configuração de regra/ficheiro
e de projeto inteiro também podem afetar achados não selecionados, como a pré-visualização avisa.
Se um alvo de configuração falhar, as escritas bem-sucedidas permanecem e os resultados são
reportados; o lote não é uma transação.

O armazenamento usa `$XDG_STATE_HOME/foxguard/tui` (ou
`~/.local/state/foxguard/tui`) no Linux, Application Support no macOS e
`%LOCALAPPDATA%` no Windows. Escritas atómicas e verificações de revisão impedem que um terminal
sobrescreva silenciosamente outro. Erros de armazenamento deixam as alterações locais visivelmente
**UNSAVED**. Em Shift+F, `w` tenta novamente guardar, `r` recarrega explicitamente do disco e
Shift+R confirma um backup-e-reset do projeto/modo atual. Recarregar/reset pode
descartar alterações não guardadas; o reset preserva os bytes anteriores em disco, não as marcas
não guardadas. O armazenamento de revisão contém impressões digitais e definições de filtros, não código-fonte.

As exportações incluem os resultados da verificação atual, não apenas as linhas filtradas visíveis,
e são escritas no diretório de trabalho atual. Ficheiros regulares existentes requerem
uma confirmação explícita com `y`; Esc cancela. As escritas são atómicas e os links simbólicos de destino,
incluindo links pendentes, são rejeitados.

Use `foxguard tui --baseline .foxguard/baseline.json .` para rever uma comparação de
baseline guardada. Ao contrário da supressão da CLI, a revisão no terminal retém os achados atuais
e separa entradas **introduced**, **recurring** e **resolved**. Resolved significa ausente da
saída da verificação atual, não remediação verificada: compare âmbito, regras e limiares
equivalentes. A identidade da baseline inclui o ficheiro e a localização no código-fonte, pelo que mover
um achado pode aparecer como introduced mais resolved. As linhas resolved são metadados históricos
apenas de leitura; apenas a pesquisa se aplica, e `v` expande os seus detalhes deslocáveis. Volte a uma
categoria de achados atuais para triar ou exportar a verificação atual.
O Git Diff continua a ser uma comparação separada contra um branch.

## Cobertura de Linguagens

| Linguagem | Regras incorporadas | Rastreamento de taint | Regras cientes de frameworks |
|----------|:-:|:-:|---|
| JavaScript / TypeScript | Sim | Sim | Express, Next.js |
| Python | Sim | Sim | Django, Flask, FastAPI |
| Go | Sim | Sim | Gin |
| Kotlin | Sim | Sim | Spring |
| Java | Sim | Sim | Spring |
| Ruby | Sim | Sim | Rails |
| PHP | Sim | Sim | Laravel |
| Rust | Sim | -- | -- |
| C# | Sim | Sim | .NET |
| Swift | Sim | Sim | iOS |
| Haskell | Sim | -- | Regras de seed Cardano |

O rastreamento de taint também cobre C, Bash e Solidity. As verificações de configuração, manifestos e regras externas cobrem Dockerfile, Nginx, Apache, HAProxy, HCL/Terraform, YAML/JSON/XML/HTML, C via Semgrep YAML/Coccinelle, e mais.

## Modos de Segurança

```sh
foxguard sca .
foxguard pqc .
foxguard --rules ./semgrep-rules .
```

O SCA suporta `Cargo.lock`, `package-lock.json`, `pnpm-lock.yaml`, `requirements.txt`, `poetry.lock` e `Pipfile.lock`. A auditoria PQC é um cartão de pontuação de dois lados: sinaliza primitivas vulneráveis a quantum (RSA, ECDSA/DSA, ECDH/DH) com prazos de migração CNSA 2.0, e também deteta algoritmos pós-quânticos já em uso (ML-KEM, ML-DSA, SLH-DSA, FN-DSA, HQC e híbridos como X25519MLKEM768) como inventário informativo, resistente a quantum — reportando uma percentagem de prontidão para migração. Ambos os lados exportam para um CycloneDX 1.6 CBOM, onde os algoritmos pós-quânticos aparecem como ativos resistentes a quantum em vez de vulnerabilidades.

## Configuração

O foxguard descobre automaticamente `.foxguard.yml` a partir do caminho de verificação para cima.

```yaml
scan:
  baseline: .foxguard/baseline.json
  disable_rules: [py/no-eval]

secrets:
  exclude_paths: [fixtures, testdata]
```

Suprima um achado aceite inline com `// foxguard: ignore[rule-id]`.

## Documentação

Comece pelo [índice de documentação](https://github.com/0sec-labs/foxguard/blob/main/docs/README.md). Referências principais: [arquitetura](https://github.com/0sec-labs/foxguard/blob/main/docs/architecture.md), [compatibilidade Semgrep/OpenGrep](https://github.com/0sec-labs/foxguard/blob/main/docs/compatibility.md) e o [runbook de release](https://github.com/0sec-labs/foxguard/blob/main/docs/releasing.md).

## Benchmarks

| Repo | LoC | foxguard | Semgrep | Speedup |
|------|-----|----------|---------|---------|
| express | 15K JS | 0.28s | 6.09s | **22x** |
| flask | 14K Py | 0.33s | 6.51s | **20x** |
| gin | 18K Go | 0.50s | 4.95s | **10x** |
| sentry | 1.3M Py | 35s | 194s | **5x** |

Reproduza com `./benchmarks/run.sh`; os resultados variam consoante a máquina. Consulte [`benchmarks/README.md`](https://github.com/0sec-labs/foxguard/blob/main/benchmarks/README.md).

## Contribuir

Consulte [`CONTRIBUTING.md`](https://github.com/0sec-labs/foxguard/blob/main/CONTRIBUTING.md) para autoria de regras, testes e configuração de desenvolvimento.

## Licença

MIT OR Apache-2.0 -- [0sec Labs](https://0sec.ai)
Baixar ferramenta