Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gha-lab-b9842b12c0 — Laboratorio di ricerca sulla sicurezza autorizzato che riproduce CVE-2021-21423 (GHSA-gg2g-m5wc-vccq): richiesta pwn di projen rebuild-bot tramite issue_comment | Kitploit
Strumenti/GitHubGitHub/pvharmo2/gha-lab-b9842b12c0
Analisi delle VulnerabilitàExploitApprendimento e FormazioneRisorse Curate
GitHubpvharmo2/gha-lab-b9842b12c0

gha-lab-b9842b12c0

Laboratorio di ricerca sulla sicurezza autorizzato che riproduce CVE-2021-21423 (GHSA-gg2g-m5wc-vccq): richiesta pwn di projen rebuild-bot tramite issue_comment

Vedi Repository
118h 30m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Artefatto di ricerca automatizzato — non è il progetto upstream.

Questo repository è un laboratorio usa e getta costruito da un sistema automatizzato per una tesi magistrale presso l'Université Laval sulla riproduzione di vulnerabilità pubblicate nei workflow di GitHub Actions. È uno snapshot integrale di projen/projen al commit 284d9162b9903c1828aa13ab56420c1183c49d40 (2021-03-09), ridistribuito sotto la licenza del progetto stesso, il cui file è incluso invariato in questo snapshot.

Il progetto upstream non è coinvolto, non è mai preso di mira, e la vulnerabilità studiata qui è già pubblica. Ogni segreto e variabile in questo repository è un valore fittizio generato casualmente — nessuna credenziale reale è presente. I riferimenti alle Action e le immagini dei runner sono bloccati a ciò a cui risolvevano il 2021-03-09; consulta pinning.md nell'output del sistema per ogni modifica apportata allo snapshot.

Domande o obiezioni: [email protected]


License

All Contributors

Gitpod ready-to-code Build Release

projen

projen logo

Definisci e mantieni configurazioni di progetto complesse tramite codice.

UNISCITI AL MOVIMENTO #TemplatesAreEvil!

projen sintetizza file di configurazione del progetto come package.json, tsconfig.json, .gitignore, workflow di GitHub, eslint, jest, ecc. a partire da una definizione ben tipizzata scritta in JavaScript.

Guarda questa presentazione su projen.

A differenza dei tradizionali strumenti di templating/scaffolding, projen non è un generatore una tantum. I file sintetizzati non dovrebbero mai essere modificati manualmente (anzi, projen lo impone). Per modificare la configurazione del progetto, gli utenti interagiscono con classi ricche e fortemente tipizzate ed eseguono projen per aggiornare i file di configurazione del progetto.

Per Iniziare

Per creare un nuovo progetto, esegui il seguente comando e segui le istruzioni:```console $ mkdir my-project $ cd my-project $ git init $ npx projen new PROJECT-TYPE 🤖 Synthesizing project... ...

root@kitploit:~
Attualmente i tipi di progetto supportati (usa `npx projen new` senza un tipo per un
elenco):

<!-- <macro exec="node ./scripts/readme-projects.js"> -->
* [awscdk-app-ts](https://github.com/projen/projen/blob/master/API.md#projen-awscdktypescriptapp) - App AWS CDK in TypeScript.
* [awscdk-construct](https://github.com/projen/projen/blob/master/API.md#projen-awscdkconstructlibrary) - Progetto di libreria di costrutti AWS CDK.
* [cdk8s-construct](https://github.com/projen/projen/blob/master/API.md#projen-constructlibrarycdk8s) - Progetto di libreria di costrutti CDK8s.
* [java](https://github.com/projen/projen/blob/master/API.md#projen-java.javaproject) - Progetto Java.
* [jsii](https://github.com/projen/projen/blob/master/API.md#projen-jsiiproject) - Progetto di libreria jsii multilingua.
* [nextjs](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjsproject) - Progetto Next.js senza TypeScript.
* [nextjs-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.nextjstypescriptproject) - Progetto Next.js con TypeScript.
* [node](https://github.com/projen/projen/blob/master/API.md#projen-nodeproject) - Progetto Node.js.
* [project](https://github.com/projen/projen/blob/master/API.md#projen-project) - Progetto base.
* [python](https://github.com/projen/projen/blob/master/API.md#projen-python.pythonproject) - Progetto Python.
* [react](https://github.com/projen/projen/blob/master/API.md#projen-web.reactproject) - Progetto React senza TypeScript.
* [react-ts](https://github.com/projen/projen/blob/master/API.md#projen-web.reacttypescriptproject) - Progetto React con TypeScript.
* [typescript](https://github.com/projen/projen/blob/master/API.md#projen-typescriptproject) - Progetto TypeScript.
* [typescript-app](https://github.com/projen/projen/blob/master/API.md#projen-typescriptappproject) - App TypeScript.
<!-- </macro> -->

> Usa `npx projen new PROJECT-TYPE --help` per visualizzare un elenco di opzioni
> da riga di comando che ti consentono di specificare la maggior parte delle opzioni del progetto durante il bootstrap.
> Ad esempio: `npx projen new jsii --author-name "Jerry Berry"`.

Il comando `new` creerà un file `.projenrc.js` che si presenta così per
i progetti `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();

Questo programma istanzia il tipo di progetto con una configurazione minima, e poi chiama synth() per sintetizzare i file del progetto. Di default, il comando new eseguirà anche questo programma, il che risulterà in un progetto completamente funzionante.

Una volta creato il tuo progetto, puoi configurarlo modificando .projenrc.js e rieseguendo npx projen per sintetizzare di nuovo.

I file generati da projen sono considerati un "dettaglio implementativo" e projen li protegge dalla modifica manuale (la maggior parte dei file è contrassegnata come sola lettura, e un controllo "anti manomissione" è configurato nel workflow di build CI per garantire che i file non vengano aggiornati durante la build).

Ad esempio, per configurare la pubblicazione su PyPI nei progetti jsii, puoi usare python option:```js const project = new JsiiProject({ // ... python: { distName: "mydist", module: "my_module", } });

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

E noterai che il tuo file package.json ora contiene una sezione python nella sua configurazione jsii e il workflow GitHub release.yml include un passaggio di pubblicazione su PyPI.

Ti consigliamo di inserire questo nel tuo profilo di shell, così potrai semplicemente eseguire pj ogni volta che aggiorni .projenrc.js:```bash alias pj='npx projen'

root@kitploit:~
La maggior parte dei progetti supporta un comando `start` che mostra un menu delle attività del flusso di lavoro:```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

  ...

Il comando build è lo stesso comando che viene eseguito nelle build CI. In genere compila, esegue lint, test e impacchetta il modulo per la distribuzione.

Funzionalità

Alcuni esempi di funzionalità integrate nei tipi di progetto:

  • Sintesi completa di package.json
  • Script npm standard come compile, build, test, package
  • eslint
  • Jest
  • jsii: compilazione, impacchettamento, controlli di compatibilità API, API.md
  • Script di bump e release con generazione di CHANGELOG basata su Conventional Commits
  • Build PR automatizzate
  • Release automatizzate su npm, maven, NuGet e PyPI
  • Configurazione Mergify
  • Generazione del file LICENSE
  • Gestione di gitignore + npmignore
  • Supporto "engines" di Node con collegamento all'ambiente di build CI e a @types/node
  • Anti-manomissione: le build CI falliranno se un file sintetizzato viene modificato manualmente

Riferimento API

Vedi Riferimento API per i dettagli API.

Inoltre, diversi componenti e tipi di progetto di projen sono spiegati con esempi in /docs (attualmente un lavoro in corso!).

Ecosistema

projen adotta un approccio "batterie incluse" e mira a offrire dozzine di diversi tipi di progetto pronti all'uso (stiamo solo iniziando). Pensa a projen new react, projen new angular, projen new java-maven, projen new awscdk-typescript, projen new cdk8s-python (nulla in projen è legato a javascript o npm)...

Aggiungere nuovi tipi di progetto è semplice come inviare una pull request a questo repository ed esportare una classe che estende projen.Project (o uno dei suoi derivati). Projen scopre automaticamente i tipi di progetto, quindi il tuo tipo sarà immediatamente disponibile in projen new.

Progetti in moduli esterni

projen è fornito con molti tipi di progetto pronti all'uso, ma può anche funzionare con tipi di progetto e componenti definiti in moduli jsii esterni (il motivo per cui abbiamo bisogno di jsii è che projen usa i metadati jsii per scoprire i tipi di progetto e le opzioni in projen new).

Supponiamo di avere un modulo in npm chiamato projen-vuejs che include un singolo tipo di progetto per vue.js:```bash $ npx projen new --from projen-vuejs

root@kitploit:~
Se il modulo referenziato include più tipi di progetto, il tipo è obbligatorio.
Gli switch possono essere utilizzati anche per specificare valori iniziali basati sulle API
del tipo di progetto. Puoi anche utilizzare qualsiasi sintassi di pacchetto supportata da [yarn
add](https://classic.yarnpkg.com/en/docs/cli/add#toc-adding-dependencies) come
`[email protected]`, `file:/path/to/local/folder`,
`[email protected]/awesome/projen-vuejs#1.2.3`, ecc.```bash
$ npx projen new --from projen-vuejs@^2 vuejs-ts --description "my awesome vue project"

Sotto il cofano, projen new installerà il modulo projen-vuejs da npm (versione 2.0.0 e successive), scoprirà i tipi di progetto in esso contenuti e avvierà il tipo di progetto vuejs-ts. Assegnerà il valore "my awesome vue project" al campo description. Se esamini il tuo file .projenrc.js, vedrai che projen-vuejs è definito come dipendenza di sviluppo:```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

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

## Contributi

Sono benvenuti contributi di ogni tipo! Consulta la nostra [guida per i
contributori](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CONTRIBUTING.md) e il nostro [codice di condotta](https://github.com/pvharmo2/gha-lab-b9842b12c0/blob/HEAD/CODE_OF_CONDUCT.md).

Per un avvio rapido, controlla un ambiente di sviluppo:```bash
$ git clone [email protected]:projen/projen
$ cd projen
$ yarn
$ yarn watch # compile in the background

Grazie a queste fantastiche persone (chiave emoji):

Licenza

Distribuito sotto licenza Apache-2.0.

Scarica lo strumento

Elad Ben-Israel

💻

Christopher Rybicki

💻

Philip M. Gollucci

💻

Thorsten Hoeger

💻

Kenneth Winner

💻

Jordan Sinko

💻

Josh Kellendonk

💻

andrestone

💻

Cristian Pallarés

💻

Jonathan Goldwasser

💻

Matthew Bonig

💻

Pahud Hsieh

💻

Jacob

💻

Kraig Amador

💻

Martin Muller

💻

Tomasz Łakomy

💻

john-tipper

💻

Sebastian Korfmann

💻

Bart Callant

💻

Campion Fellin

💻

Grady Barrett

💻

Hassan Mahmud

💻

Jeremy Jonas

💻

Matt Martz

💻

Max Körlinge

💻

Neil Kuan

💻

Rafal Wilinski

💻

Tobias

💻

flyingImer

💻

Adam Elmore

💻

Ash

💻

Henry Sachs

💻

Joseph Egan

💻

Hassan Mahmud

💻

Jake Pearson

💻

Romain Marcadier

💻

Thomas Klinger

💻