Projeto técnico
Metodologia e limites de segurança
A implementação favorece a proveniência dos dados, mutação mínima, incerteza explícita e verificação repetível em vez da conversão apenas por conveniência.
1. Identificação de entrada
O analisador não depende exclusivamente do nome do arquivo. Ele verifica ZIP, OLE, JSON, XML e assinaturas de texto e, em seguida, inspeciona os membros do pacote quando aplicável. A normalização de caminho rejeita caminhos absolutos, barras invertidas, componentes de passagem, nomes normalizados duplicados, criptografia, compactação não suportada, arquivos de vários discos, ZIP64, contagens excessivas de entradas, tamanho expandido excessivo e taxas de compactação suspeitas.
2. Leitura redundante
Texto delimitado
Uma máquina de estado orientada a bytes registra a extensão de valor bruto de cada campo, respeitando os delimitadores entre aspas, aspas de escape e finais de linha incorporados. Uma máquina de estado de string decodificada separada analisa a mesma entrada. Suas matrizes são comparadas antes que a saída com preservação de bytes seja permitida.
OOXML
O leitor de pacotes resolve relacionamentos de pastas de trabalho e planilhas, strings compartilhadas, estilos, sistemas de datas e inventários de conteúdo. Cada planilha selecionada é analisada uma vez por meio de APIs XML DOM do navegador e novamente por meio de um scanner XML bruto de células. Valores, texto de fórmula e tipos de armazenamento são reconciliados.
3. Correspondência de símbolos genéticos
Os registros de referência são indexados por símbolos aprovados, símbolos anteriores, aliases e identificadores estáveis. A correspondência é classificada em vez de nivelada em uma única substituição:
- correspondência exata aprovada;
- símbolo aprovado com diferença de capitalização;
- correspondência de símbolo anterior única ou ambígua;
- correspondência de alias única ou ambígua;
- correspondência de recuperação de data única ou ambígua;
- entrada incomparável.
Somente mapeamentos suportados inequívocos são elegíveis para uma recomendação padrão. Os mapeamentos de alias são desabilitados por padrão porque os alias geralmente têm uma semântica mais fraca do que os símbolos anteriores.
4. Classificação de risco Excel
As regras de proteção operam na string original em vez de no número JavaScript sempre que possível. Eles detectam zeros à esquerda, números inteiros longos, padrões de notação científica, formulários de mês/data/hora, prefixos de fórmulas, posicionamento problemático de vírgulas, espaços em branco de limite, padrões de cotação, caracteres de controle e o limite de comprimento de fórmula herdado Excel.
5. Caminhos de saída
| Fonte | Escritor preferido | Verificação |
|---|---|---|
| UTF-8 CSV/TSV/TXT | Substituição bruta de byte-span para campos aprovados | Contrato do leitor e bytes inalterados fora dos períodos de patch |
| XLSX/XLSM | Substituição de células XML da planilha dentro do pacote existente | Reabra a saída, confirme as células alteradas, compare cada parte do pacote não compactado não modificado e compare os bytes da macro |
| JSON/ODS ou texto não preservável em bytes | Novo XLSX mínimo usando texto explícito e células numéricas conservadoras | Leitura de pacote e manifesto de alteração; rotulado como conversão em vez de preservação da fonte |
| Somente digitalizar | Sem saída de dados | Pacote de auditoria com inventário, descobertas, avisos e metadados de reconciliação |
6. Casos bloqueados ou restritos
- Arquivos ZIP/OOXML criptografados estão bloqueados.
- Pastas de trabalho OOXML assinadas podem ser inspecionadas, mas não são modificadas.
- As células de fórmula não são substituídas automaticamente.
- Arquivos OLE XLS legados exigem conversão em um aplicativo de planilha confiável antes do processamento.
- Codificações XML não suportadas e relacionamentos malformados falham no fechamento.
- Somente a planilha selecionada é exportada para formatos baseados em matriz nesta versão estática inicial.
- A referência HGNC padrão é deliberadamente compacta; a migração ampla de símbolos deve usar um arquivo HGNC completo carregado localmente.
7. Artefatos de reprodutibilidade
A auditoria ZIP inclui um manifesto JSON legível por máquina, conjuntos de alterações CSV e JSON, avisos e a saída primária quando existir. O manifesto registra o hash de entrada, o hash de saída, a versão do aplicativo, o fluxo de trabalho, a versão de referência, os nomes dos leitores, o estado de reconciliação, as contagens de alterações, a contagem de ambiguidades não resolvidas e o resultado da verificação.
