Fórmulas en una celda: el riesgo de exportar texto de un tercero
El texto que muestra una consulta lo redactó un tercero. Al bajarlo a una planilla, el primer carácter de una celda puede convertir esa descripción en una cuenta que se ejecuta sola.
Una planilla de cálculo no lee todas sus celdas como texto. Si el primer carácter de una es un signo igual, la aplicación entiende que ahí empieza una cuenta y no una descripción. Ese detalle es irrelevante mientras el dato vive en una base o en una respuesta de una API, y se vuelve importante en el momento exacto en que alguien descarga un archivo y lo abre con doble clic.
En una consulta de infracciones casi todo el texto visible viene de un tercero: lo redactó un organismo, lo transcribió un operativo o lo completó un formulario que no controlamos. La regla que sostenemos con ese material es conservarlo tal como llegó. La pregunta, entonces, no es si conviene limpiarlo, sino en qué punto del recorrido puede dejar de ser texto.
Un archivo bien formado puede seguir siendo riesgoso
RFC 4180 describe cómo se escribe un CSV: filas, encabezado opcional, comillas dobles alrededor de los campos que contienen comas y la duplicación de una comilla dentro de un campo entrecomillado. Todo eso resuelve el transporte: que una descripción con comas no parta la fila en columnas que no existían. Las comillas delimitan; no neutralizan.
Ninguna de esas reglas dice nada sobre qué hará el programa que abra el archivo. MITRE cataloga esa distancia como CWE-1236 y describe el caso: un valor controlado por otro se guarda en una exportación y se interpreta al abrirla. Entre los caracteres sensibles menciona el signo igual, el más, el menos y la arroba. OWASP documenta el mismo problema como inyección en CSV.
La neutralización —transformar el valor para que la planilla no lo evalúe— no forma parte del formato. Es una decisión de quien produce el archivo y hay que tomarla a propósito.
De dónde sale el texto que no controlamos
El acta única que describe la Agencia Nacional de Seguridad Vial registra, entre otros datos, lugar, fecha, circunstancias, la norma presuntamente infringida y la autoridad interviniente. Varios de esos campos son texto libre. Cuando ese contenido llega a una consulta ya pasó por sistemas y transcripciones que no auditamos.
No hace falta que alguien haya querido atacar a nadie. Una dirección abreviada que empieza con guión, un código interno con arroba, un rango de kilómetros escrito con signo menos: cualquiera de esos valores legítimos alcanza para que la celda cambie de naturaleza. El caso malicioso y el accidental producen el mismo síntoma —un dato que ya no es el dato— y el segundo no necesita que exista un atacante.
Por qué no lo saneamos al ingresar
Sería tentador quitar esos caracteres al momento de guardar. No lo hacemos: el texto original es la evidencia que permite comparar una fila con lo que muestra el portal, advertir que una fuente cambió su redacción y sostener que dos actas parecidas son la misma. Un valor saneado en el ingreso ya no sirve para eso, y la pérdida es silenciosa.
La transformación pertenece a la frontera de salida, donde ya se sabe hacia dónde va el archivo. Ahí la decisión depende del destino: un proceso que lee el archivo con una biblioteca necesita el valor íntegro; una descarga pensada para abrirse en una planilla necesita que nada se evalúe. El mismo dato, dos representaciones, dos contratos distintos.
Cuando la exportación alimenta un proceso automático de flota el problema tiene más aristas —orden de serialización, columnas, pruebas de regresión— y lo tratamos aparte en CSV de flota y fórmulas peligrosas.
Qué declara un archivo honesto
Una exportación auditable dice de sí misma:
- qué fuente y qué fecha de consulta corresponden a cada fila;
- qué campos conservan el texto original sin tocar;
- si hubo neutralización y con qué criterio se aplicó;
- qué codificación usa el archivo;
- qué columnas deberían leerse como texto y no como número o fecha.
Esa última línea evita un problema vecino: los números de acta y los identificadores pierden ceros a la izquierda o se muestran en notación científica cuando la planilla decide por su cuenta que son cantidades.
Qué revisar antes de abrir una descarga
Si te pasaron un archivo con infracciones —lo bajaste de un portal, te lo envió un proveedor o lo exportó un sistema interno— conviene tratarlo como texto ajeno:
- importalo desde el menú de la planilla en vez de abrirlo con doble clic, porque ahí podés elegir el tipo de cada columna;
- marcá como texto las columnas de patente, acta e identificadores;
- no habilites edición, contenido activo ni macros para ver una tabla;
- desconfiá de una celda que muestra un número o un error de cálculo donde esperabas una descripción;
- verificá contra la fuente oficial cualquier dato que vayas a usar para pagar o para presentar un descargo.
Un archivo descargado es una copia fechada, no el expediente. Si algo de esa copia va a sostener una decisión, confirmalo en el canal del organismo antes de actuar sobre él.
Preguntas frecuentes
¿Un dato legítimo de una fuente oficial también puede activar una fórmula?
Sí, y no hace falta que alguien haya querido atacar a nadie. Una dirección abreviada que empieza con guión o un código interno con arroba alcanzan para que la celda deje de leerse como texto. Por eso tratamos igual toda descripción que llega de un tercero, sin distinguir entre el error y la intención.
¿Conviene borrar los signos raros al guardar el dato?
No lo hacemos. El texto tal como lo publicó la fuente es la evidencia que permite compararlo con el portal y advertir que cambió la redacción. La transformación se aplica al exportar y se declara junto al archivo.
¿Cómo abro un archivo de infracciones que me pasaron?
Importalo desde el menú de la planilla en lugar de abrirlo con doble clic: así podés marcar como texto las columnas de patente, acta e identificadores. No habilites contenido activo ni macros sólo para ver una tabla, y verificá contra la fuente oficial cualquier dato que vayas a usar para pagar o reclamar.
Fuentes consultadas 4 referencias
- RFC 4180: Common Format and MIME Type for CSV Files (abre en una pestaña nueva) — RFC EditorConsultada el
- CWE-1236 — Improper Neutralization of Formula Elements in a CSV File (abre en una pestaña nueva) — MITREConsultada el
- CSV Injection (abre en una pestaña nueva) — OWASP FoundationConsultada el
- Acta única de infracción (abre en una pestaña nueva) — Agencia Nacional de Seguridad VialConsultada el
Datos y metodología
- Alcance de la nota
- Qué le puede pasar a un texto tomado de una fuente oficial cuando se serializa en un archivo y alguien lo abre en una planilla de cálculo. No cubre el diseño de integraciones automáticas ni la revisión de seguridad de un exportador.
- Unidad de análisis
- Una celda de un archivo exportado, con el valor original que llegó de la fuente y la representación con la que se entrega.
- Cobertura
- Especificación del formato CSV, catálogo de debilidades de MITRE y documentación de OWASP sobre inyección en CSV, junto con la descripción oficial del acta única, consultados el 29 de agosto de 2026.
Limitaciones
- El comportamiento depende de la aplicación, de su versión y de la configuración regional de la máquina que abre el archivo.
- Ninguna neutralización es universal: la transformación tiene que documentarse y probarse con los lectores que se soportan.
- La nota describe el riesgo con ejemplos inofensivos y no reemplaza una revisión de seguridad del exportador.
Fecha declarada del contenido: . La fecha de consulta no reemplaza la vigencia de la norma ni una revisión independiente.
Notas relacionadas
CSV de flota y fórmulas peligrosas: cómo exportar sin ejecutar contenido
Un CSV válido puede seguir siendo peligroso al abrirse en una planilla. La exportación debe separar fidelidad del dato y seguridad de visualización.
Una infracción con varios nombres: cómo conservar el texto original
Dos organismos pueden nombrar de manera distinta una conducta parecida. Normalizar ayuda a comparar, pero nunca debería borrar el texto oficial ni la norma citada.
Cómo saber si tenés un vehículo a tu nombre con el DNI
No hay un buscador oficial que liste tus autos a partir del documento: el registro automotor se consulta por dominio. Con el DNI se consultan infracciones y antecedentes, y la titularidad se acredita con un trámite registral.