Fatti:
A.
I cittadini italiani B.B._ e C.B._ e la madre argentina D._, tutti domiciliati in Italia, erano titolari dal 1999 della relazione denominata, da ultimo, E._ presso la A._ SA a Lugano. La relazione non era dichiarata al fisco italiano.
L'11 marzo 2010 la banca ha comunicato ai propri clienti di essere stata vittima di un furto di dati, tra i quali figuravano verosimilmente quelli dei conti aperti prima dell'ottobre 2006, precisando tuttavia che le informazioni, frutto di un reato, erano difficilmente utilizzabili. La corrispondenza destinata alla relazione E._era stata trattenuta presso la banca in conformità con gli accordi presi al momento dell'apertura del conto. È emerso in seguito che, a cavallo degli anni 2006 e 2007, il dipendente della sede ginevrina della A._ SA F._ aveva sottratto e consegnato alle autorità francesi una mole considerevole di dati informatici riguardanti i clienti della banca. La lista F._era poi stata trasmessa alle autorità fiscali di diversi Stati dell'Unione europea, tra i quali l'Italia.
Il 24 settembre 2010 la Guardia di finanza italiana ha convocato per una verifica fiscale B.B._, la quale ha ammesso di non avere dichiarato il conto svizzero. La procedura è sfociata in una serie di recuperi d'imposta e sanzioni.
B.
Il 12 gennaio 2012 B.B._ ha promosso un'azione civile davanti al Pretore di Lugano, chiedendo che la A._ SA fosse condannata a risarcirle le imposte, le sanzioni e le multe pagate al fisco italiano nonché i costi dell'assistenza legale, per un totale di euro 39'789.90; domandava inoltre la rifusione delle spese della procedura di conciliazione di fr. 200.--. L'attrice rimproverava alla banca di non averla informata del furto della lista F._e di averle così impedito sia di regolarizzare volontariamente la propria posizione con il beneficio delle agevolazioni previste dal cosiddetto scudo fiscale italiano, sia di presentarsi preparata alla convocazione davanti alla Guardia di finanza.
La convenuta ha sollevato diverse eccezioni e contestato ogni addebito. Ha negato di avere commesso negligenze e di essere stata la consulente fiscale dell'attrice, responsabile peraltro per non avere dichiarato i propri averi in Svizzera, e ha sostenuto che l'atto illecito di F._ aveva interrotto qualsiasi nesso causale nei suoi confronti.
Il Pretore ha accolto parzialmente la petizione con sentenza del 3 settembre 2014, condannando la convenuta a pagare all'attrice euro 32'200.--. La II Camera civile del Tribunale di appello del Cantone Ticino, statuendo il 12 dicembre 2016 su appello della convenuta, ha ridotto la condanna a euro 30'978.--.
C.
La A._ SA insorge davanti al Tribunale federale con ricorso in materia civile del 16 gennaio 2017. Chiede in via principale che la sentenza impugnata sia riformata con la reiezione della petizione; in via subordinata che sia annullata e che gli atti siano rinviati al Tribunale d'appello per nuovo giudizio.
B.B._ propone di respingere il ricorso con risposta del 3 marzo 2017. L'autorità cantonale non ha preso posizione.

Diritto:
1.
Il ricorso è presentato dalla parte soccombente nella procedura cantonale (<ref-law>), è tempestivo (<ref-law>) ed è volto contro una sentenza finale (<ref-law>) emanata su ricorso dall'autorità ticinese di ultima istanza (<ref-law>) in una causa civile (<ref-law>) con valore litigioso superiore a fr. 30'000.-- (<ref-law>). Sotto questo profilo è ammissibile.
2.
La violazione del diritto federale è motivo di ricorso secondo l'<ref-law>. Il Tribunale federale lo applica d'ufficio (<ref-law>). Tuttavia, tenuto conto dell'onere di allegazione e motivazione imposto dall'art. 42 cpv. 1 e 2 LTF, di regola esso considera solo gli argomenti proposti nell'atto di ricorso (<ref-ruling> consid. 2; <ref-ruling> consid. 1.1).
In linea di massima il Tribunale federale fonda il suo ragionamento giuridico sull'accertamento dei fatti svolto dall'autorità inferiore (<ref-law>). Può scostarsene o completarlo solo se è stato effettuato in violazione del diritto ai sensi dell'<ref-law> o in modo manifestamente inesatto (<ref-law>). L'accertamento dei fatti contenuto nella sentenza impugnata può essere censurato alle stesse condizioni. Se rimprovera all'autorità cantonale un accertamento dei fatti manifestamente inesatto - che significa arbitrario (<ref-ruling> consid. 2; <ref-ruling> consid. 4.2; <ref-ruling> consid. 1.5) - il ricorrente deve sollevare la censura e motivarla in modo preciso, come esige l'<ref-law> (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 2.2).
3.
3.1. Il Pretore ha ritenuto che la convenuta avesse violato sotto due profili il contratto di mandato che la legava all'attrice: in primo luogo, tramite F._, ha leso l'obbligo del segreto bancario e il dovere di discrezione e fiducia dovuto alla mandante; in secondo luogo, una volta resasi conto del furto dei dati, la banca non aveva informato adeguatamente la cliente. Il primo giudice ha considerato questi due comportamenti causali con il danno, poiché i dati trafugati da F._ erano stati trasmessi alle autorità fiscali italiane, che li avevano utilizzati durante l'interrogatorio dell'attrice; inoltre, sempre secondo il Pretore, la mancata informazione non aveva permesso all'attrice di dichiarare i propri averi in Svizzera entro la scadenza dello scudo fiscale.
3.2. La Corte d'appello - premesso che le parti hanno scelto il diritto svizzero e che i loro rapporti sono retti dalle regole sul mandato - ha ripreso, precisandoli, i due aspetti della responsabilità della convenuta evidenziata dal Pretore. Ha confermato che la violazione del segreto bancario è stata causale con la verifica fiscale subita dall'attrice, poiché, senza il furto commesso da F._, i dati bancari non sarebbero stati trasmessi alle autorità fiscali italiane, le quali non avrebbero di conseguenza avviato la verifica né pronunciato sanzioni. Per i giudici ticinesi la banca deve lasciarsi imputare l'atto illecito commesso da F._ (<ref-law>), di fronte al quale " perde qualsiasi rilevanza " il comportamento dell'attrice, che non aveva dichiarato alle autorità italiane i propri averi in Svizzera.
La Corte cantonale ha confermato il giudizio di primo grado anche in merito al difetto d'informazione, giungendo a concludere che il comportamento della banca nei confronti dell'attrice, dopo la scoperta del furto dei dati, "è una flagrante violazione degli obblighi contrattuali di discrezione, diligenza e informazione che incombono a un mandatario". Essa ha dapprima costatato che le obiezioni con le quali la convenuta sosteneva di avere fatto tutto il possibile per comunicare con la cliente e avvertirla dell'accaduto erano irricevibili per motivazione insufficiente (<ref-law>). L'autorità cantonale ha aggiunto che in ogni caso, anche se potessero essere esaminate, le contestazioni sarebbero infondate. Ha stabilito - in breve - che la banca non aveva fatto nulla per avvertire la cliente, dopo che diversi tentativi di raggiungerla per telefono si erano rivelati infruttuosi, e non poteva nemmeno giustificarsi con la lettera informativa inviata ai propri clienti l'11 marzo 2010, poiché, in considerazione della particolarità e della gravità dell'evento, prevalersi della finzione della notifica secondo la modalità di posta trattenuta costituirebbe abuso di diritto.
3.3. Nella prima parte del ricorso la ricorrente si propone di smentire quella che ritiene essere la tesi dell'autorità cantonale, ovvero che la comunicazione dell'11 marzo 2010 sarebbe un atto di esecuzione del contratto di consulenza fiscale stipulato tra lei e l'opponente. Rimprovera al Tribunale di appello di avere interpretato in modo arbitrario il contenuto della comunicazione e di non avere nemmeno accertato se l'opponente l'avesse effettivamente ricevuta; accertamento senza il quale non si poteva a suo parere concludere per l'esistenza di una consulenza fiscale ad opera della banca. La ricorrente afferma anche che la Corte d'appello non avrebbe spiegato per quale motivo l'opponente, alla quale il furto dei dati sarebbe stato comunicato mediante il suddetto scritto, non avrebbe potuto aderire per tempo allo scudo fiscale italiano.
3.3.1. Queste argomentazioni, per quanto ammissibili, sono manifestamente infondate; travisano palesemente il senso della sentenza impugnata.
La Corte cantonale non ha affatto fondato il proprio ragionamento sull'esistenza di un contratto di consulenza fiscale (nemmeno nel considerando 11.2 a pag. 11 al quale rinvia il ricorso). Al contrario essa ha osservato espressamente che la mancata informazione della cliente sugli effetti che avrebbe avuto la violazione del segreto bancario commessa da F._ costituisce "violazione degli obblighi contrattuali per il solo fatto dell'esistenza della relazione bancaria, a prescindere dalla conclusione di uno specifico mandato di consulenza fiscale" (consid. 10 in fine; si veda anche il consid. 8.1 che riporta le considerazioni analoghe del Pretore).
3.3.2. Quanto all'accertamento concernente la conoscenza da parte dell'opponente della comunicazione dell'11 marzo 2010, che il Tribunale di appello avrebbe omesso, non è facile capire quale influenza esso potesse avere sull'esistenza o meno del rapporto di consulenza fiscale. Ad ogni modo il rimprovero è infondato, poiché i giudici ticinesi hanno accertato che la trasmissione dello scritto dell'11 marzo 2010 alla relazione E._era avvenuta " con lettera trattenuta in banca ". Da questo accertamento, al quale la ricorrente medesima allude, essi hanno anche tratto in diritto la conclusione secondo la quale, date le circostanze particolari, la convenuta non poteva prevalersi di quella sola comunicazione. La Corte cantonale ha quindi spiegato in modo chiaro che l'opponente, non essendo stata informata convenientemente di quanto aveva fatto F._, non aveva potuto aderire allo scudo fiscale.
4.
4.1. La Corte cantonale ha considerato che "l'importo rivendicato a titolo di risarcimento del danno da violazione contrattuale si compone di tre distinti elementi: imposte e multe fiscali, spese di patrocinio nella procedura di verifica fiscale, spese legali preprocessuali nella procedura qui in esame". Si tratta, ha precisato, di euro 8'811.54 per imposte sul reddito delle persone fisiche (IRPEF) degli anni 2003-2009 più interessi e sanzioni, di euro 4'734.34 per sanzioni quadro RW, di euro 23'244.-- di spese di patrocinio nella procedura fiscale e di euro 3'000.-- di costi preprocessuali; in totale euro 39'789.89.
Il Tribunale di appello ha ricordato che, per giurisprudenza consolidata, le imposte sono di principio escluse dal danno risarcibile; lo sono anche le relative multe e sanzioni pecuniarie, che costituiscono obbligazioni strettamente personali, nonché tutte le spese di patrocinio. Il Pretore, ricorda la sentenza, aveva individuato un'eccezione alla regola per il fatto che, secondo l'esperienza comune della vita, l'attrice avrebbe regolarizzato la propria posizione se la banca l'avesse avvertita del furto dei dati e della possibilità di usufruire dello scudo fiscaleentro la scadenza del 30 aprile 2010. I giudici cantonali hanno condiviso questa tesi. D'un canto hanno costatato che l'11 marzo 2010 la banca aveva comunicato ai propri "clienti contribuenti italiani" che i dati rubati, ottenuti illecitamente, non avrebbero potuto essere utilizzati, ma che l'informazione si era rivelata errata, poiché le autorità italiane li avevano in realtà acquisiti attraverso le vie dell'assistenza amministrativa comunitaria; dall'altro hanno richiamato l'interrogatorio dell'attrice, la quale aveva riferito di avere ritenuto inutile aderire agli scudi fiscali precedenti a quello del 2010"se tutto era sicuro ad A._", anche perché il conto era ridotto e destinato ad esaurirsi.
Da queste considerazioni la Corte d'appello ha tratto la convinzione che nel caso specifico si fosse realizzata l'eccezione rilevata dal Pretore, poiché l'attrice, che credeva a torto di essere protetta dal segreto bancario, era stata privata della possibilità di usufruire dello scudo fiscale italiano a causa dell'inattività della banca. La Corte ticinese ha nondimeno escluso dal risarcimento dovuto alla convenuta la posizione di euro 8'811.54 relativa all'IRPEF e accessori, dopo avere costatato l'assenza di qualsiasi allegazione o prova che permettesse il raffronto con le imposte che l'attrice avrebbe pagato se avesse aderito allo scudo fiscale. È invece stato riconosciuto il danno di euro 4'734.34 per sanzioni quadro RW e di euro 23'244.-- ed euro 3'000.-- di spese di patrocinio e legali, oneri che, a mente dell'autorità cantonale, l'attrice avrebbe potuto evitare se la banca avesse rispettato i propri obblighi contrattuali.
4.2. La ricorrente sostiene che questa parte della sentenza viola la nozione di danno del diritto federale. Afferma, richiamando la giurisprudenza del Tribunale federale, che l'imposta effettivamente dovuta non può costituire danno risarcibile da parte di terzi; a maggior ragione, precisa, "nel caso in cui si tratti di favorire una situazione di evasione di lunga durata". Le poche eccezioni a questa regola, spiega la convenuta, presuppongono che la consulenza errata abbia comportato un aggravio della situazione fiscale del cliente, ovvero che il contribuente abbia pagato imposte non dovute, circostanze che nel caso in esame non sono state allegate né accertate.
In merito alle sanzioni quadro RW la ricorrente lamenta in primo luogo una motivazione insufficiente della sentenza cantonale, la quale non avrebbe stabilito a quale delle tre categorie del danno definite dalla Corte cantonale esse apparterrebbero. Volendole attribuire "per esclusione e in maniera analogica" alla categoria delle multe fiscali, ha soggiunto, la giurisprudenza impedirebbe di considerarle come danno risarcibile. La ricorrente svolge poi un ragionamento simile in merito alle spese di patrocinio nella procedura fiscale e preprocessuale.
4.3. L'opponente, in risposta, pone l'accento sulla gravità delle violazioni contrattuali commesse dalla banca, senza le quali avrebbe aderito allo scudo fiscale e beneficiato delle agevolazioni. Riconosce che di principio le multe fiscali non possono essere addossate al mandatario che sbaglia, ma ritiene che nel suo caso siano realizzate le condizioni d'eccezione che permettono di derogare alla regola. Al termine della sua presa di posizione l'opponente osserva di avere commesso una semplice "irregolarità fiscale", con la conseguente "contestazione da parte dell'Erario italiano per una omissione nella dichiarazione dei redditi che le ha comportato una sanzione di natura civile, senza alcuna conseguenza di matrice penale".
4.4. Il Tribunale di appello ha riassunto correttamente la giurisprudenza, alla quale si riferiscono del resto entrambe le parti. Nella sentenza 4A_171/2015 del 19 ottobre 2015 consid. 5.1 e 5.2, il Tribunale federale ha confermato la propria prassi secondo cui il debito fiscale nasce per legge quando si realizzano i fatti generatori dell'imposta e non è quindi scaricabile su terzi, nemmeno se il fisco viene a conoscenza dei fattori imponibili a seguito dell'errore del consulente del contribuente. Il mandatario potrebbe essere reso responsabile soltanto se, a causa di un suo errore, il contribuente pagasse imposte che di per sé non sarebbero dovute, circostanza ch'egli deve provare. Nella <ref-ruling> consid. 2.3.2 il Tribunale federale aveva anche ribadito ed esteso alle multe fiscali il principio che, in ragione del loro carattere strettamente personale, le sanzioni penali inflitte al contribuente per sua colpa non costituiscono danno risarcibile secondo il diritto civile (cfr. anche la sentenza 4A_491/2013 del 6 febbraio 2014 consid. 2.2).
Alla luce di questa prassi va esaminato l'addossamento alla convenuta delle sanzioni quadro RW pagate dall'opponente. Il risarcimento dell'IRPEF non è più in discussione (cfr. consid. 4.1).
4.5. La censura formale di motivazione carente è infondata: è evidente che l'autorità cantonale abbia incluso le sanzioni quadro RW nella categoria del danno definita " imposte e multe fiscali ", traendone la conseguenza che, di principio, non possono essere oggetto di una causa di risarcimento. Questa qualificazione, accettata dalla ricorrente " per esclusione e in maniera analogica", è messa in dubbio dall'opponente, la quale, come detto (consid. 4.3), adduce il carattere civile della sanzione.
Orbene, la parte opponente ha la facoltà di proporre delle censure contro la sentenza impugnata, per l'eventualità che quelle della parte ricorrente fossero accolte (<ref-ruling> consid. 6.2). Lo deve però fare rispettando anch'essa le regole di motivazione che valgono per il ricorso (sentenza 4A_408/2013 del 17 gennaio 2014 consid. 2 non pubblicato nella <ref-ruling>). A tale riguardo va tenuto conto che la natura giuridica della sanzione pronunciata dalle autorità italiane è una questione pregiudiziale retta dal diritto italiano; e che nell'ambito di una causa pecuniaria come questa il Tribunale federale può rivedere il diritto straniero soltanto sotto l'angolo dell'arbitrio (<ref-law>). Oltre ai requisiti minimi dell'art. 42 cpv. 1 e 2 LTF le censure dell'opponente devono perciò rispettare le esigenze poste dall'<ref-law> per la motivazione delle violazioni dei diritti costituzionali (<ref-ruling> consid. 4.3; sentenza 4A_122/2011 del 30 gennaio 2012 consid. 1.4, non pubblicato nella <ref-ruling>).
Nel caso in esame la contestazione dell'opponente non è affatto motivata ed è priva di qualsiasi riferimento al diritto italiano; essa è perciò inammissibile. Va comunque osservato che l'esito del ricorso non muterebbe nemmeno se la sanzione italiana non avesse carattere penale (cfr. consid. 4.8).
4.6. Se così è, la sanzione quadro RW va considerata alla stregua di una multa fiscale (equiparabile a quella che l'<ref-law> prevede per il caso di sottrazione d'imposta) ed è quindi di principio irrisarcibile nell'ambito di un'azione di responsabilità. Il Tribunale di appello ha tuttavia ritenuto che vi fosse un'eccezione alla predetta regola, poiché le violazioni contrattuali della convenuta avevano indotto l'attrice a credere di essere protetta dal segreto bancario e a non usufruire dello scudo fiscale. Questa tesi è stata ripresa dalla motivazione analoga del Pretore, il quale l'aveva tratta dalla <ref-ruling> consid. 2.3.3. Su tale sentenza si appoggiano anche le obiezioni dell'opponente.
In realtà in quella sentenza il Tribunale federale non aveva affatto definito un'eccezione; aveva solo accennato, senza prendere posizione, alla dottrina che ammetterebbe la possibilità di scaricare la multa sul consulente che, col suo comportamento errato, impedisce al contribuente di ottenere una riduzione della sanzione tramite un'autodenuncia tempestiva. Nei considerandi successivi il Tribunale federale aveva infatti chiarito che l'addossamento della multa fiscale al mandatario rimane ipotizzabile soltanto qualora il contribuente, tenuto conto del rapporto contrattuale, fosse sanzionato senza avere commesso una colpa propria. Tale non è - ha precisato il Tribunale federale - la situazione del contribuente che assume consapevolmente dei rischi e che avrebbe dovuto riconoscere ed evitare l'infrazione fiscale anche senza le informazioni del consulente (<ref-ruling> consid. 2.3.4 e 2.3.5). Questa conclusione è condivisa da parte della dottrina (THOMAS KOLLER, AJP 2008 pag. 1295 segg., in part. 1299 n. 2b; ROLF BENZ/JULIA HUG, Steuerbussen sind höchstpersönlicher Natur und stellen keinen zivilrechtlich ersatzfähigen Schaden dar, in: Entwicklungen im Steuerrecht 2009, pag. 279 segg., in part. pag. 284 n. 3.4; critico: JÖRG SCHMID, Die privatrechtliche Rechtsprechung des Bundesgerichts im Jahr 2008, in ZBJV 147/2011, pag. 890 segg.).
4.7. Nel caso in esame l'opponente era perfettamente consapevole della sua posizione fiscale irregolare in Italia. La Corte cantonale, riprendendo le costatazioni del Pretore, ha infatti accertato ch'essa avrebbe approfittato dello scudo fiscale nel 2010 se la banca l'avesse informata che i suoi dati non erano più "inaccessibili alle autorità fiscali italiane"; e che aveva "ritenuto inutile aderire all'uno o all'altro dei vari scudi fiscali precedenti" perché si considerava sicura presso la banca convenuta e il suo conto era ormai esiguo e destinato a estinguersi. In tali circostanze, secondo la giurisprudenza succitata, è escluso che l'opponente possa riversare sulla ricorrente la multa inflittale dal fisco italiano.
Ne viene che le censure di violazione della nozione di danno risarcibile del diritto federale sono fondate. Non essendo risarcibile la sanzione quadro RW, cade d'acchito anche la possibilità di scaricare sulla ricorrente le spese dell'assistenza legale e preprocessuale; la rifusione di tali oneri presuppone infatti, in primo luogo, che la ricorrente sia condannata a risarcire un danno, per così dire, principale (sentenza 4A_63/2011 del 6 giugno 2011 consid. 6, alla quale rinvia con pertinenza la Corte cantonale).
4.8. Questa conclusione è dettata dal carattere strettamente personale della sanzione e prescinde dalle violazioni contrattuali commesse dalla ricorrente, accertate dall'autorità cantonale, che rimangono molto gravi (furto dei dati, violazione del segreto bancario e omessa informazione del cliente). L'aspetto causale diverrebbe però rilevante qualora, come sostiene l'opponente, la sanzione pronunciata dalle autorità italiane non fosse equiparabile a una multa fiscale strettamente personale del diritto svizzero (cfr. consid. 4.5).
A questo riguardo l'autorità cantonale ha accertato che " la violazione del segreto bancario imputabile all'appellante è stata (quindi) causale per la verifica fiscale subita dall'attrice". Ciò significa soltanto che il comportamento della ricorrente ha contribuito alla scoperta del patrimonio non dichiarato. All'origine della sanzione sta invece in ogni caso la decisione consapevole dell'opponente di non dichiarare in Italia il conto bancario svizzero e di non avere voluto approfittare dei diversi scudi fiscali per mettersi in regola. L'istituto del segreto bancario non ha - e non aveva - lo scopo di proteggere l'evasione fiscale all'estero (cfr. <ref-ruling> consid. 1 in fine; THOMAS KOLLER, op. cit., pag. 1299).
5.
Non è necessario esaminare le rimanenti critiche di fatto e diritto formulate nel ricorso. Per i motivi anzidetti la sentenza cantonale, lesiva del diritto federale, va annullata. In sua riforma la petizione va respinta (<ref-law>). All'autorità cantonale incomberà di rivedere il giudizio su spese e ripetibili dei processi di prima e seconda istanza. Quelle della procedura federale seguono la soccombenza (art. 66 cpv. 1 e 68 cpv. 1 LTF).

Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è accolto, la sentenza impugnata è annullata e riformata nel senso che la petizione 12 gennaio 2012 di B.B._ è respinta.
2.
La causa è rinviata alla II Camera civile del Tribunale di appello del Cantone Ticino per nuova fissazione delle spese processuali e delle ripetibili di prima e seconda istanza.
3.
Le spese giudiziarie di fr. 2'000.-- sono poste a carico dell'opponente, che rifonderà alla ricorrente fr. 2'500.-- a titolo di ripetibili per la procedura innanzi al Tribunale federale.
4.
Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.