Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
MalEval — Offizieller Code für das ISSTA-2026-Paper: Ist „Wissen, dass es bösartig ist“ genug? Bewertung von LLMs für die feingranulare Prüfung von Malware-Verhalten. | Kitploit
Tools/GitHubGitHub/zhengxr930/maleval
Android-SicherheitStatische AnalyseCode-AnalyseMalware-AnalyseMaschinelles LernenPapers & ForschungLernen & BildungKI-Sicherheit
GitHubzhengxr930/maleval

MalEval

Offizieller Code für das ISSTA-2026-Paper: Ist „Wissen, dass es bösartig ist“ genug? Bewertung von LLMs für die feingranulare Prüfung von Malware-Verhalten.

Repository anzeigen
51vor 28 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

MalEval

Artikel: Reicht es zu wissen, dass etwas bösartig ist? Bewertung von LLMs für die feingranulare Prüfung von Malware-Verhalten

Artikel-DOI: 10.1145/3832187

MalEval ist ein Framework zur Bewertung von Android-Malware-Verhaltensberichten, die von großen Sprachmodellen erzeugt werden. Der Code in diesem Repository implementiert zwei Ausführungspfade:

  1. Von APK: Führt statische Analyse an APK-Dateien durch, um Einstiegspunkte, Aufrufketten, Funktionsrümpfe und erreichbare Funktionen zu erzeugen.
  2. Vom Artefakt: Startet von den vorberechneten Ausgaben der statischen Analyse und erzeugt Funktionszusammenfassungen, Kontext-Zwischendarstellungen, Verhaltensberichte und Bewertungsmetriken.

Der veröffentlichte Datensatz wird separat im MalEval-Hugging-Face-Datensatzrepository gehostet.

Der Benchmark enthält 255 Android-Anwendungen: 200 archivierte Malware-Beispiele, 30 aktuelle Malware-Beispiele und 25 gutartige Anwendungen, die als simulierte Fehlalarme dienen. Siehe DATA.md für die veröffentlichten Dateien, Herkunft, Rechte und Hinweise zum sicheren Umgang.

Repository-Struktur

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.

Der Datensatz sollte so entpackt werden, dass das Repository dieses Layout hat:

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

Umgebung

Verwenden Sie Python 3.10 oder neuer. Wir empfehlen eine frische virtuelle Umgebung:

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

Konfigurieren Sie die Modellanbieter in model_registry.yaml, bevor Sie LLM-basierte Stufen ausführen. Jeder Modelleintrag kann entweder Literalwerte wie api_key und base_url oder Umgebungsvariablen-Referenzen wie api_key_env und base_url_env speichern.

Beispiel:

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

Die Standard-Registry enthält Einträge für gpt, gpt-5, qwen, deepseek, llama, coder, claude und gemini. Wenn Sie Umgebungsvariablen bevorzugen, setzen Sie die Variablen, auf die in model_registry.yaml verwiesen wird, zum Beispiel OPENAI_API_KEY, DEEPSEEK_API_KEY, QWEN3_API_KEY, HUGGINGFACE_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, und .

Von APK

Dieser Pfad startet von APK-Dateien unter artifacts/apk/<split>/ und erzeugt die Artefakte der statischen Analyse neu. Die Aufteilung muss eine der folgenden sein: malradar, new oder benign.

Ein APK ausführen:

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

Eine kleine Stichproben-Batch ausführen:

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

Die erzeugten Dateien werden geschrieben nach:

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

Vom Artefakt

Dieser Pfad startet vom veröffentlichten Verzeichnis artifacts/. Er verwendet die vorberechneten Dateien functions, call_chain, entrypoints, reachable_func und meta_info.

Funktionszusammenfassungen

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

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

Lassen Sie --apk weg, um die gesamte Aufteilung auszuführen.

Kontext- und Ohne-Kontext-Zusammenfassungen

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"

Verhaltensberichte

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"

Die Ausgaben werden unter results/summary/, results/context_summary/, results/no_context_summary/, results/behavior/, results/no_context_behavior/ und results/meta_behavior/ geschrieben.

Metriken

Nachdem Zusammenfassungen und Verhaltensberichte erzeugt wurden, berechnen Sie die Metriken mit:

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

Um Judge-Modell-Aufrufe zu überspringen:

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

Einzelne Metrikskripte sind ebenfalls verfügbar:

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

Minimale Überprüfung

Der Quellbaum kann überprüft werden, ohne APKs herunterzuladen oder Modellanmeldedaten zu konfigurieren:

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

Reproduzierbarkeit

  • Die Berechnung von Metriken über die veröffentlichten Berichte erfordert keine lokale Modell-Inferenzhardware.
  • Das Neuerzeugen von LLM-Ausgaben erfordert die entsprechenden API-Anmeldedaten oder einen kompatiblen selbst gehosteten Endpunkt.
  • Statische Analyse und die gesamte Handhabung von APKs müssen in einer isolierten Forschungsumgebung erfolgen. Installieren oder führen Sie veröffentlichte Stichproben nicht auf einem persönlichen oder Produktionsgerät aus.
  • Die exakte numerische Reproduktion kann durch Änderungen an gehosteten Modell-Endpunkten beeinflusst werden. Die veröffentlichten Berichte bewahren die Ausgaben, die in der Arbeit verwendet wurden.
Tool herunterladen
GEMINI_PROJECT
GEMINI_LOCATION