Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
MalEval — Código oficial do artigo ISSTA 2026: "Saber que é malicioso" é suficiente? Avaliando LLMs para auditoria de comportamento de malware em granularidade fina. | Kitploit
Ferramentas/GitHubGitHub/zhengxr930/maleval
Segurança AndroidAnálise EstáticaAnálise de CódigoAnálise de MalwareAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IA
GitHubzhengxr930/maleval

MalEval

Código oficial do artigo ISSTA 2026: "Saber que é malicioso" é suficiente? Avaliando LLMs para auditoria de comportamento de malware em granularidade fina.

Ver Repositório
5112há 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

MalEval

Artigo: “Saber que é Malicioso” é Suficiente? Avaliando LLMs para Auditoria de Comportamento de Malware em Granularidade Fina

DOI do artigo: 10.1145/3832187

MalEval é uma estrutura para avaliar relatórios de comportamento de malware Android gerados por grandes modelos de linguagem. O código neste repositório implementa dois caminhos de execução:

  1. A partir do APK: execute análise estática em arquivos APK para produzir pontos de entrada, cadeias de chamadas, corpos de funções e funções alcançáveis.
  2. A partir do artefato: comece pelas saídas pré-computadas da análise estática e gere resumos de funções, representações intermediárias de contexto, relatórios de comportamento e métricas de avaliação.

O conjunto de dados liberado é hospedado separadamente no repositório de conjunto de dados MalEval no Hugging Face.

O benchmark contém 255 aplicativos Android: 200 amostras de malware arquivadas, 30 amostras de malware recentes e 25 aplicativos benignos usados como falsos positivos simulados. Consulte DATA.md para obter os arquivos liberados, proveniência, direitos e notas de manuseio seguro.

Estrutura do Repositório

root@kitploit:~
info/                Sample metadata for the benign, MalRadar, and new malware splits.
model_registry.yaml Model/provider configuration for LLM-based stages.
DATA.md              Dataset composition, provenance, and access instructions.
LICENSE.txt          License scope and third-party-material exclusions.
CITATION.cff         Machine-readable citation metadata.
src/                 Static analysis, summarization, behavior generation, and metrics code.

O conjunto de dados deve ser extraído para que o repositório tenha esta estrutura:

root@kitploit:~
MalEval/
|-- info/
|-- src/
`-- artifacts/
    |-- apk/
    |-- call_chain/
    |-- entrypoints/
    |-- functions/
    |-- meta_info/
    |-- reachable_func/
    `-- reports/

Ambiente

Use Python 3.10 ou mais recente. Recomendamos um ambiente virtual novo:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt

Configure os provedores de modelo em model_registry.yaml antes de executar etapas baseadas em LLM. Cada entrada de modelo pode armazenar valores literais, como api_key e base_url, ou referências a variáveis de ambiente, como api_key_env e base_url_env.

Exemplo:

root@kitploit:~
models:
  gpt:
    provider: openai
    model: gpt-5
    api_key: <your_openai_key>
    base_url: https://api.openai.com/v1

O registro padrão inclui entradas para gpt, gpt-5, qwen, deepseek, llama, coder, claude e gemini. Se você preferir variáveis de ambiente, defina as variáveis referenciadas por model_registry.yaml, por exemplo OPENAI_API_KEY, DEEPSEEK_API_KEY, QWEN3_API_KEY, HUGGINGFACE_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, e .

A partir do APK

Este caminho começa com arquivos APK em artifacts/apk/<split>/ e regenera os artefatos da análise estática. O split deve ser um de malradar, new ou benign.

Execute um APK:

root@kitploit:~
sha=<apk_sha256>
python3 src/preparation/run_static_analysis.py \
  --folder malradar \
  --apk "$sha" \
  --output-root results/static_analysis

Execute um pequeno lote amostrado:

root@kitploit:~
python3 src/preparation/run_static_analysis.py \
  --folder malradar \
  --sample-size 5 \
  --seed 42 \
  --output-root results/static_analysis

Os arquivos gerados são gravados em:

root@kitploit:~
results/static_analysis/entrypoints/
results/static_analysis/call_chain/
results/static_analysis/functions/
results/static_analysis/reachable_func/

A partir do Artefato

Este caminho começa pelo diretório artifacts/ liberado. Ele usa os arquivos pré-computados functions, call_chain, entrypoints, reachable_func e meta_info.

Resumos de Funções

root@kitploit:~
model=gpt
split=malradar
sha=<apk_sha256>

python3 src/preparation/get_functionality_summary.py --model "$model" --folder "$split" --apk "$sha"

Omita --apk para executar o split inteiro.

Resumos com e sem Contexto

root@kitploit:~
python3 src/preparation/get_context_summary.py --model "$model" --folder "$split" --apk "$sha"
python3 src/preparation/get_no_context_summary.py --model "$model" --folder "$split" --apk "$sha"

Relatórios de Comportamento

root@kitploit:~
python3 src/generate_behavior/get_behavior.py --model "$model" --folder "$split" --flag context --apk "$sha"
python3 src/generate_behavior/get_behavior.py --model "$model" --folder "$split" --flag no_context --apk "$sha"
python3 src/generate_behavior/get_meta_behavior.py --model "$model" --folder "$split" --apk "$sha"

As saídas são gravadas em results/summary/, results/context_summary/, results/no_context_summary/, results/behavior/, results/no_context_behavior/ e results/meta_behavior/.

Métricas

Depois que os resumos e os relatórios de comportamento forem gerados, calcule as métricas com:

root@kitploit:~
python3 src/metrics/run_metrics.py --model "$model" --flag context
python3 src/metrics/run_metrics.py --model "$model" --flag no_context
python3 src/metrics/run_metrics.py --model "$model" --flag meta

Para pular as chamadas do modelo avaliador:

root@kitploit:~
python3 src/metrics/run_metrics.py --model "$model" --flag context --skip-eas

Scripts de métrica individuais também estão disponíveis:

root@kitploit:~
python3 src/metrics/aec_b_f1.py --model "$model" --flag context
python3 src/metrics/fpcr_tpmr_f1c.py --model "$model" --flag context
python3 src/metrics/eas.py --model "$model" --flag context --split malradar --judge-model gpt-5

Verificação Mínima

A árvore de código-fonte pode ser verificada sem baixar APKs ou configurar credenciais de modelo:

root@kitploit:~
python3 -m compileall -q src
python3 - <<'PY'
import json
from pathlib import Path

expected = {
    "archived_sample_info.json": 200,
    "latest_sample_info.json": 30,
    "benign_sample_info.json": 25,
}
for name, count in expected.items():
    actual = len(json.loads((Path("info") / name).read_text()))
    assert actual == count, (name, actual, count)
print("metadata check passed: 200 archived malware + 30 recent malware + 25 benign")
PY

Escopo de Reprodutibilidade

  • O cálculo de métricas sobre os relatórios liberados não exige hardware local de inferência de modelos.
  • Regenerar as saídas dos LLMs exige as credenciais de API correspondentes ou um endpoint auto-hospedado compatível.
  • A análise estática e todo o manuseio de APKs devem ocorrer em um ambiente de pesquisa isolado. Não instale nem execute as amostras liberadas em um dispositivo pessoal ou de produção.
  • A reprodução numérica exata pode ser afetada por mudanças nos endpoints dos modelos hospedados. Os relatórios liberados preservam as saídas usadas no artigo.
Baixar ferramenta
GEMINI_PROJECT
GEMINI_LOCATION