Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gha-lab-b9842b12c0 — Laboratoire de recherche en sécurité autorisé reproduisant CVE-2021-21423 (GHSA-gg2g-m5wc-vccq) : requête pwn du rebuild-bot de projen via issue_comment | Kitploit
Outils/GitHubGitHub/pvharmo2/gha-lab-b9842b12c0
Analyse des VulnérabilitésExploitationApprentissage et ÉducationRessources Organisées
GitHubpvharmo2/gha-lab-b9842b12c0

gha-lab-b9842b12c0

Laboratoire de recherche en sécurité autorisé reproduisant CVE-2021-21423 (GHSA-gg2g-m5wc-vccq) : requête pwn du rebuild-bot de projen via issue_comment

Voir le dépôt
11il y a 8h 31mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Artéfact de recherche automatisé — pas le projet en amont.

Ce dépôt est un laboratoire jetable construit par un harnais automatisé pour un mémoire de maîtrise à l'Université Laval sur la reproduction de vulnérabilités publiées dans les workflows GitHub Actions. Il s'agit d'un instantané verbatim de projen/projen au commit 284d9162b9903c1828aa13ab56420c1183c49d40 (2021-03-09), redistribué sous la licence propre de ce projet, dont le fichier est inclus inchangé dans cet instantané.

Le projet en amont n'est pas impliqué, n'est jamais ciblé, et la vulnérabilité étudiée ici est déjà publique. Chaque secret et variable dans ce dépôt est une valeur factice générée aléatoirement — aucune information d'identification réelle n'est présente. Les références d'actions et les images d'exécuteurs sont épinglées à ce qu'elles résolvaient le 2021-03-09 ; voir pinning.md dans la sortie du harnais pour chaque modification apportée à l'instantané.

Questions ou objections : [email protected]


License

All Contributors

Gitpod ready-to-code

Build
Release

projen

projen logo

Définissez et maintenez une configuration de projet complexe via du code.

REJOIGNEZ LE MOUVEMENT #TemplatesAreEvil !

projen synthétise des fichiers de configuration de projet tels que package.json, tsconfig.json, .gitignore, les workflows GitHub, eslint, jest, etc. à partir d'une définition bien typée écrite en JavaScript.

Consultez cette présentation à propos de projen.

Contrairement aux outils de templating/scaffolding existants, projen n'est pas un générateur ponctuel. Les fichiers synthétisés ne doivent jamais être modifiés manuellement (en fait, projen l'impose). Pour modifier la configuration de votre projet, les utilisateurs interagissent avec des classes riches et fortement typées et exécutent projen pour mettre à jour leurs fichiers de configuration de projet.

Pour commencer

Pour créer un nouveau projet, exécutez la commande suivante et suivez les instructions :```console $ mkdir my-project $ cd my-project $ git init $ npx projen new PROJECT-TYPE 🤖 Synthesizing project... ...

root@kitploit:~
Types de projets actuellement pris en charge (utilisez `npx projen new` sans type pour obtenir une
liste) :

<!-- <macro exec="node ./scripts/readme-projects.js"> -->
* [awscdk-app-ts](https://github.com/projen/projen/blob/master/API.md#projen-awscdktypescriptapp) - Application AWS CDK en TypeScript.
* [awscdk-construct](https://github.com/projen/projen/blob/master/API.md#projen-awscdkconstructlibrary) - Projet de bibliothèque de constructs AWS CDK.
* [cdk8s-construct](https://github.com/projen/projen/blob/master/API.md#projen-constructlibrarycdk8s) - Projet de bibliothèque de constructs CDK8s.
* [java](https://github.com/projen/projen/blob/master/API.md#projen-java.javaproject) - Projet Java.
* [jsii](https://github.com/projen/projen/blob/master/API.md#projen-jsiiproject) - Projet de bibliothèque jsii multilingue.
* [nextjs](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjsproject) - Projet Next.js sans TypeScript.
* [nextjs-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjstypescriptproject) - Projet Next.js avec TypeScript.
* [node](https://github.com/projen/projen/blob/master/API.md#projen-nodeproject) - Projet Node.js.
* [project](https://github.com/projen/projen/blob/master/API.md#projen-project) - Projet de base.
* [python](https://github.com/projen/projen/blob/master/API.md#projen-python.pythonproject) - Projet Python.
* [react](https://github.com/projen/projen/blob/master/API.md#projen-web.reactproject) - Projet React sans TypeScript.
* [react-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.reacttypescriptproject) - Projet React avec TypeScript.
* [typescript](https://github.com/projen/projen/blob/master/API.md#projen-typescriptproject) - Projet TypeScript.
* [typescript-app](https://github.com/projen/projen/blob/master/API.md#projen-typescriptappproject) - Application TypeScript.
<!-- </macro> -->

> Utilisez `npx projen new TYPE-DE-PROJET --help` pour afficher une liste des options de ligne de commande
> qui vous permettent de spécifier la plupart des options du projet lors du bootstrap.
> Par exemple : `npx projen new jsii --author-name "Jerry Berry"`.

La commande `new` créera un fichier `.projenrc.js` qui ressemble à ceci pour
les projets `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();

Ce programme instancie le type de projet avec une configuration minimale, puis appelle synth() pour synthétiser les fichiers du projet. Par défaut, la commande new exécutera également ce programme, ce qui aboutira à un projet entièrement fonctionnel.

Une fois votre projet créé, vous pouvez le configurer en modifiant .projenrc.js et en ré-exécutant npx projen pour synthétiser à nouveau.

Les fichiers générés par projen sont considérés comme un "détail d'implémentation" et projen les protège contre toute modification manuelle (la plupart des fichiers sont marqués en lecture seule, et une vérification "anti-altération" est configurée dans le workflow de build CI pour garantir que les fichiers ne sont pas mis à jour pendant le build).

Par exemple, pour configurer la publication PyPI dans les projets jsii, vous pouvez utiliser l'option python :```js const project = new JsiiProject({ // ... python: { distName: "mydist", module: "my_module", } });

root@kitploit:~
Lancer :

```bash
python3 setup.py install
``````shell
npx projen

Et vous remarquerez que votre fichier package.json contient désormais une section python dans sa configuration jsii et que le workflow GitHub release.yml inclut une étape de publication sur PyPI.

Nous recommandons de placer ceci dans votre profil shell, afin de pouvoir simplement exécuter pj à chaque fois que vous mettez à jour .projenrc.js :```bash alias pj='npx projen'

root@kitploit:~
La plupart des projets prennent en charge une commande `start` qui affiche un menu des activités du workflow :```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

  ...

La commande build est la même commande qui est exécutée dans vos builds CI. Elle compile, lint, teste et empaquette généralement votre module pour la distribution.

Fonctionnalités

Quelques exemples de fonctionnalités intégrées aux types de projets :

  • Synthèse complète de package.json
  • Scripts npm standard comme compile, build, test, package
  • eslint
  • Jest
  • jsii : compilation, empaquetage, vérifications de compatibilité d'API, API.md
  • Scripts de bump et de release avec génération de CHANGELOG basée sur les Conventional Commits
  • Builds PR automatisés
  • Releases automatisées vers npm, maven, NuGet et PyPI
  • Configuration Mergify
  • Génération de fichiers LICENSE
  • Gestion de gitignore + npmignore
  • Support des "engines" Node avec couplage à l'environnement de build CI et à @types/node
  • Anti-altération : les builds CI échoueront si un fichier synthétisé est modifié manuellement

Référence API

Voir Référence API pour les détails de l'API.

De plus, plusieurs composants projen et types de projets sont expliqués avec des exemples dans /docs (actuellement un travail en cours !).

Écosystème

projen adopte une approche "batteries incluses" et vise à proposer des dizaines de types de projets prêts à l'emploi (nous ne faisons que commencer). Pensez à projen new react, projen new angular, projen new java-maven, projen new awscdk-typescript, projen new cdk8s-python (rien dans projen n'est lié à javascript ou npm)...

L'ajout de nouveaux types de projets est aussi simple que de soumettre une pull request à ce dépôt et d'exporter une classe qui étend projen.Project (ou l'un de ses dérivés). Projen découvre automatiquement les types de projets, donc votre type sera immédiatement disponible dans projen new.

Projets dans des modules externes

projen est fourni avec de nombreux types de projets prêts à l'emploi, mais il peut également fonctionner avec des types de projets et des composants définis dans des modules jsii externes (la raison pour laquelle nous avons besoin de jsii est que projen utilise les métadonnées jsii pour découvrir les types de projets et les options dans projen new).

Disons que nous avons un module dans npm appelé projen-vuejs qui inclut un seul type de projet pour vue.js :```bash $ npx projen new --from projen-vuejs

root@kitploit:~
Si le module référencé inclut plusieurs types de projets, le type est requis.
Les commutateurs peuvent également être utilisés pour spécifier des valeurs initiales basées sur les API
du type de projet. Vous pouvez également utiliser toute syntaxe de paquet prise en charge par [yarn
add](https://classic.yarnpkg.com/en/docs/cli/add#toc-adding-dependencies) comme
`[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"

Sous le capot, projen new installera le module projen-vuejs depuis npm (version 2.0.0 et supérieure), découvrira les types de projets qu'il contient et initialisera le type de projet vuejs-ts. Il attribuera la valeur "my awesome vue project" au champ description. Si vous examinez votre fichier .projenrc.js, vous verrez que projen-vuejs est défini comme une dépendance de développement :```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

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

## Contributions

Toutes les contributions sont les bienvenues ! Consultez notre [guide du
contributeur](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CONTRIBUTING.md) et notre [code de conduite](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CODE_OF_CONDUCT.md).

Pour un démarrage rapide, consultez un environnement de développement :```bash
$ git clone [email protected]:projen/projen
$ cd projen
$ yarn
$ yarn watch # compile in the background

Merci à ces personnes formidables (clé emoji) :


Elad Ben-Israel

💻

Christopher Rybicki

💻

Philip M. Gollucci

💻

Thorsten Hoeger

💻

Kenneth Winner

💻

Licence

Distribué sous la licence Apache-2.0.

Télécharger l’outil

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

💻