Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gha-lab-b1fe4918c0 — Laboratório autorizado de pesquisa em segurança: reprodução do CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN vazado em artefatos de workflow pelo remoteBuild.yml da Adept (snapshot de AdeptLanguage/Adept @ 6a64554) | Kitploit
Ferramentas/GitHubGitHub/pvharmo2/gha-lab-b1fe4918c0
Análise de VulnerabilidadesSegurança da Cadeia de SuprimentosAprendizado e EducaçãoRecursos Curados
GitHubpvharmo2/gha-lab-b1fe4918c0

gha-lab-b1fe4918c0

Laboratório autorizado de pesquisa em segurança: reprodução do CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — GITHUB_TOKEN vazado em artefatos de workflow pelo remoteBuild.yml da Adept (snapshot de AdeptLanguage/Adept @ 6a64554)

Ver Repositório
19há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Artefacto de investigação automatizado — não é o projeto original.

Este repositório é um laboratório descartável construído por um sistema automatizado para uma tese de mestrado na Université Laval sobre a reprodução de vulnerabilidades publicadas em workflows do GitHub Actions. É um instantâneo literal de AdeptLanguage/Adept no commit 6a6455463213dabe52d49ceaaebd1f13cfee9018 (2025-04-01), redistribuído sob a licença do próprio projeto, cujo ficheiro está incluído inalterado neste instantâneo.

O projeto original não está envolvido, nunca é alvo, e a vulnerabilidade estudada aqui já é pública. Todos os segredos e variáveis neste repositório são valores fictícios gerados aleatoriamente — nenhuma credencial real está presente. As referências de ações e imagens de runner estão fixadas no que resolveram em 2025-04-01; consulte pinning.md na saída do harness para todas as alterações feitas ao instantâneo.

Perguntas ou objeções: [email protected]


Adept

Uma linguagem extremamente rápida para programação de uso geral.

Descarregar Adept v2.7 para Windows

Descarregar Adept v2.7 para MacOS

Descarregar Extensões de Compilação Cruzada do Adept v2.7

Recursos

Documentação do Adept v2.7

Servidor de Linguagem do Adept v2.7

Biblioteca Padrão do Adept v2.7

Adept v2.7 Trabalhar com Bibliotecas Nacionais e Estrangeiras

Adept v2.7 MacOS Homebrew Tap

Plugin Vim do Adept v2.7

Destaque de Sintaxe Básico Vim do Adept v2.7

Destaque de Sintaxe VSCode do Adept v2.7

Servidor de Linguagem VSCode do Adept v2.7

Destaque de Sintaxe Sublime Text do Adept v2.7

Destaque de Sintaxe Geany do Adept v2.7

Utilização na Linha de Comandos

adept [filename] [options]

  • filename - o padrão é 'main.adept'
  • options - opções secundárias do compilador

Pode opcionalmente usar adept2-7 em vez de adept se tiver várias versões instaladas.

Funcionalidade Básica

Hello World

import basics

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

Variáveis

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

Funções

import basics

func main {
    greet("Alice")
}

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

Records

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

Structs

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

Ponteiros

import basics

func main {
    x, y int = 0

    x++
    y++
    addOneTo(&x)

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

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

Condicionais e Ciclos

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
}

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

Rótulos de Ciclos

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

Expressões Nomeadas e Variáveis Globais

import basics

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