Injection Test String Generator API

API ID 13377

Canonical injection test strings for checking your own escaping: SQL tautology, XSS, path traversal, template injection. Harmless probes, not working exploits. Reproducible seeds.

Documentação da API

Endpoints

Requisição
Gera dados de teste de caso extremo para um único tipo de campo — os valores de entrada hostis, mas legais, que quebram código real. Retorna valores com os metadados que os tornam acionáveis: a qual categoria o valor pertence e uma explicação em português simples de que tipo de código exatamente ele quebra Escolha entre 16 tipos em 8 grupos: unicode_string, emoji_sequence, person_name, organization_name, email, email_display_name, date, datetime, integer, float, UUID, path_or_filename, postal_code, phone_number, JSON key, e JSON value Exemplos do que você recebe: datas de dia bissexto que quebram a aritmética de datas ingênua, o timestamp do ano de 2038 que transborda 32-bit time_t, 0.30000000000000004 do arredondamento IEEE 754, famílias de emojis ZWJ que são um grafema, mas sete pontos de código, homógrafos cirílicos usados em spoofing de domínio, nomes de arquivos reservados do Windows como CON, e endereços de e-mail válidos segundo RFC 5322 que validadores regex ingênuos rejeitam incorretamente Totalmente determinístico: passe uma semente, e os mesmos valores exatos retornam todas as vezes, então os resultados podem ser fixados em fixtures de CI. Omitir a semente, e uma é gerada para você e retornada na resposta, pronta para ser fixada depois Saída como JSON (padrão), CSV ou texto simples. Filtrar para uma única categoria com o parâmetro de categoria. Descubra todos os tipos e categorias através do endpoint Catalog
Endpoint ID: 28556
GET https://zylalabs.com/api/13377/injection+test+string+generator+api/28556/generate+edge+case+test+data
PARÂMETROS DE ENTRADA

Gerar dados de teste para casos extremos — Recursos do endpoint

Objeto Descrição
type Obrigatório Field type to generate. One of the 16 types — call the Catalog endpoint for the full list.
count Opcional Number of values to return, 1–500. Default 50.
seed Opcional Integer seed for reproducible output. Omit for a random seed, which is returned in the response.
category Opcional Restrict output to one category within the type, e.g. leap_day or homoglyph.
format Opcional json (default), csv, or text.
csv_escape Opcional Only for format=csv. true (default) neutralises spreadsheet formula injection; false returns raw values.

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

type
count
seed
category
format
csv_escape
RESPOSTA DE EXEMPLO DA API
JSON
{
    "type": "email",
    "seed": 42,
    "count": 3,
    "items": [
        {
            "value": "user@[192.168.1.1]",
            "category": "ip_literal_domain",
            "breaks": "Domain-parsing code that assumes the part after '@' is always a hostname (never a bracketed IP literal) fails to extract or validate the domain correctly.",
            "safe_to_display": true
        },
        {
            "value": "[email protected]",
            "category": "punycode_domain",
            "breaks": "The domain is punycode-encoded (an internationalized domain name). Domain allowlist or comparison logic that does not decode punycode may fail to recognize this as equivalent to its Unicode form, or fail to catch a homograph-spoofed lookalike domain encoded the same way.",
            "safe_to_display": true
        },
        {
            "value": "[email protected]",
            "category": "plus_addressing",
            "breaks": "Deduplication logic treating '[email protected]' and '[email protected]' as different accounts misses that most mail providers deliver both to the same inbox (sub-addressing, RFC 5233).",
            "safe_to_display": true
        }
    ]
}
Gerar dados de teste para casos extremos — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/13377/injection+test+string+generator+api/28556/generate+edge+case+test+data?type=email&count=3&seed=42' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição
Gera um conjunto de teste completo em uma chamada: defina seus próprios nomes de campo, mapeie cada um para um tipo e receba linhas prontas para preencher um banco de dados, um conjunto de teste para CI ou um conjunto de dados para QA Envie um objeto de campos que mapeia qualquer nome de campo que desejar para um dos 16 tipos suportados, por exemplo, {"user_email": "email", "signup_at": "datetime", "display_name": "person_name"}. Cada linha combina um valor hostil por campo, então uma única chamada exercita muitos modos de falha ao mesmo tempo Até 20 campos e 500 linhas por chamada. Dois campos que compartilham o mesmo tipo recebem valores embaralhados de forma independente em vez de cópias idênticas, então um billing_email e um personal_email na mesma linha são endereços genuinamente diferentes Determinístico: a mesma semente sempre retorna as mesmas linhas. Omitir a semente, e uma é gerada e retornada para que a execução possa ser reproduzida exatamente Saída em JSON (padrão) ou CSV. CSV retorna uma coluna por nome de campo, na ordem que você declarou—cole diretamente em uma planilha ou em um script de preenchimento
Endpoint ID: 28557
POST https://zylalabs.com/api/13377/injection+test+string+generator+api/28557/generate+multi-field+test+fixture+rows
PARÂMETROS DE ENTRADA

Gerar Linhas de Teste de Vários Campos — Recursos do endpoint

Objeto Descrição
Corpo da requisição Obrigatório Json
Corpo da requisição Obrigatório Json

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

RESPOSTA DE EXEMPLO DA API
JSON
{
    "seed": 7,
    "count": 2,
    "rows": [
        {
            "user_email": {
                "value": "a234567890123456789012345678901234567890123456789012345678901234@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com",
                "category": "max_length_254",
                "breaks": "This address is near the RFC 5321 maximum length of 254 characters. Database columns sized below that maximum truncate or reject it even though it is technically valid.",
                "safe_to_display": true
            },
            "signup_at": {
                "value": "2026-11-01T01:30:00-04:00",
                "category": "dst_fall_back_ambiguous",
                "breaks": "In US Eastern time, this local clock time occurs twice during the fall-back transition. Without an explicit fold indicator, converting it to UTC is genuinely ambiguous, and libraries may silently pick the wrong occurrence.",
                "safe_to_display": true
            }
        },
        {
            "user_email": {
                "value": "[email protected]",
                "category": "plus_addressing",
                "breaks": "Deduplication logic treating '[email protected]' and '[email protected]' as different accounts misses that most mail providers deliver both to the same inbox (sub-addressing, RFC 5233).",
                "safe_to_display": true
            },
            "signup_at": {
                "value": "2026-01-01T24:00:00",
                "category": "midnight_as_24_00",
                "breaks": "ISO 8601 permits 24:00:00 to represent midnight at the end of a day, but many parsers only accept 00:00:00 through 23:59:59 and reject this equally valid representation.",
                "safe_to_display": true
            }
        }
    ]
}
Gerar Linhas de Teste de Vários Campos — TRECHOS DE CÓDIGO

curl --location --request POST 'https://zylalabs.com/api/13377/injection+test+string+generator+api/28557/generate+multi-field+test+fixture+rows' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "fields": {
    "user_email": "email",
    "signup_at": "datetime"
  },
  "count": 2,
  "seed": 7
}'

    
Requisição
Retorna todos os tipos de campo que esta API pode gerar, junto com seu grupo de categoria, uma descrição, a lista de tags de categoria disponíveis para filtragem e quantos valores distintos existem em cada conjunto. Chame isso primeiro ao integrar programaticamente - incluindo a partir de um agente de IA ou assistente de codificação - para descobrir o conjunto completo de capacidades sem hardcodificar nomes de tipo ou ler documentação. Também retorna os formatos de saída suportados e o número máximo de linhas por solicitação
Endpoint ID: 28558
GET https://zylalabs.com/api/13377/injection+test+string+generator+api/28558/list+available+types+and+categories
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.

Este endpoint não requer parâmetros de entrada.

RESPOSTA DE EXEMPLO DA API
JSON
{
    "types": [
        {
            "type": "date",
            "category_group": "datetimes",
            "description": "Calendar-boundary and invalid-looking-but-real dates.",
            "categories": [
                "earliest_iso_year",
                "far_future_sentinel",
                "invalid_day_of_month",
                "leap_day",
                "pre_epoch",
                "year_2038"
            ],
            "entry_count": 6
        },
        {
            "type": "datetime",
            "category_group": "datetimes",
            "description": "Timestamps at DST transitions, unusual UTC offsets, and precision boundaries.",
            "categories": [
                "dst_fall_back_ambiguous",
                "dst_spring_forward_gap",
                "leap_second",
                "midnight_as_24_00",
                "quarter_hour_offset",
                "sub_microsecond_precision"
            ],
            "entry_count": 7
        },
        {
            "type": "email",
            "category_group": "emails",
            "description": "RFC 5322-valid but unusual email addresses.",
            "categories": [
                "comment_syntax",
                "ip_literal_domain",
                "max_length_254",
                "mixed_case",
                "plus_addressing",
                "punycode_domain",
                "quoted_local_part"
            ],
            "entry_count": 7
        },
        {
            "type": "email_display_name",
            "category_group": "emails",
            "description": "Display-name strings that can corrupt naively-built SMTP headers.",
            "categories": [
                "angle_bracket_in_display_name",
                "comma_in_display_name",
                "crlf_header_injection",
                "null_byte",
                "very_long_display_name"
            ],
            "entry_count": 5
        },
        {
            "type": "emoji_sequence",
            "category_group": "unicode",
            "description": "Multi-codepoint emoji: ZWJ sequences, skin-tone modifiers, flag sequences, keycaps.",
            "categories": [
                "flag_sequence",
                "keycap_sequence",
                "skin_tone_modifier",
                "zwj_family",
                "zwj_generic_pair"
            ],
            "entry_count": 5
        },
        {
            "type": "float",
            "category_group": "numbers",
            "description": "Floating-point values that are not representable in JSON, or that expose IEEE 754 rounding.",
            "categories": [
                "denormal_minimum",
                "ieee754_rounding",
                "infinity",
                "not_a_number",
                "scientific_notation"
            ],
            "entry_count": 5
        },
        {
            "type": "integer",
            "category_group": "numbers",
            "description": "Integer values at 32-bit and 64-bit signed boundaries.",
            "categories": [
                "int32_max_plus_one",
                "int32_min_minus_one",
                "int64_max",
                "leading_zeros",
                "negative_zero"
            ],
            "entry_count": 5
        },
        {
            "type": "json_key",
            "category_group": "structural",
            "description": "Strings intended for use as a JSON object key, including reserved and unsafe names.",
            "categories": [
                "dollar_prefix",
                "embedded_dot",
                "empty_string_key",
                "numeric_string_key",
                "prototype_pollution_key",
                "very_long_key",
                "whitespace_only_key"
            ],
            "entry_count": 8
        },
        {
            "type": "json_value",
            "category_group": "structural",
            "description": "JSON values at precision, nesting, and null/empty/missing boundaries.",
            "categories": [
                "boolean_as_string",
                "empty_array",
                "empty_object",
                "explicit_null",
                "float64_precision_loss",
                "leading_zero_numeric_string"
            ],
            "entry_count": 6
        },
        {
            "type": "organization_name",
            "category_group": "names",
            "description": "Company/brand names with punctuation, leading digits, or unusual casing.",
            "categories": [
                "accented_character",
                "ampersand",
                "apostrophe",
                "intentional_lowercase_brand",
                "leading_digit",
                "trailing_punctuation",
                "very_long_legal_name"
            ],
            "entry_count": 7
        },
        {
            "type": "path_or_filename",
            "category_group": "identifiers",
            "description": "Filenames and paths that are legal but mishandled by common filesystem or validation code.",
            "categories": [
                "bare_parent_reference",
                "leading_dot_hidden_file",
                "max_length_255",
                "path_traversal",
                "reserved_windows_device_name",
                "trailing_dot",
                "trailing_space",
                "unicode_normalization_mismatch"
            ],
            "entry_count": 8
        },
        {
            "type": "person_name",
            "category_group": "names",
            "description": "Names that break naive validation, splitting, or templating logic -- includes canonical injection probes.",
            "categories": [
                "apostrophe",
                "emoji_in_name",
                "leading_trailing_whitespace",
                "mononym",
                "multi_word_particle_surname",
                "reserved_word",
                "right_to_left_script",
                "shell_metacharacter_probe",
                "single_character",
                "sql_injection_probe",
                "ssti_probe",
                "very_long_name",
                "xss_probe"
            ],
            "entry_count": 14
        },
        {
            "type": "phone_number",
            "category_group": "addresses_phones",
            "description": "Phone numbers at E.164 length boundaries and common formatting variants.",
            "categories": [
                "e164_maximum_length",
                "e164_near_minimum_length",
                "extension_suffix",
                "human_formatted_punctuation",
                "leading_zero_national_format",
                "long_country_code"
            ],
            "entry_count": 6
        },
        {
            "type": "postal_code",
            "category_group": "addresses_phones",
            "description": "Postal codes from formats that break US-centric assumptions.",
            "categories": [
                "canada_alternating_pattern",
                "country_without_postal_code",
                "eircode",
                "embedded_hyphen",
                "leading_zero_us_zip",
                "uk_postcode_variable_length"
            ],
            "entry_count": 6
        },
        {
            "type": "unicode_string",
            "category_group": "unicode",
            "description": "Strings with combining marks, bidi overrides, zero-width characters, and homoglyphs.",
            "categories": [
                "astral_plane",
                "bidi_override",
                "byte_order_mark",
                "combining_diacritic",
                "combining_mark_stack",
                "homoglyph",
                "mixed_script",
                "variation_selector",
                "zero_width_space"
            ],
            "entry_count": 9
        },
        {
            "type": "uuid",
            "category_group": "identifiers",
            "description": "Syntactically valid UUIDs at sentinel and formatting boundaries.",
            "categories": [
                "invalid_version_nibble",
                "max_uuid",
                "nil_uuid",
                "unhyphenated_form",
                "uppercase_hex"
            ],
            "entry_count": 5
        }
    ],
    "formats": [
        "csv",
        "json",
        "text"
    ],
    "max_count": 500
}
Listar Tipos e Categorias Disponíveis — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/13377/injection+test+string+generator+api/28558/list+available+types+and+categories' --header 'Authorization: Bearer YOUR_API_KEY' 


    

Chave de acesso à API e autenticação

Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Injection Test String Generator API basta incluir seu token Bearer no cabeçalho Authorization.

Cabeçalhos
Cabeçalho Descrição
Authorization Obrigatório Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.

Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.

(Economize 2 meses com cobrança anual 🎉)

🚀 Plano Empresarial

A partir de
$ 10.000/Ano


  • Volume personalizado
  • Limite de taxa personalizado
  • Suporte ao cliente especializado
  • Monitoramento de API em tempo real
zeiss-logo amazon-logo zoom-logo decathlon-logo

Empresas líderes confiam em nós

Visão Geral

Edge case test data for QA and fuzz testing: Unicode, injection probes, boundary dates, float precision. 16 types, reproducible seeds, and every value explains what it breaks.

Injection Test String Generator API FAQs

Dados de teste de casos extremos são entradas que são tecnicamente válidas, mas estão nos limites onde o software geralmente falha - datas de dia bissexto, inteiros nos limites de 32 bits, nomes contendo apóstrofes, emojis feitos de múltiplos pontos de código e nomes de arquivos reservados pelo Windows. Geradores de dados falsos comuns produzem dados plausíveis; dados de casos extremos são o que realmente encontra bugs

Faker Mockaroo e ferramentas similares otimizam para dados com aparência realista nomes plausíveis endereços e datas Esta API faz o oposto cada valor é escolhido porque quebra algo Ela também te informa o que quebra então um teste com falha é imediatamente diagnosticável ao invés de ser um mistério

Uma explicação em linguagem simples do modo de falha específico que o valor é projetado para expor — por exemplo, que 0.30000000000000004 é o resultado real de 0.1 + 0.2 na aritmética IEEE 754 e falhará em uma verificação de igualdade contra 0.3. Isso transforma uma string bruta em um caso de teste documentado

Sim Passe uma semente e os mesmos valores são retornados toda vez permanentemente nos endpoints /v1 - seguro para fixar em elementos de CI Omitir a semente e uma aleatória é gerada e retornada na resposta para que você possa reproduzir aquela execução exata depois

Dezesseis tipos em oito grupos: strings Unicode e sequências de emoji, nomes de pessoas e organizações, emails e nomes de exibição de emails, datas e datas/hora, inteiros e flutuantes, UUIDs e caminhos de arquivos, códigos postais e números de telefone, e chaves e valores JSON

Sim POST /v1/generate aceita um objeto fields mapeando seus próprios nomes de campo para tipos e retorna até 500 linhas completas - até 20 campos cada - prontas para semear um banco de dados ou um fixture de CI

Inclui probes de detecção canônicos e inofensivos do tipo publicados em guias de teste de segurança padrão - uma tautologia SQL, uma probe básica de XSS, uma string de traversal de caminho. Estas são para testar o manuseio de entrada próprio. Não há exploits funcionais, payloads de shell ou cadeias de ataque específicas de CVE

Ele distingue dois riscos diferentes "Falso" significa que o valor é inseguro para ser exibido cru em uma interface de usuário uma sobreposição bidirecional que pode imitar visualmente um nome de arquivo por exemplo "Verdadeiro" significa que é seguro exibir como texto inerte mesmo que ainda possa quebrar o código de backend que o processa Filtre isso se você mostrar valores gerados para os usuários

Sim — format=csv, além do formato=text para um valor bruto por linha. Por padrão, as células CSV que acionariam a execução de fórmulas de planilhas são neutralizadas. Defina csv_escape=false se você estiver testando deliberadamente seu próprio manuseio de importação CSV

Não A API é sem estado sem banco de dados Nada que você solicitar e nada gerado para você é gravado em logs apenas metadados da solicitação como ponto final código de status e qual tipo foi solicitado

Perguntas Frequentes Gerais

O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]

Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]

APIs relacionadas