Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gha-lab-b1fe4918c0 — Laboratoire de recherche en sécurité autorisé : reproduction de CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN divulgué dans les artefacts de workflow par remoteBuild.yml d'Adept (instantané de AdeptLanguage/Adept @ 6a64554) | Kitploit
Outils/GitHubGitHub/pvharmo2/gha-lab-b1fe4918c0
Analyse des VulnérabilitésSécurité de la Chaîne LogistiqueApprentissage et ÉducationRessources Organisées
GitHubpvharmo2/gha-lab-b1fe4918c0

gha-lab-b1fe4918c0

Laboratoire de recherche en sécurité autorisé : reproduction de CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN divulgué dans les artefacts de workflow par remoteBuild.yml d'Adept (instantané de AdeptLanguage/Adept @ 6a64554)

Voir le dépôt
19il y a 1 moisPas 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 AdeptLanguage/Adept au commit 6a6455463213dabe52d49ceaaebd1f13cfee9018 (2025-04-01), 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 — aucun identifiant réel n'est présent. Les références d'actions et les images d'exécuteur sont épinglées à ce qu'elles résolvaient au 2025-04-01 ; voir pinning.md dans la sortie du harnais pour chaque modification apportée à l'instantané.

Questions ou objections : [email protected]


Adept

Un langage fulgurant pour la programmation à usage général.

Télécharger Adept v2.7 pour Windows

Télécharger Adept v2.7 pour MacOS

Télécharger les extensions de compilation croisée Adept v2.7

Ressources

Documentation Adept v2.7

Serveur de langage Adept v2.7

Bibliothèque standard Adept v2.7

Adept v2.7 Travailler avec des bibliothèques nationales et étrangères

Adept v2.7 MacOS Homebrew Tap

Plugin Vim Adept v2.7

Coloration syntaxique minimale Vim Adept v2.7

Coloration syntaxique VSCode Adept v2.7

Serveur de langage VSCode Adept v2.7

Coloration syntaxique Sublime Text Adept v2.7

Coloration syntaxique Geany Adept v2.7

Utilisation en ligne de commande

adept [filename] [options]

  • filename - par défaut 'main.adept'
  • options - options secondaires du compilateur

Vous pouvez éventuellement utiliser adept2-7 au lieu de adept si vous avez plusieurs versions installées.

Fonctionnalités de base

Hello World

import basics

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

Variables

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")
}

Fonctions

import basics

func main {
    greet("Alice")
}

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

Enregistrements

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()
}

Structures

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"))
}

Pointeurs

import basics

func main {
    x, y int = 0

    x++
    y++
    addOneTo(&x)

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

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

Conditionnelles et boucles

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")
}

Listes

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
}

Propriété

/*
    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()
}

Étiquettes de boucle

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()
}

Expressions nommées et variables globales

import basics

// Will be re-evaluated with each use
define GREETING = "Welcome"
define STRANGER_NAME = "guest"
define WELCOME_MESSAGE = GREETING + " " + STRANGER_NAME + "!"
Télécharger l’outil