Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gha-lab-b9842b12c0 — Laboratorio de investigación de seguridad autorizado que reproduce CVE-2021-21423 (GHSA-gg2g-m5wc-vccq): solicitud pwn del projen rebuild-bot a través de issue_comment | Kitploit
Herramientas/GitHubGitHub/pvharmo2/gha-lab-b9842b12c0
Análisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónRecursos Curados
GitHubpvharmo2/gha-lab-b9842b12c0

gha-lab-b9842b12c0

Laboratorio de investigación de seguridad autorizado que reproduce CVE-2021-21423 (GHSA-gg2g-m5wc-vccq): solicitud pwn del projen rebuild-bot a través de issue_comment

Ver Repositorio
11hace 8h 26mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Artefacto de investigación automatizado — no es el proyecto original.

Este repositorio es un laboratorio desechable construido por un sistema automatizado para una tesis de maestría en la Université Laval sobre la reproducción de vulnerabilidades publicadas en flujos de trabajo de GitHub Actions. Es una instantánea verbatim de projen/projen en el commit 284d9162b9903c1828aa13ab56420c1183c49d40 (2021-03-09), redistribuida bajo la licencia de ese proyecto, cuyo archivo se incluye sin cambios en esta instantánea.

El proyecto original no está involucrado, nunca es el objetivo, y la vulnerabilidad estudiada aquí ya es pública. Cada secreto y variable en este repositorio es un valor ficticio generado aleatoriamente — no hay ninguna credencial real presente. Las referencias a acciones e imágenes de ejecutores están fijadas a lo que resolvieron el 2021-03-09; consulta pinning.md en la salida del sistema para cada cambio realizado en la instantánea.

Preguntas u objeciones: [email protected]


License

All Contributors

Gitpod ready-to-code

Build
Release

projen

projen logo

Define y mantén configuraciones de proyectos complejas mediante código.

¡ÚNETE AL MOVIMIENTO #TemplatesAreEvil!

projen sintetiza archivos de configuración de proyectos como package.json, tsconfig.json, .gitignore, flujos de trabajo de GitHub, eslint, jest, etc. a partir de una definición bien tipada escrita en JavaScript.

Consulta esta charla sobre projen.

A diferencia de las herramientas existentes de plantillas/scaffolding, projen no es un generador de una sola vez. Los archivos sintetizados nunca deben editarse manualmente (de hecho, projen lo impone). Para modificar la configuración de tu proyecto, los usuarios interactúan con clases ricas y fuertemente tipadas y ejecutan projen para actualizar sus archivos de configuración del proyecto.

Primeros pasos

Para crear un nuevo proyecto, ejecuta el siguiente comando y sigue las instrucciones:```console $ mkdir my-project $ cd my-project $ git init $ npx projen new PROJECT-TYPE 🤖 Synthesizing project... ...

root@kitploit:~
Actualmente, los tipos de proyecto compatibles son (usa `npx projen new` sin un tipo para ver una lista):

<!-- <macro exec="node ./scripts/readme-projects.js"> -->
* [awscdk-app-ts](https://github.com/projen/projen/blob/master/API.md#projen-awscdktypescriptapp) - Aplicación AWS CDK en TypeScript.
* [awscdk-construct](https://github.com/projen/projen/blob/master/API.md#projen-awscdkconstructlibrary) - Proyecto de biblioteca de constructos AWS CDK.
* [cdk8s-construct](https://github.com/projen/projen/blob/master/API.md#projen-constructlibrarycdk8s) - Proyecto de biblioteca de constructos CDK8s.
* [java](https://github.com/projen/projen/blob/master/API.md#projen-java.javaproject) - Proyecto Java.
* [jsii](https://github.com/projen/projen/blob/master/API.md#projen-jsiiproject) - Proyecto de biblioteca jsii multilingüe.
* [nextjs](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjsproject) - Proyecto Next.js sin TypeScript.
* [nextjs-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjstypescriptproject) - Proyecto Next.js con TypeScript.
* [node](https://github.com/projen/projen/blob/master/API.md#projen-nodeproject) - Proyecto Node.js.
* [project](https://github.com/projen/projen/blob/master/API.md#projen-project) - Proyecto base.
* [python](https://github.com/projen/projen/blob/master/API.md#projen-python.pythonproject) - Proyecto Python.
* [react](https://github.com/projen/projen/blob/master/API.md#projen-web.reactproject) - Proyecto React sin TypeScript.
* [react-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.reacttypescriptproject) - Proyecto React con TypeScript.
* [typescript](https://github.com/projen/projen/blob/master/API.md#projen-typescriptproject) - Proyecto TypeScript.
* [typescript-app](https://github.com/projen/projen/blob/master/API.md#projen-typescriptappproject) - Aplicación TypeScript.
<!-- </macro> -->

> Usa `npx projen new PROJECT-TYPE --help` para ver una lista de opciones de
> línea de comandos que te permiten especificar la mayoría de las opciones del proyecto durante el arranque.
> Por ejemplo: `npx projen new jsii --author-name "Jerry Berry"`.

El comando `new` creará un archivo `.projenrc.js` que se ve así para
proyectos `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 el tipo de proyecto con una configuración mínima y luego llama a synth() para sintetizar los archivos del proyecto. De forma predeterminada, el comando new también ejecutará este programa, lo que dará como resultado un proyecto completamente funcional.

Una vez que se crea tu proyecto, puedes configurarlo editando .projenrc.js y volviendo a ejecutar npx projen para sintetizarlo nuevamente.

Los archivos generados por projen se consideran un "detalle de implementación" y projen los protege de ser editados manualmente (la mayoría de los archivos están marcados como de solo lectura, y se configura una verificación "anti manipulación" en el flujo de trabajo de compilación de CI para garantizar que los archivos no se actualicen durante la compilación).

Por ejemplo, para configurar la publicación en PyPI en proyectos jsii, puedes usar opción python:```js const project = new JsiiProject({ // ... python: { distName: "mydist", module: "my_module", } });

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

Y notarás que tu archivo package.json ahora contiene una sección python en su configuración jsii, y el flujo de trabajo release.yml de GitHub incluye un paso de publicación en PyPI.

Recomendamos poner esto en tu perfil de shell, para que puedas simplemente ejecutar pj cada vez que actualices .projenrc.js:```bash alias pj='npx projen'

root@kitploit:~
La mayoría de los proyectos admiten un comando `start` que muestra un menú de actividades del flujo de trabajo:```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

  ...

El comando build es el mismo comando que se ejecuta en tus builds de CI. Normalmente compila, ejecuta linters, ejecuta pruebas y empaqueta tu módulo para su distribución.

Características

Algunos ejemplos de características integradas en los tipos de proyecto:

  • Sintetiza completamente package.json
  • Scripts npm estándar como compile, build, test, package
  • eslint
  • Jest
  • jsii: compile, package, comprobaciones de compatibilidad de API, API.md
  • Scripts de bump y release con generación de CHANGELOG basada en Conventional Commits
  • Builds de PR automatizados
  • Releases automatizados a npm, maven, NuGet y PyPI
  • Configuración de Mergify
  • Generación de archivos LICENSE
  • Gestión de gitignore + npmignore
  • Soporte de "engines" de Node con acoplamiento al entorno de build de CI y a @types/node
  • Anti-manipulación: los builds de CI fallarán si un archivo sintetizado se modifica manualmente

Referencia de API

Consulta la Referencia de API para obtener detalles de la API.

Además, varios componentes de projen y tipos de proyecto se explican con ejemplos en /docs (¡actualmente un trabajo en progreso!).

Ecosistema

projen adopta un enfoque de "baterías incluidas" y tiene como objetivo ofrecer docenas de tipos de proyecto listos para usar (apenas estamos comenzando). Piensa en projen new react, projen new angular, projen new java-maven, projen new awscdk-typescript, projen new cdk8s-python (nada en projen está vinculado a javascript o npm)...

Agregar nuevos tipos de proyecto es tan simple como enviar un pull request a este repositorio y exportar una clase que extienda projen.Project (o uno de sus derivados). Projen descubre automáticamente los tipos de proyecto, por lo que tu tipo estará disponible de inmediato en projen new.

Proyectos en módulos externos

projen viene incluido con muchos tipos de proyecto listos para usar, pero también puede funcionar con tipos de proyecto y componentes definidos en módulos jsii externos (la razón por la que necesitamos jsii es porque projen usa los metadatos de jsii para descubrir tipos de proyecto y opciones en projen new).

Digamos que tenemos un módulo en npm llamado projen-vuejs que incluye un único tipo de proyecto para vue.js:```bash $ npx projen new --from projen-vuejs

root@kitploit:~
Si el módulo referenciado incluye múltiples tipos de proyecto, el tipo es obligatorio.
Los interruptores también se pueden usar para especificar valores iniciales según las
APIs del tipo de proyecto. También puedes usar cualquier sintaxis de paquete compatible con [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"

Bajo el capó, projen new instalará el módulo projen-vuejs desde npm (versión 2.0.0 y superior), descubrirá los tipos de proyecto que contiene e inicializará el tipo de proyecto vuejs-ts. Asignará el valor "my awesome vue project" al campo description. Si examinas tu archivo .projenrc.js, verás que projen-vuejs está definido como una dependencia de desarrollo:```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

Consulta [Vision](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/VISION.md).

## Contribuciones

¡Todo tipo de contribuciones son bienvenidas! Consulta nuestra [guía para
contribuidores](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CONTRIBUTING.md) y nuestro [código de conducta](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CODE_OF_CONDUCT.md).

Para un inicio rápido, revisa un entorno de desarrollo:```bash
$ git clone [email protected]:projen/projen
$ cd projen
$ yarn
$ yarn watch # compile in the background

Gracias a estas maravillosas personas (clave de emoji):


Elad Ben-Israel

💻

Christopher Rybicki

💻

Philip M. Gollucci

💻

Thorsten Hoeger

💻

Kenneth Winner

💻

Licencia

Distribuido bajo la licencia Apache-2.0.

Descargar herramienta

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

💻