<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SAST on RORO's blog</title><link>https://blog.rodolpheg.xyz/fr/tags/sast/</link><description>Recent content in SAST on RORO's blog</description><generator>Hugo</generator><language>fr</language><managingEditor>contact@rodolpheg.xyz (0xRo)</managingEditor><webMaster>contact@rodolpheg.xyz (0xRo)</webMaster><lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rodolpheg.xyz/fr/tags/sast/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture de Semgrep : Reference technique complete</title><link>https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><author>contact@rodolpheg.xyz (0xRo)</author><guid>https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>Semgrep&lt;/strong> (Semantic Grep) est un outil d&amp;rsquo;analyse statique multi-langage qui identifie du code par sa &lt;em>structure&lt;/em> &amp;ndash; et non simplement par son texte &amp;ndash; en utilisant un Abstract Syntax Tree unifie et un langage de patterns riche. Ce document couvre l&amp;rsquo;architecture interne complete, du point d&amp;rsquo;entree CLI a la detection de taint sink.&lt;/p>
&lt;/blockquote>
&lt;h2 id="table-des-matieres">Table des matieres&lt;/h2>
&lt;ol start="0">
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#0-introduction">Introduction&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#01-quest-ce-que-le-sast">Qu&amp;rsquo;est-ce que le SAST ?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#02-histoire-de-semgrep">Histoire de Semgrep&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#1-architecture-de-haut-niveau">Architecture de haut niveau&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#2-decomposition-des-composants">Decomposition des composants&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#3-le-pipeline-danalyse-complet">Le pipeline d&amp;rsquo;analyse complet&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#4-decouverte-et-filtrage-des-cibles">Decouverte et filtrage des cibles&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#5-parsing-et-optimisation-des-regles">Parsing et optimisation des regles&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#6-parsing-et-last-universel">Parsing et l&amp;rsquo;AST universel&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#7-le-moteur-de-matching">Le moteur de matching&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#8-le-langage-intermediaire-il-et-le-cfg">Le langage intermediaire (IL) et le CFG&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#9-analyse-de-taint-dataflow">Analyse de taint (Dataflow)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#10-pipeline-de-sortie-et-de-reporting">Pipeline de sortie et de reporting&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#11-architecture-osemgrep--rpc">Architecture OSemgrep / RPC&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.rodolpheg.xyz/fr/posts/semgrep-architecture/#12-structures-de-donnees-cles">Structures de donnees cles&lt;/a>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-1-pourquoi-">-1. Pourquoi ?&lt;/h2>
&lt;p>Je travaille en tant qu&amp;rsquo;ingenieur DevSecOps depuis bientot quatre ans. Quand j&amp;rsquo;ai commence, j&amp;rsquo;avais peu d&amp;rsquo;exposition a des outils comme le SAST, le SCA ou le DAST. Mon etat d&amp;rsquo;esprit etait fermement ancre dans la securite offensive. Le test d&amp;rsquo;intrusion etait l&amp;rsquo;objectif, le reve.&lt;/p></description></item><item><title>L'audit de code pour les nuls</title><link>https://blog.rodolpheg.xyz/fr/posts/code-auditing--101/</link><pubDate>Sat, 02 Aug 2025 00:00:00 +0000</pubDate><author>contact@rodolpheg.xyz (0xRo)</author><guid>https://blog.rodolpheg.xyz/fr/posts/code-auditing--101/</guid><description>&lt;h2 id="sujets-abordés">Sujets abordés&lt;/h2>
&lt;p>Cet article explore l&amp;rsquo;évolution de la revue de code manuelle vers les tests de sécurité automatisés, en couvrant :&lt;/p>
&lt;ul>
&lt;li>La réalité de la revue de code manuelle et ses limites&lt;/li>
&lt;li>La différence entre vulnérabilités et faiblesses&lt;/li>
&lt;li>Le fonctionnement interne des outils SAST&lt;/li>
&lt;li>L&amp;rsquo;analyse de teinte (taint analysis) et le suivi des flux de données&lt;/li>
&lt;li>Les méthodologies sink-to-source vs source-to-sink&lt;/li>
&lt;li>Les stratégies d&amp;rsquo;atténuation : liste blanche vs liste noire&lt;/li>
&lt;li>La gestion des faux positifs en pratique&lt;/li>
&lt;li>Le choix et le déploiement d&amp;rsquo;outils SAST à grande échelle&lt;/li>
&lt;li>La complémentarité entre tests manuels et automatisés&lt;/li>
&lt;/ul>
&lt;p>Il est 3 heures du matin. Vous en êtes à votre cinquième tasse de café, les yeux injectés de sang, fixant la ligne 2 847 d&amp;rsquo;une pull request de 10 000 lignes. Quelque part dans ce labyrinthe d&amp;rsquo;accolades et de points-virgules se cache une injection SQL qui pourrait faire tomber toute votre application. Bienvenue dans le monde glamour de la revue de code manuelle !&lt;/p></description></item></channel></rss>