<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Shift Left on My personal blog</title>
        <link>https://www.matteobianchi.eu/tags/shift-left/</link>
        <description>Recent content in Shift Left on My personal blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 17 Mar 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://www.matteobianchi.eu/tags/shift-left/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Che cos&#39;è DevSecOps (e cosa non è)</title>
        <link>https://www.matteobianchi.eu/p/cos-e-devsecops/</link>
        <pubDate>Tue, 17 Mar 2026 09:00:00 +0200</pubDate>
        
        <guid>https://www.matteobianchi.eu/p/cos-e-devsecops/</guid>
        <description>&lt;img src="https://www.matteobianchi.eu/p/cos-e-devsecops/cover.png" alt="Featured image of post Che cos&#39;è DevSecOps (e cosa non è)" /&gt;&lt;h2 id=&#34;perché-conta&#34;&gt;Perché conta
&lt;/h2&gt;&lt;p&gt;Il modello tradizionale tratta la sicurezza come un cancello: il team costruisce per mesi, poi un
gruppo separato fa un audit e restituisce una lista di problemi. A quel punto correggere è costoso,
lento e conflittuale. &lt;strong&gt;DevSecOps&lt;/strong&gt; elimina il cancello e distribuisce la sicurezza lungo tutto il
flusso. La &lt;a class=&#34;link&#34; href=&#34;https://www.matteobianchi.eu/p/devsecops-la-serie/&#34; &gt;serie&lt;/a&gt; parte da qui perché, senza capire &lt;em&gt;il
perché&lt;/em&gt;, ogni strumento diventa solo un altro ostacolo da aggirare.&lt;/p&gt;
&lt;h2 id=&#34;il-costo-del-difetto-nel-tempo&#34;&gt;Il costo del difetto nel tempo
&lt;/h2&gt;&lt;p&gt;L&amp;rsquo;argomento economico è il più solido. Un difetto costa in modo crescente a seconda di quando lo si
scopre:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Fase in cui si trova il difetto      Costo relativo di correzione
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Design / requisiti                  1×   ← qui vuoi i controlli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Implementazione                     ~5×
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Test / QA                           ~10×
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Produzione                          ~30× e oltre  ← qui li trovi se non fai nulla
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Le cifre esatte variano da studio a studio, ma la direzione è costante: &lt;strong&gt;prima trovi, meno paghi&lt;/strong&gt;.
Questo è il senso economico dello &lt;em&gt;shift left&lt;/em&gt;, spostare i controlli verso sinistra nella timeline.&lt;/p&gt;
&lt;h2 id=&#34;i-tre-pilastri&#34;&gt;I tre pilastri
&lt;/h2&gt;&lt;p&gt;DevSecOps non è un prodotto. È l&amp;rsquo;incontro di tre dimensioni:&lt;/p&gt;
&lt;pre class=&#34;mermaid&#34;&gt;
  flowchart TD
    P[Persone&amp;lt;br/&amp;gt;responsabilità condivisa] --- PR[Processi&amp;lt;br/&amp;gt;sicurezza in ogni fase]
    PR --- T[Tecnologia&amp;lt;br/&amp;gt;automazione nel flusso]
    T --- P
    style P fill:#fde2e4,stroke:#e63946
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Persone&lt;/strong&gt;: la sicurezza è di tutti, non di un team isolato. Gli sviluppatori ricevono feedback
nel loro strumento (IDE, pull request), non in un report che leggeranno forse mai.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Processi&lt;/strong&gt;: ogni fase ha un controllo adeguato, dal design al runtime. Niente è lasciato &amp;ldquo;al
momento del rilascio&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tecnologia&lt;/strong&gt;: i controlli sono &lt;strong&gt;automatizzati&lt;/strong&gt; nella pipeline. Ciò che è manuale viene saltato
sotto pressione; ciò che è automatico vale per ogni commit.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cosa-non-è-devsecops&#34;&gt;Cosa NON è DevSecOps
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Non è comprare uno strumento&lt;/strong&gt;: uno scanner senza un processo che agisca sui risultati produce
solo rumore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non è assumere un &amp;ldquo;DevSecOps engineer&amp;rdquo;&lt;/strong&gt; che faccia sicurezza al posto degli altri: ricrea il
silo che si voleva eliminare.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non è bloccare ogni build al primo warning&lt;/strong&gt;: una pipeline che grida al lupo viene disattivata.
La sicurezza utile è quella &lt;em&gt;azionabile&lt;/em&gt; e proporzionata al rischio.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;guardrail-non-gate&#34;&gt;Guardrail, non gate
&lt;/h2&gt;&lt;p&gt;La metafora giusta non è il cancello (gate) che ferma tutti, ma il &lt;strong&gt;guardrail&lt;/strong&gt;: una protezione che
ti lascia andare veloce mantenendoti in carreggiata. Un buon controllo DevSecOps dà un feedback
rapido, con pochi falsi positivi, e dice &lt;em&gt;come&lt;/em&gt; risolvere — non solo &lt;em&gt;che&lt;/em&gt; c&amp;rsquo;è un problema.&lt;/p&gt;


&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Domanda:&lt;/strong&gt; se &#34;shift left&#34; mette tutti i controlli all&#39;inizio, non trascuriamo la sicurezza in produzione, dove avvengono gli attacchi veri?&lt;/summary&gt;
&lt;p&gt;È un fraintendimento comune e importante da correggere: shift-left non significa spostare &lt;em&gt;tutto&lt;/em&gt;
a sinistra, significa &lt;em&gt;aggiungere&lt;/em&gt; controlli a sinistra senza togliere quelli a destra. Il termine
più onesto oggi è &#34;shift everywhere&#34;. Trovare una SQL injection in fase di design con il threat modeling
costa un disegno su una lavagna; trovarla con il SAST in fase di build costa un commento su una pull
request; trovarla con il DAST in staging costa un ticket; trovarla in produzione con un WAF o la detection
costa un incidente. Sono controlli complementari, non alternativi: ognuno cattura ciò che gli altri si
lasciano sfuggire. Il SAST non vede un errore di configurazione del server, il runtime non vede una logica
di business difettosa fino a quando non viene sfruttata. La difesa in profondità vuole controlli a ogni
stadio; shift-left corregge solo lo squilibrio storico per cui a sinistra non c&#39;era &lt;em&gt;nulla&lt;/em&gt; e tutto
il peso cadeva su un audit finale. Chi interpreta shift-left come &#34;smontiamo il monitoraggio di produzione&#34;
ha capito l&#39;esatto contrario.&lt;/p&gt;
&lt;/details&gt;


&lt;h2 id=&#34;conclusione&#34;&gt;Conclusione
&lt;/h2&gt;&lt;p&gt;DevSecOps è un cambiamento di responsabilità (da un silo a tutti), di tempismo (da fine a ovunque) e
di modo (da manuale ad automatico). L&amp;rsquo;argomento è economico prima che morale: trovare presto costa
meno. Il primo controllo che sposta a sinistra non è uno scanner, ma una conversazione sul design:
il threat modeling. Ma prima serve una cornice che dica &lt;em&gt;quali&lt;/em&gt; pratiche e &lt;em&gt;dove&lt;/em&gt; — il Secure SDLC,
prossimo capitolo.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
