En un artículo anterior exploramos qué es Semgrep y cómo esta herramienta revolucionó el análisis estático moderno permitiendo detectar vulnerabilidades de forma rápida y eficiente.

Sin embargo, una de sus características más potentes no es solamente ejecutar reglas predefinidas, sino la posibilidad de construir reglas personalizadas adaptadas a nuestras propias necesidades de seguridad.

En este artículo vamos a aprender cómo crear nuestras primeras custom rules en Semgrep utilizando YAML, patrones de código y casos prácticos orientados a AppSec.

¿Qué son las reglas en Semgrep?

Semgrep funciona a través de reglas declarativas.

Cada regla describe:

  • Qué patrón buscar
  • Qué lenguaje analizar
  • Qué mensaje mostrar
  • Qué severidad asignar

Desglose:

id : Identificador único.
pattern : Patrón a detectar.
message : Mensaje mostrado al detectar coincidencia.
languages : Lenguaje soportado.
severity : Nivel de criticidad.
Referencia útil: Semgrep Rule Syntax Docs

Ejemplo práctico

Dentro de un directorio de trabajo agregamos un archivo llamado rule.yaml y agregamos nuestra regla custom.

Para ejecutar semgrep desde una implementación de docker ejecutamos el siguiente comando.

$ sudo docker run –rm -it \
-v «${PWD}/custom/:/opt/» \
-v «/home/dmaldonado/proyecto:/src/» \
semgrep/semgrep:latest \
semgrep scan –config /opt/rule.yaml /src

En la ejecución de este docker, necesitamos cargar dos volúmenes, el primero es donde se encuentra el directorio donde se encuentra rule.yaml, con las reglas creadas para revisar. El segundo volúmen cargamos donde se encuentra el proyecto con todos los archivos .py

Conclusión

La verdadera potencia de Semgrep no está únicamente en sus reglas públicas, sino en la posibilidad de adaptar el motor de análisis a las necesidades específicas de cada organización.

Crear reglas personalizadas permite automatizar revisiones de seguridad, detectar patrones inseguros propios del negocio y fortalecer procesos DevSecOps de manera escalable.


Daniel Maldonado

¡Hola! Soy Daniel Maldonado, Sr. Analista de Seguridad Informática y me dedico al hacking desde hace más de 10 años.

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Daniel Maldonado
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.