CodeQL y agentes Python: cómo rastrear una respuesta de IA hasta una consulta NoSQL

En un agente Python, el riesgo cambia si la respuesta del modelo pasa de ser un valor a definir la estructura de una consulta. CodeQL 2.27.3 incorpora el modelo de amenazas opcional ai, pero no incluye fuentes predefinidas para él.

Ruta de una salida de IA hasta una consulta de base de datos

Definir dónde empieza el recorrido

Identificar la función de la aplicación que devuelve la salida del modelo. Una extensión de datos puede marcar ese retorno con sourceModel y el tipo ai. La consulta py/nosql-injection respeta el modelo de amenazas configurado. Marcar una función distinta de la que utiliza el conector dejaría sin cubrir el recorrido de interés.

Comparar dos casos

  1. Preparar una función simulada en una rama de ensayo. No necesita llamar al modelo ni utilizar credenciales reales.
  2. En el primer caso, pasar su respuesta como estructura de filtro a una operación NoSQL reconocida por el analizador. En el segundo, admitir únicamente un valor de una lista cerrada y construir un filtro con campos y operadores fijos.
  3. Analizar ambos casos antes y después de cargar la extensión y activar el modelo de amenazas. Mantener constantes la versión y las consultas.

La prueba resulta útil si se puede seguir la alerta desde el retorno simulado hasta la operación insegura y explicar por qué el control no produce la misma ruta. Si no aparece ninguna alerta, comprobar primero que CodeQL reconoce tanto el origen como la operación de destino. El silencio del analizador no acredita que el conector sea seguro.

Referencia técnica: modelos personalizados para Python.

Fuente oficial: GitHub Changelog.

Deja un comentario

Scroll al inicio