
FLARE floss aplicado a todas as amostras descompactadas+despejadas no Malpedia, pré-processadas para uso posterior.
Este repositório contém o resultado da aplicação da ferramenta FLARE FLOSS a todas as amostras descompactadas e extraídas no Malpedia, pré-processadas para uso posterior.
Pretendemos atualizar esta coleção periodicamente.
Na última execução em janeiro de 2026, 9.202 arquivos associados a 2.136 famílias de malware foram processados.
O FLOSSing resultou em 61.135.522 strings brutas, que foram limpas e deduplicadas para 5.666.515 strings únicas.
Uma vez descomprimida, a coleção atualmente ocupa cerca de 1300 MB.
A coleção de strings é fornecida como um dicionário JSON (veja a pasta data) e tem três seções:
about: como um cabeçalho de arquivo, contém alguns metadados sobre esta coleção.family_to_id: um mapeamento de IDs de família para os nomes das famílias, conforme encontrado no Malpedia (mais algumas bibliotecas).strings: os dados propriamente ditos, um dicionário com a string como chave e o valor sendo um dicionário com algumas informações adicionais.Em suma, os dados têm esta aparência:
{
"about": {
"author": "Daniel Plohmann // daniel.plohmann<at>fkie.fraunhofer.de",
"date_flossed": "2026-01-06",
"date_published": "2026-01-06",
"floss_version": "floss v3.0.1-0-g3782dc9",
"info": "This collection contains the output of applying the FLARE team's floss tool to all unpacked+dumped samples in Malpedia, with additional information in which families the respective string was found, along with its extraction method and encoding. Processing has been applied to reduce the number of mistakenly extracted data strings with no real value to further analysis, FLOSS QUANTUMSTRAND and own tagging has been applied to enrich the output.",
"license": "Creative Commons BY-SA 4.0",
"num_input_strings": 61135522,
"num_filtered_input_strings": 26844200,
"num_malware_families": 2136,
"num_samples_flossed": 9202,
"num_tagged_strings": 2421776,
"num_unique_strings": 5666515,
"reference": "malpedia.caad.fkie.fraunhofer.de/",
"source": "https://github.com/malpedia/malpedia-flossed"
},
"family_to_id": {
"elf.anchor_dns": 1121,
"elf.angryrebel": 1393,
"elf.babuk": 899,
...
"win.zupdax": 1328,
"win.zxxz": 1732,
"win.zyklon": 689
},
"strings": {
...
"Mozilla/4.0 (compatible; MSIE 6.0; Win32)": {
"encodings": [
"ASCII"
],
"families": [
79,
272,
683,
914,
918,
1000,
1572
],
"family_count": 7,
"methods": [
"static"
],
"string": "Mozilla/4.0 (compatible; MSIE 6.0; Win32)",
"tags": [
"user-agent"
]
},
...
As codificações possíveis são ASCII e UTF-16LE, enquanto os métodos referem-se aos métodos de extração do FLOSS: decoded, stack, static, tight e language.
As tags são derivadas de um conjunto de heurísticas próprias, bem como baseadas em métodos e dados encontrados no branch de desenvolvimento QUANTUMSTRAND do FLOSS.
Em vez de analisar o enorme arquivo JSON toda vez, fornecemos um serviço web dockerizado que permite consultas.
Ele usa falcon como backend de API, WSGI através do waitress, proxy para implantações via nginx.
O layout é baseado no awesome-compose, mas atualizado e adaptado para uso com falcon e waitress.
O serviço suporta consultas únicas como requisições GET e consultas múltiplas como requisições POST:
$ curl https://strings.malpedia.io/api/query/FIXME
{"status": "successful", "data": [{"encodings": ["ASCII"], "families": ["win.kins", "win.vmzeus", "win.zeus_sphinx", "win.citadel", "win.ice_ix", "win.murofet", "win.zeus"], "family_count": 7, "methods": ["static"], "string": "FIXME", "tags": [], "matched": true}, {"matched": false, "string": "NOT_FLOSSED"}]}
$ curl -X POST https://strings.malpedia.io/api/query --data '"FIXME","NOT_IN_THE_DATABASE"'
{"status": "successful", "data": [{"encodings": ["ASCII"], "families": ["win.kins", "win.vmzeus", "win.zeus_sphinx", "win.citadel", "win.ice_ix", "win.murofet", "win.zeus"], "family_count": 7, "methods": ["static"], "string": "FIXME", "tags": [], "matched": true}, {"matched": false, "string": "NOT_IN_THE_DATABASE"}]}
Confira o script Python de demonstração para ver como interagir com o serviço.
Também hospedamos uma instância pública deste serviço em strings.malpedia.io.
Aqui está alguma documentação para o serviço web.
Um bom caso de uso para esta coleção de strings é provavelmente em ferramentas de análise binária, então construímos um plugin compatível com IDA Pro, Ghidra e Binary Ninja que demonstra isso:
Para funcionar com as três plataformas ao mesmo tempo, usamos o gui-plugin-template, que é baseado no hyara.
Aqui está alguma documentação para o plugin, explicando como instalá-lo e configurá-lo.
Adicionamos um plugin de inteligência para Malcat que consulta todas as strings no binário fornecido e renderiza os resultados em um resultado personalizado do Kesakode.
Para instalar, basta colocar o arquivo encontrado em ./plugins/malcat/MalpediaFlossed.py na pasta data/intelligence do Malcat.
Por padrão, a instância pública strings.malpedia.io é usada para consultas, mas você também pode definir seu próprio endpoint.
/api/query/<needle> ao enfrentar caminhos codificados por URL, adicionada capacidade para consultas containsOs dados são lançados sob a licença CC BY-SA 4.0, permitindo uso comercial.