close
Vai al contenuto

cURL

Da Wikipedia, l'enciclopedia libera.
BERJAYA Disambiguazione – Se stai cercando altri significati, vedi Curl (disambigua).
CURL
software
Logo
Logo
Output di esempio di curl -O
Output di esempio di curl -O
Output di esempio di curl -O
GenereGestore di download
SviluppatoreDaniel Stenberg
Data prima versione1996
Ultima versione8.20.0 (29 aprile 2026)
Sistema operativoMultipiattaforma
LinguaggioC
Licenzacurl license
(licenza libera)
Sito webcurl.se/

cURL (pronunciato "curl", /kɜːrl/[1]) è un software che fornisce una libreria (libcurl) e una interfaccia da linea di comando (curl), utilizzabili per trasferire dati e file tramite numerosi protocolli. Il nome significa "Client per URL" ("Client for URL" in inglese)[2].

La prima versione di cURL è stata pubblicata nel 1996[3]. Il suo nome originariamente era httpget, diventato poi urlget, prima dell'adozione del nome attuale curl. L'autore e sviluppatore principale è lo sviluppatore svedese Daniel Stenberg, che ha creato questo software per automatizzare il recupero dei tassi di cambio valuta per gli utenti di IRC.

Da almeno il 2018, il progetto riceve donazioni tramite Open Collective, una piattaforma di crowdfunding open source.[4]

Inizio del programma bug bounty e chiusura per «AI slop»

[modifica | modifica wikitesto]

Nel 2019 il progetto cURL ha raccolto fondi sufficienti per lanciare un programma di responsible disclosure tramite bug bounty, ovverosia un sistema di ricompensa economica per chi rileva vulnerabilità di sicurezza informatica confermate.[5][6][7]

Il programma di bug bounty di cURL è durato in modo positivo per più di cinque anni, rilevando più di 80 vulnerabilità confermate ed erogando ricompense per più di 90 000 dollari al 2024-2025.[8][7] Il progetto beneficiava di segnalazioni di alta qualità, anche grazie alla potenziale massima ricompensa di 10 000 dollari per segnalazione.[7]

Dal 2024 al 2025 il progetto cURL assiste ad un aumento dei falsi positivi senza precedenti: arrivano decine di segnalazioni scritte in inglese impeccabile, e con dettagli tecnici molto convincenti, ma totalmente infondate.[7][9] In alcuni casi "semplici" le false segnalazioni menzionano chiamate a porzioni di codice inesistente, ma in altri casi vi erano altri tipi di allucinazioni da intelligenza artificiale generativa difficili da rilevare, se non dopo ore di verifiche e test di riprodicibilità da parte della squadra di cURL.[7][9][8]

Dal 2024 al 2026 questo fenomeno di falsi positivi è divenuto insostenibile per i manutentori di cURL, vissuto come un attacco informatico distribuito (distributed denial of service), descritto come tale in diversi contesti internazionali, per esempio con la dicitura «AI slop attacks on the curl project» (letteralmente "il minestrone di intelligenza artificiale attacca il progetto cURL").[9][7][10][11][12][13][14][15]

A gennaio 2026, dopo aver ricevuto un'ulteriore sequenza di segnalazioni di sicurezza infondate («AI slop»), cURL interrompe il programma bug bounty.[10][11][16][17][18][15][19]

libcurl è una libreria lato client per trasferimento dati tramite URL, che supporta cookie, DICT, FTP, FTPS, Gopher, HTTP/1 (con supporto per HTTP/2 e HTTP/3), HTTP POST, HTTP PUT, proxy tunneling HTTP, HTTPS, IMAP, Kerberos, LDAP, MQTT, POP3, RTSP, RTMP, SCP, SMTP, e SMB. La libreria supporta lo schema URI file, SFTP, Telnet, TFTP, ripresa del trasferimento del file, caricamento FTP, caricamento HTTP basato sui form, certificati HTTPS, LDAPS, proxy e autenticazione utente con password.

La libreria libcurl è portabile. Può essere compilato e funzionare in maniera identica su numerose piattaforme, come AIX, AmigaOS, Android, BeOS, BlackBerry Tablet OS e BlackBerry 10, OpenVMS, Darwin, DOS, FreeBSD, HP-UX, HURD, iOS, IRIX, Linux, macOS, NetBSD, NetWare, OpenBSD, OS/2, QNX Neutrino, RISC OS, Solaris, Symbian, Tru64, Ultrix, UnixWare, Microsoft Windows e OpenHarmony.

La libreria libcurl è open source, thread-safe e compatibile con IPv6. Sono disponibili associazioni per oltre 50 linguaggi[20], tra cui C/C++, Java, Julia (in bundle), PHP e Python.

La libreria libcurl supporta GnuTLS, mbed TLS, NSS, gskit su IBM i, SChannel su Windows, Secure Transport su macOS e iOS, SSL/TLS attraverso OpenSSL, BoringSSL, libreSSL, AmiSSL, wolfSSL, BearSSL e rustls.

curl è uno strumento da linea di comando per ottenere o inviare dati, inclusi file, usando una sintassi URL. Dato che curl utilizza libcurl, supporta tutti i protocolli supportati da libcurl.

curl supporta HTTPS e verifica di default i certificati SSL quando è specificato un protocollo sicuro, come HTTPS. Quando curl si connette ad un server remoto tramite HTTPS, riceve il certificato del server, e lo controlla tramite i suoi certificati CA per verificare che il server sia quello che dichiara di essere. Alcuni pacchetti di curl sono in bundle con file di certificati CA. Ci sono numerose opzioni per specificare un certificato CA, come --cacert e --capath. L'opzione --cacert può essere usata per specificare la posizione del file del certificato CA. Su Windows, se un file di certificato CA non è specificato, curl cercherà un certificato CA con nome “curl-ca-bundle.crt” nelle seguenti cartelle nell'ordine indicato:

  1. Cartella in cui il software curl è situato.
  2. Cartella corrente.
  3. Cartella di sistema Windows.
  4. Cartella di Windows.
  5. Cartelle elencate nella variabile d'ambiente %PATH%.

curl genererà un messaggio di errore se il server remoto usa un certificato autofirmato, o se il server remoto non ha un certificato firmato da una CA presente nel file dei certificati CA. Le opzioni -k o --insecure possono essere usate per saltare la verifica del certificato. In alternativa, se il server remoto è fidato, il certificato CA del server può essere aggiunto al file dei certificati CA.

Un uso di base di curl richiede semplicemente scrivere curl sulla linea di comando, seguito dall'URL da richiedere:

$ curl www.example.com

curl di default mostra ciò che riceve dall'URL sullo standard output del sistema (solitamente la finestra del terminale). Quindi eseguire il comando qui sopra, sulla maggior parte dei sistemi, mostrerebbe il codice sorgente di www.example.com nella finestra del terminale. L'opzione -o può essere usata per memorizzare l'output in un file:

$ curl -o example.html www.example.com

Sono disponibili inoltre altre opzioni che modificano il comportamento di curl.

  1. curl - Frequently Asked Questions, su curl.se. URL consultato il 16 settembre 2024.
  2. The name - everything curl, su everything.curl.dev. URL consultato il 16 settembre 2024.
  3. curl - History, su curl.se. URL consultato il 16 settembre 2024.
  4. (EN) curl, su open collective. URL consultato il 30 aprile 2026.
  5. (EN) curl + hackerone = TRUE, in 22 aprile 2019. URL consultato il 30 aprile 2026.
  6. (EN) SECURITY.md: created, in 10 giugno 2019.
  7. 1 2 3 4 5 6 (EN) AI slop attacks on the curl project, in 2025-08-16. URL consultato il 30 aprile 2026.
    «In these days of "vibe coding" and chatbots, users ask AIs for help with everything. Asked to find security problems in Open Source projects, AI bots tell users something that sounds right. Reporting these "findings" wastes everyone's time and causes much frustration and fatigue. Daniel shows how this looks, how it creates a DDoS on projects and how totally beyond absurd this is. With examples and insights from the curl project.»
  8. 1 2 (EN) The end of the curl bug-bounty, in 26 gennaio 2026. URL consultato il 30 aprile 2026.
  9. 1 2 3 (EN) Slop, su GitHub. URL consultato il 30 aprile 2026.
  10. 1 2 (EN) Overrun with AI slop, cURL scraps bug bounties to ensure “intact mental health”, in 22 gennaio 2026. URL consultato il 30 aprile 2026.
  11. 1 2 (EN) Maya Posch, The CURL Project Drops Bug Bounties Due To AI Slop, su hackaday.com, 26 gennaio 2026. URL consultato il 30 marzo 2026.
  12. (EN) Sourav Rudra, Curl is Done With AI Slop, in 6 maggio 2025. URL consultato il 30 marzo 2026.
    «Sadly, the program has become swamped with AI slop, where people (or perhaps bots!?) are creating bug reports with AI-generated contents that don't offer any real value in helping the curl developers improve the tool.»
  13. (EN) Daniel Stenberg, The I in LLM stands for intelligence, su daniel.haxx.se, 2 gennaio 2024. URL consultato il 30 marzo 2026.
    «We have run the bounty for a few years by now, and the rate of rubbish reports has never been a big problem. Also, the rubbish reports have typically also been very easy and quick to detect and discard. They have rarely caused any real problems or wasted our time much. A little like the most stupid spam emails. [...] A crap report does not help the project at all. It instead takes away developer time and energy from something productive. Partly because security work is consider one of the most important areas so it tends to trump almost everything else.»
  14. (EN) Daniel Stenberg, Death by a thousand slops, in 14 luglio 2025. URL consultato il 30 marzo 2026.
    «The general trend so far in 2025 has been way more AI slop than ever before (about 20% of all submissions) as we have averaged in about two security report submissions per week. In early July, about 5% of the submissions in 2025 had turned out to be genuine vulnerabilities. The valid-rate has decreased significantly compared to previous years.»
  15. 1 2 (EN) Steven J. Vaughan-Nichols, cURL’s Daniel Stenberg: AI slop is DDoSing open source, in 15 febbraio 2026. URL consultato il 30 marzo 2026.
  16. Michele Nasi, cURL dice basta alle segnalazioni prodotte usando l'AI, in 21 gennaio 2026. URL consultato il 30 marzo 2026.
  17. (EN) Simon Sharwood, Curl shutters bug bounty program to remove incentive for submitting AI slop, in 21 gennaio 2026. URL consultato il 30 marzo 2026.
  18. (EN) Daniel Stenberg, bug-bounty and hackerone, in 16 gennaio 2026. URL consultato il 30 marzo 2026.
    «We started out the week receiving seven Hackerone issues within a sixteen hour period. Some of them were true and proper bugs, and taking care of this lot took a good while. Eventually we concluded that none of them identified a vulnerability and we now count twenty submissions done already in 2026. […] The main goal with shutting down the bounty is to remove the incentive for people to submit crap and non-well researched reports to us. AI generated or not. The current torrent of submissions put a high load on the curl security team and this is an attempt to reduce the noise.»
  19. (EN) Sourav Rudra, cURL Gets Rid of Its Bug Bounty Program Over AI Slop Overrun, in 24 gennaio 2026. URL consultato il 30 marzo 2026.
    «just weeks into 2026, seven HackerOne reports came in within a 16-hour period in just one week. Some were actual bugs, but none of them were security vulnerabilities. By the time Daniel posted his recent weekly report, they'd already dealt with 20 submissions in 2026. The main goal here is said to be stopping the flood of garbage reports. By eliminating the money incentive, they are hoping people (or bots?) will stop wasting the security team's time with half-baked, unresearched submissions.»
  20. libcurl - Bindings, su curl.se. URL consultato il 16 settembre 2024.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica