feat: deteccion de dusting de privacidad (POSIBLE) ademas del dust tecnico; fix: tono neutro en dust

This commit is contained in:
Aitor
2026-06-03 20:03:14 +02:00
parent d8a35d94cf
commit 8d0c2620d3
2 changed files with 58 additions and 11 deletions
+21 -1
View File
@@ -24,7 +24,7 @@ nodo y corrige la fila).
| 2 | WabiSabi CoinJoin | `fb596c9f675471019c60e984b569f9020dac3b2822b16396042b50c890b45e5e` | CoinJoin grande, banda ALTA, "Wasabi" inferido | ☐ |
| 3 | JoinMarket CoinJoin | `4f112abd2eefe3484a7bbf7c1731f784cba19de677468835145e9c448fb18b7d` | CoinJoin con outputs iguales, verificar mínimo ~10k sats | ☐ |
| 4 | Batch payment 144 outputs (F2Pool, 2022-02-15) | `ef5d100a70eea9b7349a40fdfd51064fc5cebf5e3b4240f92591569836896949` | 1→144 outputs, **NO** CoinJoin, banda **MEDIA**, check "Pago por lotes" penaliza (45) | ✅ 2026-06-03 |
| 5 | Dust attack 555 sats | `655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5` | Dust detectado con tipo correcto, no falso positivo, banda BAJA | ☐ |
| 5 | Dusting de privacidad (555 sats, 2018) | `655c533bf059721cec9d3d70b3171a07997991a02fedfa1c9b593abc645e1cc5` | Salida de 555 sats detectada como "posible dusting" (POSIBLE), banda MEDIA, tono neutro | ✅ 2026-06-03 |
| 6 | Taproot + OP_RETURN | `0bf67b1f05326afbd613e11631a2b86466ac7e255499f6286e31b9d7d889cee7` | OP_RETURN detectado (presencia/tamaño), banda BAJA | ☐ |
| 7 | Legacy P2PKH simple | `0b6461de422c46a221db99608fcbe0326e4f2325ebf2a47c9faf660ed61ee6a4` | Tipo legacy, fingerprint conservador, banda MEDIA/BAJA | ☐ |
| 8 | Taproot script-path | `37777defed8717c581b4c0509329550e344bdc14ac38f71fc050096887e535c8` | Taproot reconocido | ☐ |
@@ -123,3 +123,23 @@ cada check ahora reflejan si el resultado es bueno o malo para la privacidad
(verde = bueno), no solo el estado interno. Un CoinJoin detectado sale en verde.
El badge de certeza se mantiene aparte, indicando solo el nivel de confianza.
Esto resuelve en parte el punto anterior sobre la claridad del badge.
### 2026-06-03 — Fixture #5 (dust attack)
El txid del roadmap resultó ser un dusting real, pero con un matiz importante:
la salida sospechosa era de **555 sats**, justo POR ENCIMA del umbral técnico de
dust (546). La app no lo detectaba, porque solo miraba el umbral técnico. Se
encontraron y corrigieron dos cosas:
1. Tono: el texto decía "trátalo como dust y no lo gastes" (consejo, contra la
regla "Txoko informa, no aconseja"). Reescrito para informar la consecuencia
y dejar decidir.
2. Detección: se añadió un segundo nivel. Ahora el motor distingue **dust
técnico** (< umbral, CERTEZA, es un hecho) de **posible dusting de privacidad**
(umbral a 1000 sats, POSIBLE, es una sospecha — cantidades pequeñas pero
gastables que un atacante usa a propósito para esquivar el umbral técnico).
El caso de 555 sats ahora se detecta como "posible dusting" con certeza
POSIBLE, sin afirmar de más.
Nota de proceso: en una iteración, el cambio se quedó en el archivo de trabajo
pero no se copió bien al repo, y se presentó una versión sin el cambio. Lección:
verificar con grep que el archivo presentado contiene el cambio antes de
desplegar.