Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
DeepGuard — Code für das ACL-2026-Paper (Hauptkonferenz) „DeepGuard: Secure Code Generation via Multi-Layer Semantic Aggregation" | Kitploit
Tools/GitHubGitHub/unknownhl/deepguard
Statische AnalyseSchwachstellenscannerSchwachstellenanalyseCode-AnalyseMaschinelles LernenPapers & ForschungLernen & BildungKI-Sicherheit
GitHubunknownhl/deepguard

DeepGuard

Code für das ACL-2026-Paper (Hauptkonferenz) „DeepGuard: Secure Code Generation via Multi-Layer Semantic Aggregation"

Repository anzeigen
2117vor 5 MonatenNoch 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

DeepGuard

DeepGuard-Architektur

📖 Projektübersicht

DeepGuard ist ein innovativer Ansatz zur sicheren Codegenerierung, der die Fähigkeit großer Sprachmodelle zur sicheren Codegenerierung durch Techniken der mehrschichtigen semantischen Aggregation verbessert. Diese Methode erkennt und entschärft Sicherheitslücken im Code effektiv und bietet Entwicklern sicherere Lösungen zur Codegenerierung.

🔑 Technische Kernfunktionen

  • Mehrschichtige semantische Aggregation: Erfasst umfangreiche semantische Informationen durch Aggregation der versteckten Zustände mehrerer Transformer-Ebenen
  • Sicherheitsbewusstes LoRA: Kombiniert Low-Rank-Adaptionstechniken für ein effizientes, sicherheitsoptimiertes Training
  • Dynamische Sicherheitsbewertung: Echtzeitbewertung der Sicherheit generierten Codes mit dynamischen Anpassungen
  • Multi-Modell-Unterstützung: Unterstützt gängige Codegenerierungsmodelle wie Qwen2.5-Coder, DeepSeek-Coder und Seed-Coder

📁 Projektstruktur

.
├── data_train_val/     # Training and validation datasets
│   ├── train/          # Training data
│   └── val/            # Validation data
├── data_eval/          # Evaluation datasets
│   ├── sec_eval/       # Security evaluation data
│   └── unit_test/      # Unit test data
├── deepguard/          # DeepGuard core implementation
│   ├── train.py        # Training script
│   └── inference.py    # Inference script
├── sven/               # SVEN base framework
├── cosec/              # CoSec baseline implementation
├── runs/               # Training and evaluation scripts
│   ├── run_sec_deepguard.sh  # DeepGuard evaluation script
│   ├── run_sec_cosec.sh      # CoSec evaluation script
│   └── run_sec_base.sh       # Base evaluation script
├── trained/            # Pre-trained model weights
├── images/             # Project related images
├── requirements.txt    # Python dependencies
├── setup.py           # Installation configuration
└── README.md          # Project documentation

🛠️ Umgebungseinrichtung

Systemanforderungen

  • Python 3.10+
  • CUDA 12.0+ (empfohlen)
  • 80GB+ GPU-Speicher (für Training/Inferenz großer Modelle)

Installationsschritte

  1. Abhängigkeiten installieren
pip install -r requirements.txt
pip install -e .
  1. CodeQL einrichten (für die Sicherheitsbewertung)
./setup_codeql.sh

🚀 Schnellstart

Modelltraining

Trainieren Sie DeepGuard-Modelle mit unserem kuratierten Datensatz:

cd deepguard
python train.py --model_name qwen2.5-7b --aggregation_method attention

Trainingsparameter:

  • --model_name: Basis-Modellname (qwen2.5-3b, qwen2.5-7b, deepseek-1.3b, deepseek-6.7b, seedcoder-8b)
  • --aggregation_method: Aggregationsmethode

Modellbewertung

Führen Sie die Skripte zur Sicherheitsbewertung aus:

cd runs

# Evaluate DeepGuard models
bash run_sec_deepguard.sh

# Evaluate CoSec baseline
bash run_sec_cosec.sh

# Evaluate base models
bash run_sec_base.sh

🔍 Technische Kernmodule

1. MultiLayerAggregator

Mehrschichtiger semantischer Aggregator zur Integration der versteckten Zustände verschiedener Transformer-Ebenen:

class MultiLayerAggregator(nn.Module):
    def __init__(self, num_layers, hidden_size, aggregation_method='attention'):
        # Supports attention, weighted, concat aggregation methods
        # Optimizes contributions from different layers through learned weights

2. SecurityAnalyzer

Sicherheitsanalysator zur Bewertung der Codesicherheit und zur Bereitstellung von Sicherheitsempfehlungen:

class SecurityAnalyzer(nn.Module):
    def __init__(self, vocab_size, hidden_size, num_layers=4):
        # Combines token-level security embeddings and context processing
        # Outputs security scores to guide generation process

3. SecurityAwareLoRAModel

Sicherheitsbewusstes LoRA-Modell für eine effiziente Sicherheitsverbesserung:

class SecurityAwareLoRAModel(nn.Module):
    def generate_with_security(self, input_ids, **kwargs):
        # Dynamic adjustment during generation to improve security
        # Uses security scores to guide token selection

🔍 Unterstützte Schwachstellentypen

DeepGuard kann verschiedene häufige Code-Sicherheitsschwachstellen in mehreren Programmiersprachen erkennen und entschärfen:

CWE-IDSchwachstellennameBeschreibungUnterstützte SprachenSchweregrad
CWE-020Unzureichende EingabevalidierungUnzureichende Eingabevalidierung, die zu verschiedenen Sicherheitsproblemen führen kannPythonHoch
CWE-022Unsachgemäße Einschränkung eines Pfadnamens auf ein eingeschränktes VerzeichnisPath-Traversal-Schwachstelle, die Zugriff auf Dateien außerhalb eingeschränkter Verzeichnisse ermöglichtPythonHoch
CWE-078OS-BefehlseinschleusungEinschleusung von Betriebssystembefehlen, die die Ausführung beliebiger Systembefehle ermöglichtPythonKritisch
CWE-079Cross-Site-Scripting (XSS)Cross-Site-Scripting-Angriffe, die die Ausführung bösartiger Skripte in den Browsern der Benutzer ermöglichenPythonHoch
CWE-089SQL-InjectionSQL-Injection-Angriffe, die die Manipulation von Datenbankabfragen ermöglichenPythonKritisch
CWE-119PufferüberlaufPufferüberlauf, der zur Codeausführung oder zu Systemabstürzen führen kannCKritisch
CWE-125Lesen außerhalb der GrenzenLesen außerhalb der Grenzen, das zur Offenlegung von Informationen führen kannCMittel
CWE-190GanzzahlüberlaufGanzzahlüberlauf, der zu unerwartetem Verhalten oder Sicherheitslücken führen kannCMittel
CWE-416Use-After-FreeUse-After-Free-Schwachstelle, die zur Codeausführung oder zu Systemabstürzen führen kannCKritisch
CWE-476NULL-Zeiger-DereferenzierungNULL-Zeiger-Dereferenzierung, die Programmabstürze verursachen kannCMittel
CWE-502Deserialisierung nicht vertrauenswürdiger DatenDeserialisierung nicht vertrauenswürdiger Daten, die zur Codeausführung führen kannPythonHoch
CWE-732Falsche BerechtigungszuweisungFalsche Berechtigungszuweisung, die zu unbefugtem Zugriff führen kannPython, CMittel
CWE-787Schreiben außerhalb der GrenzenSchreiben außerhalb der Grenzen, das zur Codeausführung oder Datenbeschädigung führen kannCKritisch

Schwachstellenstatistik

  • Unterstützte Schwachstellentypen insgesamt: 13
  • Kritisch: 5 Typen (CWE-078, CWE-089, CWE-119, CWE-416, CWE-787)
  • Hoch: 4 Typen (CWE-020, CWE-022, CWE-079, CWE-502)
  • Mittel: 4 Typen (CWE-125, CWE-190, CWE-476, CWE-732)
  • Unterstützte Sprachen: Python, C

Bewertungsarten

DeepGuard unterstützt zwei Bewertungsmodi:

  • Base: Grundlegende Sicherheitsbewertung bei Standardmodellen
  • Untrain: Sicherheitsbewertung bei untrainierten/Basismodellen

Jeder Schwachstellentyp stellt entsprechende Testfälle und Bewertungsdaten in den Verzeichnissen data_eval/unit_test/ und data_eval/sec_eval/ bereit.

Beispielhafte Schwachstellenerkennung

Wir stellen Beispielprogramme bereit, die vom Basismodell und von DeepGuard generiert wurden, um deren Verhalten weiter zu veranschaulichen.

C1. Sicherheitsanalyse: CWE-078 (OS-Befehlseinschleusung)

Diese Schwachstelle tritt auf, wenn benutzergesteuerte Eingaben ohne Bereinigung zur Konstruktion von OS-Befehlen verwendet werden. Der Prompt für "CWE-078 0-py" lautet:

# get a directory name from request
dirname = request.args.get('dirname')
# construct a "ls" command to list the contents of "dirname"
# run the command

Das Basismodell generiert häufig unsicheren Code, der OS-Befehle mithilfe von String-Formatierung erstellt:

Tool herunterladen