Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gha-lab-b1fe4918c0 — # Laboratorio autorizado de investigación en seguridad: reproducción de CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN filtrado en artefactos de workflow por remoteBuild.yml de Adept (instantánea de AdeptLanguage/Adept @ 6a64554) | Kitploit
Herramientas/GitHubGitHub/pvharmo2/gha-lab-b1fe4918c0
Análisis de VulnerabilidadesSeguridad de Cadena de SuministroAprendizaje y EducaciónRecursos Curados
GitHubpvharmo2/gha-lab-b1fe4918c0

gha-lab-b1fe4918c0

# Laboratorio autorizado de investigación en seguridad: reproducción de CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN filtrado en artefactos de workflow por remoteBuild.yml de Adept (instantánea de AdeptLanguage/Adept @ 6a64554)

Ver Repositorio
20hace 1 mesAú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 Université Laval sobre la reproducción de vulnerabilidades publicadas en flujos de trabajo de GitHub Actions. Es una instantánea verbatim de AdeptLanguage/Adept en el commit 6a6455463213dabe52d49ceaaebd1f13cfee9018 (2025-04-01), redistribuida bajo la licencia de ese mismo proyecto, cuyo archivo se incluye sin cambios en esta instantánea.

El proyecto original no está involucrado, nunca es 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 de acciones y las imágenes de ejecutor están fijadas a lo que resolvieron el 2025-04-01; consulta pinning.md en la salida del sistema para cada cambio realizado en la instantánea.

Preguntas u objeciones: [email protected]


Adept

Un lenguaje ultrarrápido para programación de propósito general.

Descargar Adept v2.7 para Windows

Descargar Adept v2.7 para MacOS

Descargar Adept v2.7 Extensiones de Compilación Cruzada

Recursos

Documentación de Adept v2.7

Servidor de Lenguaje de Adept v2.7

Biblioteca Estándar de Adept v2.7

Adept v2.7 Trabajando con Bibliotecas Nacionales y Extranjeras

Adept v2.7 MacOS Homebrew Tap

Complemento Vim para Adept v2.7

Resaltado de Sintaxis Básico para Vim de Adept v2.7

Resaltado de Sintaxis para VSCode de Adept v2.7

Servidor de Lenguaje para VSCode de Adept v2.7

Resaltado de Sintaxis para Sublime Text de Adept v2.7

Resaltado de Sintaxis para Geany de Adept v2.7

Uso desde la Línea de Comandos

adept [filename] [options]

  • filename - por defecto es 'main.adept'
  • options - opciones secundarias del compilador

Opcionalmente puedes usar adept2-7 en lugar de adept si tienes varias versiones instaladas.

Funcionalidad Básica

Hola Mundo

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

Funciones

import basics

func main {
    greet("Alice")
}

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

Registros

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

Estructuras

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

Punteros

import basics

func main {
    x, y int = 0

    x++
    y++
    addOneTo(&x)

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

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

Condicionales y Bucles

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

Listas

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
}

Propiedad

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

Etiquetas de Bucle

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

Expresiones Nombradas y Variables Globales

import basics

// Will be re-evaluated with each use
define GREETING = "Welcome"
define STRANGER_NAME = "guest"
define WELCOME_MESSAGE = GREETING + " " + STRANGER_NAME + "!"
Descargar herramienta