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
oss-oopssec-store — Treinamento de segurança para os aplicativos que você realmente entrega. Abra seu navegador e comece a hackear. | Kitploit
Ferramentas/GitHubGitHub/koadt/oss-oopssec-store
Análise de VulnerabilidadesExploração de Aplicações WebSegurança WebCTFTestes de PenetraçãoSegurança da Cadeia de SuprimentosAprendizado e EducaçãoTrilhas e CursosSegurança de IALabs e Prática
GitHub
344572há 7 diasRevisado pelo Kitploit
koadt/oss-oopssec-store

oss-oopssec-store

Treinamento de segurança para os aplicativos que você realmente entrega. Abra seu navegador e comece a hackear.

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
<div align="center">

<h1>OSS - OopsSec Store</h1>

</div>

<div align="center">

<p>
<b>Treinamento de segurança para os aplicativos que você realmente entrega.</b>
</p>
<p>
36 desafios abrangendo <b>web, API, autenticação, lógica de negócios, criptografia, cadeia de suprimentos, agentes de IA e MCP</b>.
</p>
<p>
Invada um aplicativo de e-commerce deliberadamente vulnerável construído em <b>Next.js, React, TypeScript e Prisma</b>.<br>
Encontre os bugs. Explore-os. Entenda por que eles funcionam.
</p>

<p>
<a href="https://hub.docker.com/r/leogra/oss-oopssec-store">Docker Hub</a> ·
<a href="https://www.npmjs.com/package/create-oss-store">npm</a> ·
<a href="https://koadt.github.io/oss-oopssec-store/roadmap">Roadmap</a> ·
<a href="https://koadt.github.io/oss-oopssec-store">Walkthroughs</a> ·
<a href="https://github.com/kOaDT/oss-oopssec-store/blob/main/CONTRIBUTING.md">Contributing</a> ·
<a href="https://github.com/users/kOaDT/projects/3/views/6">Good first issues</a>
</p>

[![OWASP VWAD](https://img.shields.io/badge/OWASP-VWAD-000000?style=flat-square&logo=owasp&logoColor=white)](https://vwad.owasp.org/app/oopssec-store/)
[![TryHackMe room](https://img.shields.io/badge/TryHackMe-The_Summer_Audit-212C42?style=flat-square&logo=tryhackme&logoColor=white)](https://tryhackme.com/jr/oopssecstorethesummeraudit)
![Intentionally Vulnerable](https://img.shields.io/badge/%E2%9A%A0%EF%B8%8F_Intentionally-Vulnerable-red?style=flat-square)
<br>
[![GitHub license](https://img.shields.io/github/license/kOaDT/oss-oopssec-store?style=flat-square)](https://github.com/kOaDT/oss-oopssec-store/blob/main/LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)](https://github.com/kOaDT/oss-oopssec-store/pulls)
[![Good first issues](https://img.shields.io/badge/Good_first-issues-7057ff?style=flat-square)](https://github.com/users/kOaDT/projects/3/views/6)
<br>
[![GitHub stars](https://img.shields.io/github/stars/kOaDT/oss-oopssec-store?style=social)](https://github.com/kOaDT/oss-oopssec-store/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/kOaDT/oss-oopssec-store?style=social)](https://github.com/kOaDT/oss-oopssec-store/network)

</div>

```bash

   ____  ____ ____     ____                  ____            ____  _
  / __ \/ __// __/    / __ \ ___   ___  ___ / __/ ___  ____ / __/ / /_ ___   ____ ___
 / /_/ /\ \ _\ \     / /_/ // _ \ / _ \(_-<_\ \  / -_)/ __/_\ \  / __// _ \ / __// -_)
 \____/___//___/     \____/ \___// .__/___/___/  \__/ \__//___/  \__/ \___//_/   \__/
                                /_/

# Start with Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start

# Start with Docker
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

# Then open http://localhost:3000 and start hacking
```

<div align="center">

<table>
<tr>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-0.png"><img src="https://assets.kitploit.com/production/public/readmes/12463/2656002fea49e81bc7876fc998d1bf1ddf664257bb023c03705e322e6dada5fb/9a5c520942d272122aeba14fd7a799dfecf60a99e0990904bff05e59ba634d37-display-v1.webp" alt="Vitrine da OopsSec Store" width="100%"></a>
<br><sub><b>Vitrine</b> · o aplicativo de e-commerce que você está atacando</sub>
</td>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-1.png"><img src="https://assets.kitploit.com/production/public/readmes/12463/a3edf2b1a9311abfe35c5cb956302c0e6568a5c8ba891f0d2c4056defa19b078/24355e727585878af96376d809ee68dce57dd5823691ccd00b8fb8ae424750f6-display-v1.webp" alt="Painel do jogador rastreando flags capturadas" width="100%"></a>
<br><sub><b>Painel do jogador</b> · progresso, dificuldade e detalhamento por categoria</sub>
</td>
</tr>
<tr>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-2.png"><img src="https://assets.kitploit.com/production/public/readmes/12463/05a9601b40eb202f0ef72eae225d69bfceb5a6600361408be681131a51d29da7/41e77928d6eb00585c020ca88a60f8fcef577c5741c8fba826ed8ac1982c362e-display-v1.webp" alt="Assistente de suporte ao cliente com IA OSSBot" width="100%"></a>
<br><sub><b>OSSBot</b> · o assistente de suporte com IA no qual você aplica prompt injection</sub>
</td>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-3.png"><img src="https://assets.kitploit.com/production/public/readmes/12463/91565414292b83d7dca7b97206404d899358e7b94ae9acad9c2a30d1886b8751/beac914224c61942f48311d8d3405292def762be276cffd16400ec6b6e2ec473-display-v1.webp" alt="Roteiro de desafios ao longo de 11 capítulos" width="100%"></a>
<br><sub><b>Roteiro</b> · os bugs que chegam ao código de produção</sub>
</td>
</tr>
</table>

<sub>Clique em qualquer captura de tela para visualizá-la em tamanho real.</sub>

</div>

---

## Primeiros passos

<table>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/1-15803d?style=for-the-badge" alt="Passo 1"></td>
<td valign="top">
<b>Inicie o laboratório</b><br>
<code>npx create-oss-store my-ctf-lab &amp;&amp; cd my-ctf-lab &amp;&amp; npm start</code><br>
<sub>Ou <a href="#docker">execute com Docker</a>. A loja sobe em <a href="http://localhost:3000">localhost:3000</a>.</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/2-15803d?style=for-the-badge" alt="Passo 2"></td>
<td valign="top">
<b>Vá atrás do desafio #1</b><br>
<a href="http://localhost:3000/vulnerabilities/public-env-variable">Vazamento de variável de ambiente pública</a>: um segredo de pagamento que o Next.js embute no bundle do cliente.<br>
<sub>Fácil · 15–20 min · nada além das devtools do seu navegador.</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/3-15803d?style=for-the-badge" alt="Passo 3"></td>
<td valign="top">
<b>Preso? Leia o walkthrough</b><br>
Todo desafio tem um, da vulnerabilidade ao exploit e à correção.<br>
<sub>O primeiro: <a href="https://koadt.github.io/oss-oopssec-store/posts/next-public-env-variable-leak/">Reading Secrets From the Browser: The NEXT_PUBLIC_ Trap in Next.js</a>.</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/4-15803d?style=for-the-badge" alt="Passo 4"></td>
<td valign="top">
<b>Valide a flag</b><br>
Cole <code>OSS{...}</code> no verificador de flags, o widget flutuante em todas as páginas.<br>
<sub>Seu <a href="http://localhost:3000/player-dashboard">painel do jogador</a> acompanha o que falta.</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/5-15803d?style=for-the-badge" alt="Passo 5"></td>
<td valign="top">
<b>Escolha o próximo</b><br>
O <a href="https://koadt.github.io/oss-oopssec-store/roadmap">roteiro</a> ordena todos os desafios por capítulos: dificuldade, estimativa de tempo, pré-requisitos.<br>
<sub>Pegue o próximo card e volte ao passo 2. ↻</sub>
</td>
</tr>
</table>

> [!TIP]
> Capturou todas? [Entre para o Hall da Fama](#hall-of-fame), dê uma estrela no repositório e publique sua rota em [Show your solve](https://github.com/kOaDT/oss-oopssec-store/discussions/categories/show-your-solve).

<sub>Novo em segurança ofensiva? A <a href="https://tryhackme.com/jr/oopssecstorethesummeraudit">sala do TryHackMe</a> envolve as primeiras flags em uma narrativa guiada.</sub>

---

## Índice

- [Recursos](#features)
- [Por que o OopsSec Store?](#why-oopssec-store)
- [Instalação](#installation)
  - [Início rápido (npm)](#quick-start)
  - [Docker](#docker)
  - [Atualizando uma instalação existente](#updating-an-existing-install)
- [Hall da fama](#hall-of-fame)
- [Comunidade](#community)
- [Estrutura do projeto](#project-structure)
- [Testes](#testing)
- [Aviso legal](#disclaimer)
- [Contribuindo](#contributing)
- [Kit para Educadores](#-using-oopssec-store-in-a-course-or-ctf)
- [Estatísticas do projeto](#project-stats)

---

> [!WARNING]
> Esta aplicação contém falhas de segurança intencionais e nunca deve ser implantada em um ambiente de produção.

## Recursos

- Aplicativo de e-commerce intencionalmente vulnerável (XSS, CSRF, IDOR, ataques JWT, path traversal, injeção de SQL e mais)
- Construído com Next.js (App Router), React, TypeScript, Prisma e SQLite
- API REST com vetores de ataque documentados
- 36 desafios CTF em 11 capítulos, organizados como um [roteiro de aprendizado](https://koadt.github.io/oss-oopssec-store/roadmap) estruturado
- Documentação de vulnerabilidades e walkthroughs da comunidade para cada desafio
- Uma [sala TryHackMe](https://tryhackme.com/jr/oopssecstorethesummeraudit) guiada: _The Summer Audit_, 8 tarefas e 7 flags, como uma porta de entrada narrativa para iniciantes
- Testes automatizados que verificam se os exploits ainda funcionam (PRs que corrigem acidentalmente uma vulnerabilidade falharão na CI)

## Por que o OopsSec Store?

Frameworks modernos mudam onde as vulnerabilidades de segurança aparecem e como devem ser corrigidas. O OopsSec Store coloca as classes clássicas de vulnerabilidade em uma stack que muitos desenvolvedores usam hoje: Next.js App Router, React, TypeScript e Prisma.

Componentes renderizados no servidor, middleware e ORMs introduzem diferentes limites de confiança e modos de falha. Vários desafios também reproduzem CVEs publicados contra esta stack.

O currículo também aborda a superfície de ataque que surgiu com o desenvolvimento assistido por IA: injeção de prompt contra um agente de suporte ao cliente, envenenamento de ferramentas MCP, um arquivo de regras de agente de codificação com backdoor e uma cadeia de typosquatting no npm simulada de ponta a ponta.

|                                                | OopsSec Store                                           | Juice Shop                                                       | DVWA                      |
| ---------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------- |
| Stack                                          | Next.js · React · TypeScript · Prisma                   | Node.js · Express · Angular                                      | PHP · MySQL               |
| Setup                                          | `npx create-oss-store` (< 1 min) / Docker               | Docker / npm                                                     | Docker / manual LAMP      |
| CTF flags                                      | ✅ Built in (static flags)                              | ✅ Opt-in, per-instance flags (`CTF_KEY`); CTFd/RootTheBox/FBCTF | ❌                        |
| Guided learning roadmap                        | ✅ 1 roadmap, 11 chapters, 36 flags                     | ❌ Score board only                                              | Partial (security levels) |
| Walkthrough for every challenge                | ✅                                                      | ✅ Companion guide                                               | Partial (hints)           |
| LLM prompt injection                           | ✅ Plug in a free API key                               | ✅ v20+, bring & configure your own LLM                          | ❌                        |
| MCP tool poisoning                             | ✅                                                      | ❌                                                               | ❌                        |
| AI coding-agent backdoor (poisoned rules file) | ✅                                                      | ❌                                                               | ❌                        |
| Supply-chain attack chain                      | ✅ Simulated end to end: npm typosquat → rules backdoor | Partial (identification only)                                    | ❌                        |
| Challenges built on real CVEs                  | ✅ Next.js / React framework CVEs                       | Partial (vulnerable npm dependencies)                            | ❌                        |
| Hall of Fame for players                       | ✅                                                      | ❌                                                               | ❌                        |

<sub>Última verificação em setembro de 2026, contra Juice Shop v20 e DVWA 2.x. Encontrou alguma imprecisão? [Abra uma issue](https://github.com/kOaDT/oss-oopssec-store/issues) ou [abra um PR](https://github.com/kOaDT/oss-oopssec-store/pulls).</sub>

## Instalação

### Início rápido

```bash
npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start
```

Em seguida, abra http://localhost:3000 no seu navegador.

### Configuração manual

Clone o repositório e execute o script de configuração:

```bash
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup
```

Isso cria o arquivo `.env`, instala as dependências, configura o banco de dados SQLite, o popula com flags de CTF e inicia a aplicação na porta 3000.

### Docker

Não é necessário Node.js. Apenas [Docker](https://docs.docker.com/get-docker/).

> `127.0.0.1:3000:3000` mantém o laboratório acessível apenas a partir da sua própria máquina. Use `-p 3000:3000` simplesmente apenas em uma VM isolada que você controla.

#### A partir do Docker Hub (mais rápido)

```bash
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store
```

Para persistir dados entre reinicializações:

```bash
docker run -p 127.0.0.1:3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store
```

#### A partir do código-fonte (Docker Compose)

```bash
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d      # Start in background (builds the image on first run)
docker compose logs -f    # Follow container logs
docker compose down       # Stop the container
docker compose down -v    # Stop and wipe data for a fresh start
```

Com o npm instalado, os mesmos quatro são `npm run docker:up`, `docker:logs`, `docker:down` e `docker:reset`.

O banco de dados é inicializado na primeira inicialização. Os dados persistem entre reinicializações por meio de volumes nomeados do Docker, incluindo o progresso das flags, usuários e uploads.

### Atualizando uma instalação existente

Uma nova versão geralmente traz novos desafios e, com eles, tabelas e linhas que seu banco de dados nunca viu. Verifique o [changelog](https://github.com/koadt/oss-oopssec-store/blob/main/CHANGELOG.md) para alterações que quebram compatibilidade e, em seguida, atualize sem começar do zero:

```bash
npm run db:upgrade             # local clone
docker compose up -d --build   # Docker: the entrypoint upgrades on start
```

Isso regenera o cliente, aplica o schema e então reaplica as linhas que toda instalação precisa — flags, dicas e os canários de injeção SQL. Seus pedidos, flags capturadas, usuários e uploads permanecem intactos; os tokens já emitidos mantêm seu valor.

O que não é transportado é o catálogo de demonstração: linhas adicionadas a `prisma/seed.ts` só chegam a uma instalação nova, e reexecutar o seed completo recriaria seus pedidos.

O aplicativo se recusa a iniciar contra um banco de dados que está um schema atrasado e informa o comando a executar. Para apagar tudo e começar do zero, use `npm run docker:reset` (Docker) ou `npm run setup` (npm).

## Hall da fama

Encontrou todas as flags? Abra um pull request para entrar no [Hall da Fama](https://github.com/koadt/oss-oopssec-store/blob/main/hall-of-fame/data.json). Adicione sua entrada em `hall-of-fame/data.json` e seu perfil aparecerá na página `/hall-of-fame` do aplicativo.

Assim que sua entrada for mesclada, um badge é gerado para você e servido a partir do site de documentação:

[![OopsSec Store Hall of Fame](https://koadt.github.io/oss-oopssec-store/badges/koadt.svg)](https://github.com/kOaDT/oss-oopssec-store#hall-of-fame)

```markdown
[![OopsSec Store Hall of Fame](https://koadt.github.io/oss-oopssec-store/badges/%3Cyour-username%3E.svg)](https://github.com/kOaDT/oss-oopssec-store#hall-of-fame)
```

Um cartão social de 1200x630 fica no mesmo caminho com extensão `.png`.

[![OopsSec Store Hall of Fame](https://assets.kitploit.com/production/public/readmes/12463/0e87adf89481064ecf790a25aacedb70507511c62f6981788e470c1c9feeb330/bc3987368c521a29b3bbbc429ccb6f10e68f2c0404e1d94c51760ed75417830b-display-v1.webp)](https://github.com/kOaDT/oss-oopssec-store#hall-of-fame)

```markdown
[![OopsSec Store Hall of Fame](https://koadt.github.io/oss-oopssec-store/badges/%3Cyour-username%3E.png)](https://github.com/kOaDT/oss-oopssec-store#hall-of-fame)
```

Ambos estão prontos para copiar e colar a partir do seu cartão na página `/hall-of-fame`, em Markdown, HTML ou como URL simples.

## Comunidade

Dúvidas, soluções e feedback ficam em [Discussions](https://github.com/kOaDT/oss-oopssec-store/discussions).

| Onde ir                                                                                                               | Para quê                                              |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [🧩 Travado em um desafio](https://github.com/kOaDT/oss-oopssec-store/discussions/new?category=stuck-on-a-challenge)   | O exploit não dispara, a flag não valida              |
| [🛠️ Configuração e instalação](https://github.com/kOaDT/oss-oopssec-store/discussions/new?category=setup-and-install) | Problemas com Docker, npm ou Node para subir o lab    |
| [🏆 Mostre sua solução](https://github.com/kOaDT/oss-oopssec-store/discussions/new?category=show-your-solve)           | Uma rota até a flag que o walkthrough não cobre       |
| [💡 Ideias de desafios](https://github.com/kOaDT/oss-oopssec-store/discussions/new?category=challenge-ideas)           | Uma classe de vulnerabilidade que vale adicionar ao currículo |
| [🎓 Ensinando com OopsSec](https://github.com/kOaDT/oss-oopssec-store/discussions/new?category=teaching-with-oopssec) | Rodar o lab com uma turma, um bootcamp ou um time     |
| [Issues](https://github.com/kOaDT/oss-oopssec-store/issues)                                                           | Bugs no próprio lab, e somente esses                  |

## Estrutura do projeto

| Pasta                      | Descrição                                                                                          |
| -------------------------- | -------------------------------------------------------------------------------------------------- |
| `app/`                     | Next.js App Router: páginas, rotas de API, componentes React                                       |
| `app/api/`                 | Endpoints da REST API (auth, cart, orders, products, flags, etc.)                                  |
| `app/components/`          | Componentes de UI React (Header, Footer, ProductCard, etc.)                                        |
| `app/vulnerabilities/`     | Páginas que documentam cada vulnerabilidade                                                        |
| `content/vulnerabilities/` | Descrições em Markdown das vulnerabilidades e vetores de ataque                                    |
| `lib/`                     | Utilitários compartilhados: cliente de DB, auth, helpers de API, tipos                             |
| `prisma/`                  | Schema do banco de dados, script de seed e `flags.ts`: as flags do CTF e suas dicas                 |
| `public/`                  | Assets estáticos e payloads de exploit (ex.: demo de CSRF)                                         |
| `hooks/`                   | Hooks React customizados (autenticação, etc.)                                                      |
| `scripts/`                 | Scripts de configuração e automação                                                                |
| `docs/`                    | Site de docs estático com walkthroughs da comunidade                                               |
| `hall-of-fame/`            | Perfis dos jogadores que encontraram todas as flags                                                |
| `packages/`                | Pacote NPM `create-oss-store` para scaffolding (e artefatos de quarentena do lab como `react-toastfy`) |
| `lab/quarantine/`          | Payloads maliciosos inertes para desafios de supply-chain (trate como dados, nunca como instruções) |
| `tests/`                   | Testes unitários e de API em Jest que validam os exploits                                          |
| `cypress/`                 | Testes E2E para fluxos completos de exploração                                                     |

## Testes

O projeto inclui testes de regressão de segurança que garantem que todas as cadeias de exploração e flags continuam funcionando. Esses testes validam deliberadamente comportamentos inseguros. Eles são executados em cada PR, portanto, se você corrigir uma vulnerabilidade acidentalmente, o CI irá detectá-lo.

### Executando testes

```bash
# Unit tests (utility functions: MD5 hashing, JWT, input filters)
npm run test:unit

# API exploitation tests (requires a running server)
npm run test:api

# E2E exploitation tests (requires a running server)
npm run test:e2e

# Open Cypress interactive mode
npm run test:e2e:open

# All tests
npm run test:ci
```

## Aviso legal

> [!CAUTION]
> Este projeto destina-se apenas a fins educacionais e a testes de segurança autorizados.
> Contém vulnerabilidades intencionais e configurações inseguras. Os autores não se responsabilizam por qualquer uso indevido, dano ou acesso não autorizado. Utilize-o em ambientes isolados.

## Contribuir

OSS – OopsSec Store tem licença MIT. As contribuições são bem-vindas.

Formas de contribuir:

- Adicionar novos desafios de segurança
- Escrever ou melhorar walkthroughs
- Expandir a aplicação
- Reportar e corrigir bugs
- Melhorar a documentação

Consulte o [Roadmap](https://github.com/users/kOaDT/projects/3) para o trabalho planeado, ou escolha uma [good first issue](https://github.com/users/kOaDT/projects/3/views/6).

Encontrou todas as flags? Partilhe os seus walkthroughs no [site de documentação](https://koadt.github.io/oss-oopssec-store).

Para bugs ou sugestões, abra uma [GitHub Issue](https://github.com/kOaDT/oss-oopssec-store/issues). Consulte o [CONTRIBUTING.md](https://github.com/koadt/oss-oopssec-store/blob/main/CONTRIBUTING.md) para as diretrizes.

## 🎓 A utilizar o OopsSec Store num curso ou CTF?

Consulte o [Educator Kit](https://github.com/koadt/oss-oopssec-store/blob/main/EDUCATORS.md) - um guia pronto a usar com grelhas de cobertura OWASP, modelos de syllabus, FAQ de implementação e um modelo de relatório para estudantes. A construir as suas próprias ferramentas em torno do currículo? Tudo está publicado como um feed legível por máquina em [`challenges.json`](https://koadt.github.io/oss-oopssec-store/challenges.json), regenerado a cada implementação da documentação.

## Estatísticas do projeto

<div align="center">

[![OopsSec Store project stats](https://koadt.github.io/oss-oopssec-store/stats.svg)](https://koadt.github.io/oss-oopssec-store/roadmap)

<sub>Gerado a partir do próprio currículo e da API do GitHub, atualizado diariamente. Quer o seu avatar nessa linha? Escolha uma <a href="https://github.com/users/kOaDT/projects/3/views/6">good first issue</a>.</sub>

</div>

---

<div align="center">

Autor: [kOaDT](https://github.com/kOaDT)  
Projeto: [OopsSec Store](https://github.com/kOaDT/oss-oopssec-store)  
Contacto: [email protected]

Licença: [MIT](https://github.com/kOaDT/oss-oopssec-store/blob/main/LICENSE)

Não remova nem modifique o ficheiro LICENSE no seu fork.

</div>
Baixar ferramenta