Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/pvharmo2/gha-lab-b9842b12c0
Análise de VulnerabilidadesExploraçãoAprendizado e EducaçãoRecursos Curados
GitHubpvharmo2/gha-lab-b9842b12c0

gha-lab-b9842b12c0

Laboratório autorizado de pesquisa em segurança reproduzindo CVE-2021-21423 (GHSA-gg2g-m5wc-vccq): solicitação pwn do projen rebuild-bot via issue_comment

Ver Repositório
11há 8h 26mAinda não revisado

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

Artefacto de pesquisa automatizado — não é o projeto original.

Este repositório é um laboratório descartável criado por um harness automatizado para uma dissertação de mestrado na Université Laval sobre a reprodução de vulnerabilidades publicadas em workflows do GitHub Actions. É um snapshot verbatim de projen/projen no commit 284d9162b9903c1828aa13ab56420c1183c49d40 (2021-03-09), redistribuído sob a licença do próprio projeto, cujo ficheiro está incluído inalterado neste snapshot.

O projeto original não está envolvido, nunca é alvo, e a vulnerabilidade estudada aqui já é pública. Todos os segredos e variáveis neste repositório são valores fictícios gerados aleatoriamente — nenhuma credencial real está presente. Referências de ações e imagens de runners estão fixadas ao que resolviam em 2021-03-09; consulte pinning.md na saída do harness para todas as alterações feitas ao snapshot.

Perguntas ou objeções: [email protected]


License

All Contributors

Gitpod ready-to-code

Build
Release

projen

projen logo

Defina e mantenha configurações complexas de projetos através de código.

JUNTE-SE AO MOVIMENTO #TemplatesAreEvil!

projen sintetiza ficheiros de configuração de projetos como package.json, tsconfig.json, .gitignore, GitHub Workflows, eslint, jest, etc a partir de uma definição bem tipada escrita em JavaScript.

Veja esta palestra sobre o projen.

Ao contrário das ferramentas existentes de templating/scaffolding, projen não é um gerador de uso único. Os ficheiros sintetizados nunca devem ser editados manualmente (na verdade, o projen impõe isso). Para modificar a configuração do seu projeto, os utilizadores interagem com classes ricas e fortemente tipadas e executam projen para atualizar os seus ficheiros de configuração do projeto.

Começar

Para criar um novo projeto, execute o seguinte comando e siga as instruções:```console $ mkdir my-project $ cd my-project $ git init $ npx projen new PROJECT-TYPE 🤖 Synthesizing project... ...

root@kitploit:~
Atualmente, os tipos de projeto suportados (use `npx projen new` sem um tipo para ver uma
lista):

<!-- <macro exec="node ./scripts/readme-projects.js"> -->
* [awscdk-app-ts](https://github.com/projen/projen/blob/master/API.md#projen-awscdktypescriptapp) - Aplicativo AWS CDK em TypeScript.
* [awscdk-construct](https://github.com/projen/projen/blob/master/API.md#projen-awscdkconstructlibrary) - Projeto de biblioteca de construct AWS CDK.
* [cdk8s-construct](https://github.com/projen/projen/blob/master/API.md#projen-constructlibrarycdk8s) - Projeto de biblioteca de construct CDK8s.
* [java](https://github.com/projen/projen/blob/master/API.md#projen-java.javaproject) - Projeto Java.
* [jsii](https://github.com/projen/projen/blob/master/API.md#projen-jsiiproject) - Projeto de biblioteca jsii multilíngue.
* [nextjs](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjsproject) - Projeto Next.js sem TypeScript.
* [nextjs-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjstypescriptproject) - Projeto Next.js com TypeScript.
* [node](https://github.com/projen/projen/blob/master/API.md#projen-nodeproject) - Projeto Node.js.
* [project](https://github.com/projen/projen/blob/master/API.md#projen-project) - Projeto base.
* [python](https://github.com/projen/projen/blob/master/API.md#projen-python.pythonproject) - Projeto Python.
* [react](https://github.com/projen/projen/blob/master/API.md#projen-web.reactproject) - Projeto React sem TypeScript.
* [react-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.reacttypescriptproject) - Projeto React com TypeScript.
* [typescript](https://github.com/projen/projen/blob/master/API.md#projen-typescriptproject) - Projeto TypeScript.
* [typescript-app](https://github.com/projen/projen/blob/master/API.md#projen-typescriptappproject) - Aplicativo TypeScript.
<!-- </macro> -->

> Use `npx projen new PROJECT-TYPE --help` para ver uma lista de opções de linha de
> comando que permitem especificar a maioria das opções do projeto durante o bootstrapping.
> Por exemplo: `npx projen new jsii --author-name "Jerry Berry"`.

O comando `new` criará um arquivo `.projenrc.js` que se parece com isto para
projetos `jsii`:```js
const { JsiiProject } = require('projen');

const project = new JsiiProject({
  authorAddress: "[email protected]",
  authorName: "Elad Ben-Israel",
  name: "foobar",
  repository: "https://github.com/eladn/foobar.git",
});

project.synth();

Este programa instancia o tipo de projeto com uma configuração mínima e, em seguida, chama synth() para sintetizar os arquivos do projeto. Por padrão, o comando new também executará este programa, o que resultará em um projeto totalmente funcional.

Depois que seu projeto for criado, você pode configurá-lo editando .projenrc.js e executando novamente npx projen para sintetizar de novo.

Os arquivos gerados pelo projen são considerados um "detalhe de implementação" e o projen os protege contra edição manual (a maioria dos arquivos é marcada como somente leitura, e uma verificação "anti-adulteração" é configurada no fluxo de trabalho de build do CI para garantir que os arquivos não sejam atualizados durante o build).

Por exemplo, para configurar a publicação no PyPI em projetos jsii, você pode usar opção python:```js const project = new JsiiProject({ // ... python: { distName: "mydist", module: "my_module", } });

root@kitploit:~
Executar:```shell
npx projen

E notará que o seu ficheiro package.json agora contém uma secção python na configuração jsii e o workflow release.yml do GitHub inclui um passo de publicação no PyPI.

Recomendamos que coloque isto no seu perfil de shell, para que possa simplesmente executar pj sempre que atualizar o .projenrc.js:```bash alias pj='npx projen'

root@kitploit:~
Most projects support a `start` command which displays a menu of workflow
activities:```shell
$ yarn start
? Scripts: (Use arrow keys)

  BUILD
❯ compile          Only compile
  watch            Watch & compile in the background
  build            Full release build (test+compile)

  TEST
  test             Run tests
  test:watch       Run jest in watch mode
  eslint           Runs eslint against the codebase

  ...

O comando build é o mesmo comando que é executado nos seus builds de CI. Ele normalmente compila, faz lint, testa e empacota o seu módulo para distribuição.

Funcionalidades

Alguns exemplos de funcionalidades integradas aos tipos de projeto:

  • Sintetiza totalmente o package.json
  • Scripts npm padrão como compile, build, test, package
  • eslint
  • Jest
  • jsii: compile, package, verificações de compatibilidade de API, API.md
  • Scripts de bump & release com geração de CHANGELOG baseada em Conventional Commits
  • Builds de PR automatizados
  • Releases automatizados para npm, maven, NuGet e PyPI
  • Configuração do Mergify
  • Geração de arquivo LICENSE
  • Gerenciamento de gitignore + npmignore
  • Suporte a "engines" do Node com acoplamento ao ambiente de build do CI e ao @types/node
  • Anti-adulteração: builds de CI falharão se um arquivo sintetizado for modificado manualmente

Referência da API

Consulte a Referência da API para detalhes da API.

Além disso, vários componentes e tipos de projeto do projen são explicados com exemplos em /docs (atualmente um trabalho em andamento!).

Ecossistema

projen adota uma abordagem "batteries included" e visa oferecer dezenas de tipos de projeto prontos para uso (estamos apenas começando). Pense em projen new react, projen new angular, projen new java-maven, projen new awscdk-typescript, projen new cdk8s-python (nada no projen está vinculado a javascript ou npm!)...

Adicionar novos tipos de projeto é tão simples quanto enviar um pull request para este repositório e exportar uma classe que estende projen.Project (ou um de seus derivados). O Projen descobre automaticamente os tipos de projeto, então o seu tipo estará imediatamente disponível em projen new.

Projetos em módulos externos

projen vem com muitos tipos de projeto prontos para uso, mas também pode funcionar com tipos de projeto e componentes definidos em módulos jsii externos (a razão pela qual precisamos de jsii é porque o projen usa os metadados do jsii para descobrir tipos de projeto e opções em projen new).

Digamos que temos um módulo no npm chamado projen-vuejs que inclui um único tipo de projeto para vue.js:```bash $ npx projen new --from projen-vuejs

root@kitploit:~
Se o módulo referenciado incluir vários tipos de projeto, o tipo é obrigatório.
Os switches também podem ser usados para especificar valores iniciais com base nas
APIs do tipo de projeto. Você também pode usar qualquer sintaxe de pacote suportada pelo [yarn
add](https://classic.yarnpkg.com/en/docs/cli/add#toc-adding-dependencies), como
`[email protected]`, `file:/path/to/local/folder`,
`[email protected]/awesome/projen-vuejs#1.2.3`, etc.```bash
$ npx projen new --from projen-vuejs@^2 vuejs-ts --description "my awesome vue project"

Por baixo dos panos, o projen new instalará o módulo projen-vuejs do npm (versão 2.0.0 e superior), descobrirá os tipos de projeto nele e inicializará o tipo de projeto vuejs-ts. Ele atribuirá o valor "my awesome vue project" ao campo description. Se você examinar seu arquivo .projenrc.js, verá que projen-vuejs está definido como uma dependência de desenvolvimento:```javascript const { VueJsProject } = require('projen-vuejs');

const project = new VueJsProject({ name: 'my-vuejs-sample', description: "my awesome vue project", // ... devDeps: [ 'projen-vuejs' ] });

project.synth();

root@kitploit:~
## Roadmap

Consulte a [Visão](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/VISION.md).

## Contribuições

Contribuições de todos os tipos são bem-vindas! Consulte o nosso [guia do
contribuidor](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CONTRIBUTING.md) e o nosso [código de conduta](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CODE_OF_CONDUCT.md).

Para um início rápido, consulte um ambiente de desenvolvimento:```bash
$ git clone [email protected]:projen/projen
$ cd projen
$ yarn
$ yarn watch # compile in the background

Obrigado a estas pessoas maravilhosas (chave de emoji):


Elad Ben-Israel

💻

Christopher Rybicki

💻

Philip M. Gollucci

💻

Thorsten Hoeger

💻

Kenneth Winner

💻

Licença

Distribuído sob a licença Apache-2.0.

Baixar ferramenta

Jordan Sinko

💻

Josh Kellendonk

💻

andrestone

💻

Cristian Pallarés

💻

Jonathan Goldwasser

💻

Matthew Bonig

💻

Pahud Hsieh

💻

Adam Elmore

💻

Ash

💻

Jacob

💻

Kraig Amador

💻

Martin Muller

💻

Tomasz Łakomy

💻

john-tipper

💻

Henry Sachs

💻

Joseph Egan

💻

Sebastian Korfmann

💻

Bart Callant

💻

Campion Fellin

💻

Grady Barrett

💻

Hassan Mahmud

💻

Hassan Mahmud

💻

Jake Pearson

💻

Jeremy Jonas

💻

Matt Martz

💻

Max Körlinge

💻

Neil Kuan

💻

Rafal Wilinski

💻

Romain Marcadier

💻

Thomas Klinger

💻

Tobias

💻

flyingImer

💻