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
bidi_char_detector — Überprüft Ihre Dateien auf das Vorhandensein von Unicode-BIDI-Zeichen, die für Supply-Chain-Angriffe missbraucht werden können. Siehe CVE-2021-42574. | Kitploit
Tools/GitHubGitHub/maweil/bidi_char_detector
Statische AnalyseSchwachstellenanalyseCode-AnalyseSecret-ErkennungLieferkettensicherheitFehlkonfigurationArchived
GitHubmaweil/bidi_char_detector

bidi_char_detector

Überprüft Ihre Dateien auf das Vorhandensein von Unicode-BIDI-Zeichen, die für Supply-Chain-Angriffe missbraucht werden können. Siehe CVE-2021-42574.

Repository anzeigen
63vor 3 JahrenNoch 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

BIDI Character Detector

Dieses Tool überprüft Ihre Dateien auf das Vorhandensein von Unicode-BIDI-Zeichen, die für Supply-Chain-Angriffe missbraucht werden können, um CVE-2021-42574 zu entschärfen. Dieses Tool wurde in Rust geschrieben und wird als kleiner (< 3 MB) Docker-kompatibler Container verteilt, um eine schnelle und einfache Nutzung zu ermöglichen.

Eine Erklärung des Angriffs finden Sie im GitHub-Blogeintrag oder im Originalpapier, in dem der Angriff veröffentlicht wurde.

Installation

Dieses Paket ist hauptsächlich für die Verwendung über seinen Docker-Container gedacht. Aber eine lokale Installation ist natürlich auch möglich. Die Kompilierung erfordert mindestens Rust 1.56.0, da es die Rust 2021 Edition verwendet. Klonen Sie dieses Repository und führen Sie cargo install --path . aus, um die Binärdatei für Ihren aktuellen Benutzer zu installieren. Danach können Sie den Befehl bidi_detector aufrufen.

Verwendung

Das Tool über seinen offiziellen Docker-Container auszuführen, ist wahrscheinlich der einfachste Weg, um zu beginnen. Um es über Docker auszuführen, sollte der folgende Befehl funktionieren, um alle Dateien in Ihrem aktuellen Arbeitsverzeichnis zu scannen:

root@kitploit:~
docker run --rm -it -v $(pwd):/data ghcr.io/maweil/bidi_char_detector:latest

Abhängig von Ihrem System müssen Sie diesen Befehl möglicherweise leicht anpassen. Wenn Sie z.B. Podman verwenden und SELinux aktiviert haben, versuchen Sie stattdessen den folgenden Befehl:

root@kitploit:~
podman run --rm -it -v $(pwd):/data:Z ghcr.io/maweil/bidi_char_detector:latest

Konfiguration

Standardmäßig werden alle Dateien überprüft. Wenn sich Binärdateien im aktuellen Verzeichnis befinden, schlägt der Befehl fehl, da er eine nicht UTF-8-kodierte Datei nicht dekodieren kann. Um den Befehl an Ihre Bedürfnisse anzupassen, legen Sie eine Datei namens bidi_config.toml im Stammverzeichnis Ihres Projekts ab. Ein Beispiel dafür finden Sie in diesem Repository, siehe unten ein Beispiel. Die Optionen werden unterhalb des Beispiels detaillierter beschrieben:

root@kitploit:~
[general]
includes = [ 
    "src/**/*",
    "**/*.patch",
    "**/*.json",
    "**/Dockerfile",
    "test/*.js"
]
excludes = [
    ".git/*",
    "target/*"
]

[display]
show_details = true

Allgemeine Einstellungen

Dieser Abschnitt enthält zwei Arrays (includes und excludes), in denen Sie Muster von Dateien angeben können, die gescannt werden sollen (oder vom Scan ausgeschlossen werden sollen). Stellen Sie bitte sicher, dass Ihre Muster tatsächlich die Dateien im Verzeichnis und nicht den Verzeichnisnamen selbst abgleichen, da Ihre Dateien sonst nicht gescannt werden. Wenn Sie alle Dateien scannen und nur z.B. Ihr .git-Verzeichnis ausschließen möchten, würde die folgende Konfiguration den Zweck erfüllen:

root@kitploit:~
[general]
includes = [ 
    "**/*"
]
excludes = [
    ".git/*",
]

[display]
show_details = true

Wenn Sie stattdessen explizit definieren möchten, welcher Ordner Ihre Quelldateien enthält, würde das folgende Konfigurationsbeispiel alle Dateien im src-Verzeichnis scannen (ohne etwas zu ignorieren):

root@kitploit:~
[general]
includes = [ 
    "src/**/*"
]
excludes = [
]

[display]
show_details = true

Anzeigeeinstellungen

Die folgenden Einstellungen sind in diesem Abschnitt verfügbar:

Beispiel: show_details = true, verbose = true

root@kitploit:~
src/lib.rs - 0 BIDI characters
src/main.rs - 0 BIDI characters
test/example-commenting-out.js - 6 BIDI characters
Found character RLO (Right-to-Left Override), test/example-commenting-out.js:4:3
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:4:7
Found character PDI (Pop Directional Isolate), test/example-commenting-out.js:4:20
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:4:22
Found character RLO (Right-to-Left Override), test/example-commenting-out.js:6:20
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:6:24
Found 6 potentially dangerous Unicode BIDI characters!

Beispiel: show_details = false, verbose = true

root@kitploit:~
src/lib.rs - 0 BIDI characters
src/main.rs - 0 BIDI characters
test/example-commenting-out.js - 6 BIDI characters
Found 6 potentially dangerous Unicode BIDI characters!

Beispiel: show_details = false, verbose = false

root@kitploit:~
test/example-commenting-out.js - 6 BIDI characters
Found 6 potentially dangerous Unicode BIDI characters!

Danksagungen

Alle Anerkennung für die Entdeckung des Angriffs, einschließlich der Liste der relevanten BIDI-Zeichen, gebührt den ursprünglichen Autoren des entsprechenden Papiers. Bitte zitieren Sie ihr Originalpapier, wenn Sie auf ihrer Arbeit aufbauen.

Die Datei test/example-commenting-out.js in diesem Repository ist eine Kopie von commenting-out.js in ihrem ursprünglichen Repository. Ihre Lizenzierung folgt dem ursprünglichen Repository (MIT-Lizenz) Sie wird hier nur zu Testzwecken verwendet.

root@kitploit:~
@article{boucher_trojansource_2021,
    title = {Trojan {Source}: {Invisible} {Vulnerabilities}},
    author = {Nicholas Boucher and Ross Anderson},
    year = {2021},
    journal = {Preprint},
    eprint = {2111.00169},
    archivePrefix = {arXiv},
    primaryClass = {cs.CR},
    url = {https://arxiv.org/abs/2111.00169}
}
Tool herunterladen
SettingDescriptionOptionalDefaultIntroduced in
show_detailsEntscheidet, ob Zeile/Position und Typ des erkannten BIDI-Zeichens ausgegeben werden sollen (siehe Beispiele unten)No-v0.1.1
ignore_invalid_dataGibt an, ob eine Fehlermeldung ausgegeben werden soll, wenn binäre/nicht-UTF8-Dateien erkannt werdenYestruev0.1.2
verboseGibt an, ob der Dateiname auch dann ausgegeben werden soll, wenn keine verdächtigen Zeichen gefunden wurdenYestruev0.1.2