Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
bidi-guard — Scansiona il codice per individuare caratteri Unicode bidirezionali invisibili (prevenzione dell'attacco Trojan Source, CVE-2021-42574) | Kitploit
Strumenti/GitHubGitHub/moshe-ship/bidi-guard
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceDevSecOpsSicurezza della Supply ChainApprendimento e Formazione
GitHubmoshe-ship/bidi-guard

bidi-guard

Scansiona il codice per individuare caratteri Unicode bidirezionali invisibili (prevenzione dell'attacco Trojan Source, CVE-2021-42574)

Vedi Repository
54 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

bidi-guard

Scansiona il codice alla ricerca di caratteri Unicode bidirezionali invisibili

MIT License Python 3.9+


Perché Questo Strumento Esiste

I caratteri Unicode bidirezionali invisibili possono far sì che il codice sorgente venga visualizzato in modo diverso da come viene eseguito. Questo è CVE-2021-42574 — l'attacco Trojan Source.

Un attaccante incorpora caratteri che invertono la direzione del testo. In una revisione del codice, vedi:

root@kitploit:~
access_level = "admin"

Ma il compilatore vede:

root@kitploit:~
access_level = "user"

I caratteri sono invisibili. Il tuo editor non li mostrerà. Il tuo revisore non li noterà. bidi-guard sì.

Installazione

root@kitploit:~
pip install bidi-guard

Avvio Rapido

root@kitploit:~
# Scan current directory recursively
bidi-guard scan .

# Scan a specific file
bidi-guard scan src/auth.py

Trova tutti i caratteri Unicode bidirezionali, mostra la loro posizione esatta, il contesto e la gravità.

Comandi

Integrazione CI

GitHub Action

root@kitploit:~
name: BiDi Guard
on: [push, pull_request]
jobs:
  bidi-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - run: pip install bidi-guard
      - run: bidi-guard ci .

Pre-commit

Aggiungi al tuo .pre-commit-config.yaml:

root@kitploit:~
repos:
  - repo: https://github.com/Moshe-ship/bidi-guard
    rev: v0.1.0
    hooks:
      - id: bidi-guard

Caratteri Rilevati

Tutti i 16 caratteri di controllo Unicode bidirezionali:

I caratteri contrassegnati come Alta o Critica possono riordinare attivamente il testo visualizzato — sono quelli usati negli attacchi Trojan Source.

Come Libreria

root@kitploit:~
from bidi_guard import scan_file, Finding

findings = scan_file("src/auth.py")
for f in findings:
    print(f"{f.char_name} at line {f.line}:{f.col} — severity: {f.severity}")

Perché Non Usare Semplicemente grep?

Questi caratteri sono invisibili. Letteralmente invisibili:

root@kitploit:~
grep "RLO" file.py    # finds nothing
cat file.py            # looks completely normal

bidi-guard ti mostra ciò che grep non può: il carattere esatto, la sua posizione, il contesto circostante, il livello di gravità e cosa fa. Può anche correggere automaticamente rimuovendoli.

Licenza

MIT — Musa the Carpenter


Realizzato dalla Saudi AI Community — per gli arabi in primo luogo, e per il mondo intero.

Scarica lo strumento
ComandoA cosa serve
scanScansiona i file per caratteri bidi, mostra i risultati con contesto
ciModalità CI — esce con codice non zero se vengono trovati caratteri pericolosi
fixRimuove tutti i caratteri bidi dai file (interattiva di default)
explainMostra cosa fa ogni carattere bidi con esempi visivi
initGenera un file di configurazione .bidi-guard.yml per il tuo progetto
Code PointNomeAbbreviazioneGravità
U+200ELeft-to-Right MarkLRMBassa
U+200FRight-to-Left MarkRLMBassa
U+061CArabic Letter MarkALMBassa
U+200DZero Width JoinerZWJBassa
U+200CZero Width Non-JoinerZWNJBassa
U+2066Left-to-Right IsolateLRIMedia
U+2067Right-to-Left IsolateRLIAlta
U+2068First Strong IsolateFSIAlta
U+2069Pop Directional IsolatePDIMedia
U+202ALeft-to-Right EmbeddingLREMedia
U+202BRight-to-Left EmbeddingRLEAlta
U+202CPop Directional FormattingPDFMedia
U+202DLeft-to-Right OverrideLROAlta
U+202ERight-to-Left OverrideRLOCritica
U+2028Line SeparatorLSMedia
U+2029Paragraph SeparatorPSMedia