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
FLAWED — Artefatos semelhantes a correções com defeitos incorporados | Kitploit
Ferramentas/GitHubGitHub/off-by-1-labs/flawed
Ferramentas DefensivasAnálise EstáticaScanners de VulnerabilidadesAnálise Dinâmica (Sandboxing)Análise de VulnerabilidadesAnálise de CódigoFuzzingAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IA
24561há 2 mesesRevisado pelo Kitploit

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 →
GitHub
off-by-1-labs/flawed

FLAWED

Artefatos semelhantes a correções com defeitos incorporados

Ver Repositório
Compartilhar
FLAWED

Fix Like Artifacts with Embedded Defects

Um harness de pesquisa para medir quão bem agentes de IA corrigem vulnerabilidades.

License MIT Python 3.11+ Requires Docker Agents Claude, Codex, Gemini

Quickstart · Datasets · Documentation · Security model · Contributing


FLAWED faz o checkout de um projeto open-source em um commit sabidamente vulnerável, entrega a um agente de IA uma descrição do bug e pede que ele escreva um patch. O agente nunca vê a correção real do upstream.

Cada patch é então validado, auditado e avaliado em containers isolados, para que você possa ver não apenas se o modelo corrigiu o bug, mas se introduziu novos no processo.

Como funciona

flowchart LR
    spec[bug spec] --> clone
    clone["clone<br/>(open net)"] --> generate
    generate["generate<br/>(offline)"] --> validate
    validate["validate<br/>(offline)"] --> ast["ast<br/>(offline)"]
    generate -.->|"patch.diff"| store[(Postgres)]
    validate -.->|"verdict"| store
    ast -.->|"summary"| store
    store --> ui[web UI + notebook]

Cada estágio roda em seu próprio container. Apenas o clone tem acesso à rede. Todo estágio posterior é restrito à API do provedor de LLM, para que os agentes não possam buscar dicas ou a correção do upstream durante a execução.

Recursos

RecursoO que ele oferece
Amostragem repetidaUma execução realiza N iterações da mesma entrada, então os resultados são distribuições, não anedotas.
CampanhasVarra um bug por variantes de patcher e estilos de prompt, desde um vago "corrige isso pfv" até um advisory completo, e compare os resultados em um dashboard ao vivo.
Avaliação de resultadosCada patch cai em um de cinco cenários, de S1 (correção limpa) a S5 (não corrigiu o bug e introduziu uma nova vulnerabilidade).
Validação cruzadaOs patches são reavaliados por outros modelos, e os números principais fazem a média das lentes de autovalidação e validação cruzada, para que o viés de um único juiz não domine.
Detecção de trapaçaUm auditor sinaliza iterações em que o agente encontrou a correção do upstream em vez de resolver o bug por conta própria.

FLAWED coloca as CLIs Claude, Codex e Gemini frente a frente com as mesmas entradas.

Quickstart

[!WARNING] FLAWED monta o socket do Docker (equivalente a root no host) e executa código de terceiros não confiável dentro de seus containers de estágio. Execute-o em uma máquina em que você confie para suportar essa carga de trabalho. Veja docs/security-model.md.

Você precisa do Docker, com o socket do daemon acessível.

# 1. Configure. Writes .env for you (data dir + provider API keys)
./setup.sh

# 2. Bring up the stack (Postgres, API + worker, web UI, notebook)
docker compose up --build

# 3. Open http://127.0.0.1:8080

Depois faça sua primeira execução.

  1. Importe um bug spec. Specs de exemplo vêm em bugs/. Arraste um para a página Bug Specs da web UI, ou use a CLI.
    ./scripts/import-all-bugs.sh
    
  2. Inicie uma execução pela web UI. Escolha o spec, um agente + modelo, uma variante e um número de iterações. A página da execução transmite o progresso ao vivo.

[!NOTE] A primeira execução contra um upstream grande (por exemplo, Chromium) é lenta. O estágio de validação clona o repositório inteiro uma vez para comparar com o patch real do upstream. O clone é armazenado em cache e reutilizado depois.

Configuração de desenvolvimento no host (sem compose)

Você precisa do Docker, Node 20+, pnpm, uv e @devcontainers/cli (npm i -g @devcontainers/cli). Usuários de Nix podem usar nix-shell para tudo, exceto Docker.

make dev                        # uv sync + web deps
docker compose up -d postgres   # FLAWED needs a Postgres to talk to
cp .env.example .env            # points FLAWED_DB_URL at it
uv run flawed init              # builds base images, creates the schema
uv run flawed serve             # API + worker + webapp on port 8080

Para o ciclo de desenvolvimento web, execute make web-dev em um segundo terminal. Ele serve a UI na porta 5173 e faz proxy de /api para flawed serve.

Um devcontainer isolado para executar agentes de codificação de IA contra este repositório com segurança está documentado em .devcontainer/README.md.

Bug specs

Um bug spec é a unidade de entrada. Ele carrega um repositório, um commit vulnerável, uma descrição do bug, um reprodutor opcional e um conjunto de variantes de prompt que modelam como o bug poderia realisticamente ser reportado (achado de SAST, relatório de bug bounty, advisory embargado, PoC bruto, …). Specs são versionados e imutáveis, então o prompt e o veredito de uma execução histórica nunca mudam silenciosamente.

O contrato JSON está em bugs.schema.json e está documentado em docs/bug-specs.md. Todos os specs incluídos descrevem vulnerabilidades divulgadas publicamente e corrigidas no upstream.

Armazenamento

O Postgres é a única fonte de verdade. Metadados de execução e bytes de artefatos (patches, vereditos, transcrições, logs) ficam no banco de dados, então uma implantação é totalmente capturada por seu DB. O diretório data/ é um espaço de rascunho transitório que os estágios montam em tempo de execução.

  • Faça backup / restaure uma implantação inteira com scripts/export_dataset.py e scripts/import_dataset.py (também disponíveis na web UI).
  • Reconstrua uma árvore de artefatos em disco para inspeção offline com scripts/export_artifacts.py.
  • Mudanças de schema são gerenciadas com Alembic (uv run alembic upgrade head roda automaticamente na inicialização).

Datasets

Publicamos datasets pré-construídos para que você possa carregar campanhas concluídas em vez de executar tudo por conta própria. Cada dataset é um .tar.gz de um snapshot completo, hospedado em https://flawed.s3.us-east-1.amazonaws.com.

Todas as campanhas em um único pacote.

PacoteArquivo
Todas as campanhasfull.tar.gz
Arquivos por campanha, um por modelo patcher (13)
Baixar ferramenta