
Codifica. Decodifica. Identifica. Decodifica intelligente per qualsiasi dato.
Codifica. Decodifica. Identifica. Decodifica intelligente per qualsiasi dato.
Pre-release, e già utilizzabile. Il workbench funziona, il motore di rilevamento scompone i payload a più livelli e il report di analisi è completo.
Ancora da fare: l'audit di accessibilità e la revisione di internazionalizzazione. Un disassembler e un motore OCR sono deliberatamente fuori ambito — sono progetti a sé, non operazioni.
Il modello abituale per uno strumento come questo presuppone che tu sappia già cosa sono i tuoi dati: scegli le operazioni, le concateni, iteri. Va bene quando riconosci il formato a colpo d'occhio, ed è inutile quando non lo fai — cosa che accade la maggior parte delle volte in cui un analista si trova davanti a qualcosa di nuovo.
DecodeBox parte dall'altro capo. Incolli, e lo strumento capisce cosa sta maneggiando: ogni livello scomposto, ogni indicatore estratto, ogni risultato di sicurezza spiegato, con l'evidenza di ogni affermazione visibile anziché asserita.
Tutto viene eseguito nel tuo browser. Nessun input, nessuna ricetta e nessun file lascia mai la tua macchina — non c'è alcun server a cui inviarlo.
Un payload reale dalla suite di test: Base64 su Base64 su gzip su JSON, con un loader PowerShell in un campo.
Findings 4 Indicators 7 Layers 8 257 ms
CRITICAL Cloud or service credential CWE-798
Input → Base64 → Base64 → gzip
AKIAIOSFODNN7EXAMPLE
CRITICAL PowerShell download-and-execute CWE-94
Input → Base64 → Base64 → gzip → JSON → Base64 → UTF-16LE
IEX (New-Object Net.WebClient).DownloadString
Il secondo risultato è sei livelli più in basso, e l'ultimo salto proviene da un blob Base64 all'interno di un campo JSON. Nulla che esegua un grep sul blob originale lo vede, e nulla che srotoli una singola catena lineare lo raggiunge.
Base64 → Base64 → MD5), su un resto che non può essere decodificato come la firma di un JWT, oppure sull'ammissione onesta che è stato raggiunto un limite e che potrebbe esserci dell'altro sotto.Quando nulla di dichiarato spiega l'input, DecodeBox prova ogni chiave XOR a singolo byte e ogni rotazione e valuta ogni risultato in base alla leggibilità — con un livello di confidenza che dichiara chiaramente che si è trattato di una ricerca anziché di una corrispondenza.
DecodeBox elabora input non attendibili e deliberatamente malformati per progettazione.
connect-src 'none' e script-src 'self' più un hash per l'unico script inline. I font sono inclusi nel pacchetto anziché recuperati, e la build fallisce se mai dovesse comparire un riferimento a una CDN nell'output.eval, new Function e qualsiasi percorso che renderizzi l'input come HTML sono vietati dalle regole di lint, non per convenzione.style-src consente effettivamente 'unsafe-inline', perché React scrive attributi style inline; script-src, dove risiede il rischio reale, rimane rigoroso. Per segnalare una vulnerabilità, consulta SECURITY.md — ti preghiamo di non aprire una issue pubblica per le segnalazioni di sicurezza.
DecodeBox/
├── .github/workflows/ # CI, CodeQL, SBOM, markdown quality, Pages deployment
├── public/ # Bundled fonts, favicon, CNAME
├── src/
│ ├── engine/ # The analysis engine — the only half that knows about data
│ │ ├── index.ts # THE SEAM — the only module the interface imports from
│ │ ├── operations/ # One self-contained module per transformation
│ │ ├── detection/ # Entropy, charset, magic bytes, structural validity
│ │ ├── analysis/ # Recursive exploration, indicators, security findings
│ │ ├── ctf/ # Flag search, cipher key recovery, ranked hints
│ │ ├── core/ # Recipe executor, byte handling, ciphers, codecs
│ │ └── worker/ # The engine off the main thread, past a size threshold
│ ├── components/ # The interface: workspace, report, CTF mode
│ ├── store/ # One zustand store
│ ├── hooks/ # Interaction logic shared across components
│ ├── lib/ # Share links, saved recipes, recipe text format
│ ├── i18n/ # Every user-facing string
│ └── styles/ # Design tokens and themes
├── SECURITY.md
└── LICENSE