Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gha-lab-b1fe4918c0 — Laboratorio di ricerca sulla sicurezza autorizzato: riproduzione di CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN divulgato negli artefatti del workflow da remoteBuild.yml di Adept (snapshot di AdeptLanguage/Adept @ 6a64554) | Kitploit
Strumenti/GitHubGitHub/pvharmo2/gha-lab-b1fe4918c0
Analisi delle VulnerabilitàSicurezza della Supply ChainApprendimento e FormazioneRisorse Curate
GitHubpvharmo2/gha-lab-b1fe4918c0

gha-lab-b1fe4918c0

Laboratorio di ricerca sulla sicurezza autorizzato: riproduzione di CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN divulgato negli artefatti del workflow da remoteBuild.yml di Adept (snapshot di AdeptLanguage/Adept @ 6a64554)

Vedi Repository
191 mese 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 verbatim di AdeptLanguage/Adept al commit 6a6455463213dabe52d49ceaaebd1f13cfee9018 (2025-04-01), 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 2025-04-01; consulta pinning.md nell'output dell'harness per ogni modifica apportata allo snapshot.

Domande o obiezioni: [email protected]


Adept

Un linguaggio velocissimo per la programmazione generica.

Scarica Adept v2.7 per Windows

Scarica Adept v2.7 per MacOS

Scarica le estensioni di cross-compilazione di Adept v2.7

Risorse

Documentazione di Adept v2.7

Language Server di Adept v2.7

Libreria standard di Adept v2.7

Adept v2.7: lavorare con librerie nazionali ed estere

Tap Homebrew per Adept v2.7 su MacOS

Plugin Vim per Adept v2.7

Evidenziazione sintassi essenziale Vim per Adept v2.7

Evidenziazione sintassi VSCode per Adept v2.7

Language Server VSCode per Adept v2.7

Evidenziazione sintassi Sublime Text per Adept v2.7

Evidenziazione sintassi Geany per Adept v2.7

Utilizzo da riga di comando

adept [filename] [options]

  • filename - il valore predefinito è 'main.adept'
  • options - opzioni secondarie del compilatore

Puoi opzionalmente usare adept2-7 invece di adept se hai installato più versioni.

Funzionalità di base

Hello World

import basics

func main {
    print("Hello World!")
}

Variabili

import basics

func main {
    name String = "Alan"
    age int = 36
    height uint = 189
    
    print("Name is " + name)
    print("Age is " + age)
    print("Height is " + height + " cm")
}

Funzioni

import basics

func main {
    greet("Alice")
}

func greet(name String) {
    print("Hello " + name)
}

Record

import basics

record Person (name String, age int) {
    func print {
        print(this.name + " is " + this.age + " years old")
    }
}

func main {
    Person("John Smith", 36).print()
}

Struct

import basics

struct Configuration (
    filename String,
    numBatteries int,
    numPorts int,
){
    constructor(filename String) {
        this.filename = filename.commit()
        this.numBatteries = 4
        this.numPorts = 10
    }
}

func toString(config Configuration) String {
    return config.filename + ":" + config.numBatteries + ":" + config.numPorts
}

func main {
    print(Configuration("settings.config"))
}

Puntatori

import basics

func main {
    x, y int = 0

    x++
    y++
    addOneTo(&x)

    print("x = " + x)
    print("y = " + y)
}

func addOneTo(pointerToNumber *$T~__number__) {
    (*pointerToNumber)++
}

Condizionali e cicli

import basics

func main {
    name String = scan("What is your name? ")
    age int = scanInt("How old are you? ")
    
    // If conditional
    if name == "Isaac" {
        print("Hello Isaac :)")
    } else {
        print("Nice to meet you " + name)
    }
    
    // Unless conditional
    unless age > 21 {
        print("You are too young to drink")
    }
    
    // While loops
    while age < 18 {
        print("**birthday**")
        age += 1
    }
    
    print("You are now old enough to smoke")
    
    // Until loops
    until age >= 21 {
        print("**birthday**")
        age += 1
    }
    
    print("You are now old enough to drink")
}

Liste

import basics

record Invitation (to, from String, priority int)

func main {
    invites <Invitation> List
    invites.add(Invitation("Isaac", "Peter", 4))
    invites.add(Invitation("Mr. Smith", "Mrs. Smith", 12))
    invites.add(Invitation("James", "Paul", 3))

    each Invitation in invites {
        printf("invites[%zu] = %S\n", idx, toString(it))
    }
}

func toString(invite Invitation) String {
    return invite.to + " invited " + invite.from + " with priority " + invite.priority
}

Ownership

/*
    For values that use ownership-based memory management
    (e.g. String, List, Grid)
    
    we must transfer ownership if we want to keep them
    alive for longer than their owner's scope
*/

import basics

func main {
    everyone <String> List = getEveryoneAttending()
    
    each fullname String in everyone {
        print("=> " + fullname)
    }
}

func getEveryoneAttending() <String> List {
    everyone <String> List

    person1 String = getFullnameReturnImmediately("Alice", "Golden")
    person2 String = getFullnameStoreAndThenLaterReturn("Bob", "Johnson")

    // Commit ownership of strings held by 'person1' and 'person2'
    // to be managed by the list
    everyone.add(person1.commit())
    everyone.add(person2.commit())

    // Commit ownership of the list to the caller
    return everyone.commit()
}

func getFullnameReturnImmediately(firstname, lastname String) String {
    // '.commit()' is not necessary here
    return firstname + " " + lastname
}

func getFullnameStoreAndThenLaterReturn(firstname, lastname String) String {
    fullname String = firstname + " " + lastname
    
    // Ownership of the result is held by 'fullname',
    // so we must transfer ownership to the caller in order
    // to keep it alive after this function returns

    // '.commit()' is necessary here
    return fullname.commit()
}

Etichette dei cicli

import basics

func main {
    print(makeNumericSkewer())
    print(makeAlphabetSkewer())
}

func makeNumericSkewer String {
    // Example output: `0-2-4-6-8-10-13-16-19-22-25-28`

    skewer String

    while continue preparing {
        skewer.append(skewer.length)

        if skewer.length < 30 {
            skewer.append("-")
            continue preparing
        }
    }

    return skewer.commit()
}

func makeAlphabetSkewer String {
    // Example output: `a-c-e-g-i-k-m-o-q-s-u-w-y`

    skewer String

    while still_making_skewer : skewer.length < 30 {
        skewer.append('a'ub + skewer.length as ubyte)

        if skewer[skewer.length - 1] == 'y'ub {
            break still_making_skewer
        }

        skewer.append("-")
    }

    return skewer.commit()
}

Espressioni nominate e variabili globali

import basics

// Will be re-evaluated with each use
define GREETING = "Welcome"
define STRANGER_NAME = "guest"
define WELCOME_MESSAGE = GREETING + " " + STRANGER_NAME + "!"
Scarica lo strumento