Rilevamento injection
Questo strumento esamina un testo — quello che un utente digita in un form, in un campo di ricerca o passa a un modello di IA — e segnala i pattern tipici di un attacco: SQL injection, tentativi di eseguire comandi, prompt che cercano di aggirare le istruzioni. Ti dice se l’input contiene segnali sospetti, così puoi trattarlo con prudenza prima di usarlo.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Che attacchi riconosce
Tre famiglie, soprattutto. La SQL injection, quando qualcuno infila frammenti di query per manomettere il database (il classico apostrofo seguito da “OR 1=1”). I tentativi di comando, quando l’input prova a far eseguire istruzioni al sistema. E la prompt injection, ormai diffusa: testi che cercano di convincere un modello di IA a ignorare le sue regole (“dimentica le istruzioni precedenti e…”). Per ognuno lo strumento indica il pattern che ha fatto scattare l’allarme.
Perché controllare l’input
Ogni campo aperto agli utenti è una porta: form di contatto, barra di ricerca, commenti, ma anche l’input che passi a un assistente basato su IA. Un controllo preventivo del testo non sostituisce le difese del tuo codice — le query parametrizzate restano obbligatorie — ma aggiunge un filtro rapido che intercetta i tentativi più evidenti e ti fa loggare chi ci prova. È una rete in più, da mettere prima di elaborare quello che arriva da fuori.
Come si esegue
Incolla il testo da controllare nella pagina: gira nel tuo browser, gratis e senza limiti, e nulla viene inviato a un server. Ricevi l’esito con i pattern trovati e la loro categoria. Per proteggere un flusso in automatico — validare in tempo reale ciò che arriva a un endpoint, per esempio — c’è la versione via API a $0.002 a richiesta, che fa lo stesso controllo sul canale che ti serve.
Un filtro, non una corazza
Attenzione a non riporre troppa fiducia in un solo controllo: gli attacchi si mascherano, e un input segnalato come pulito non è per forza innocuo. Questo strumento intercetta i tentativi noti e più diretti; la sicurezza vera si costruisce a livelli — validazione, query parametrizzate, permessi minimi. Usalo come primo setaccio e per tenere traccia di chi bussa alla porta con brutte intenzioni.
Casi d'uso
Barra di ricerca di un sito
Il sito di Tecnoedil Verona S.n.c. ha una ricerca interna. Passare al KIT ciò che gli utenti digitano intercetta i tentativi di infilare frammenti SQL e li segnala prima che il testo arrivi al database.
Assistente IA sul sito
Un chatbot risponde alle domande dei clienti. Controllare i messaggi in arrivo aiuta a scovare i prompt che cercano di fargli ignorare le istruzioni, un rischio concreto da quando gli assistenti basati su IA sono ovunque.
Log dei tentativi sospetti
Uno sviluppatore vuole capire quanti attacchi riceve un form pubblico. Analizzando gli invii con lo strumento e tenendo da parte quelli segnalati, costruisce un registro di chi prova a forzare l’input.
Domande frequenti
Rilevare i pattern sostituisce la protezione del mio codice?
No, e non deve. Le query parametrizzate e la validazione lato server restano indispensabili. Questo strumento è un filtro in più che intercetta i tentativi evidenti e ti aiuta a loggarli: una rete di sicurezza aggiuntiva, non l’unica difesa.
Riconosce anche la prompt injection verso le IA?
Sì. Oltre a SQL injection e tentativi di comando, segnala i testi che cercano di far ignorare le istruzioni a un modello di IA, come i messaggi che dicono “dimentica le regole precedenti”. È utile per chi ha un assistente basato su IA aperto al pubblico.
I testi che analizzo restano privati?
Sì. Nel browser il controllo gira sul tuo dispositivo e nulla viene inviato altrove: gratis, senza limiti, senza registrazione. Solo con la versione via API il testo passa dai nostri server, dove viene elaborato e non conservato.
Un input segnalato come pulito è sicuro?
Non necessariamente. Gli attacchi possono mascherarsi e nessun filtro coglie tutto. Consideralo un primo setaccio contro i tentativi noti, da affiancare sempre alle difese del tuo codice.
Serve per proteggere un form in tempo reale?
Per il controllo al volo di un singolo testo va bene la versione gratis nel browser. Per validare in automatico ciò che arriva a un endpoint conviene l’API, a $0.002 a richiesta, che restituisce l’esito da usare nel tuo flusso.
Devo registrarmi per usarlo?
No. Nel browser è gratis e senza account. Se usi l’API paghi a consumo con acquisto diretto, senza abbonamento e senza lasciare la carta in archivio.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/verify/injection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/injection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/injection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/injection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/injection", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"items": [
"valor-1",
"valor-2"
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.injection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |