ESPACIO PUBLICITARIO DISPONIBLE · HABLEMOS

Cómo configurar los filtros de contexto de Sourcegraph Cody para excluir repositorios confidenciales del contexto de IA

365Finds Editorial
11.430 artículos Wiki recopilados

Usa 365 Wiki con tu IA

Copia el prompt de abajo, pégalo en la IA que ya usas y haz tu pregunta.

Descargar el Skill completo

Pruébalo primero con el prompt. Si usas 365 Wiki a menudo, instala el Skill completo de 365Wiki y no tendrás que volver a pegarlo. Si no tienes una IA habitual, también sirven las versiones web de Gemini o Microsoft Copilot.

Al implementar el asistente de programación con inteligencia artificial Sourcegraph Cody en entornos corporativos, los responsables de ingeniería y los equipos de seguridad y cumplimiento normativo enfrentan un desafío crítico de gobernanza: ¿cómo garantizar que el código propietario crítico, los algoritmos patentados o los repositorios sujetos a normativas estrictas (como PCI-DSS, HIPAA o ITAR) nunca se incluyan como contexto en las solicitudes enviadas a modelos de lenguaje grande (LLM) externos?

Sourcegraph Cody ofrece un mecanismo administrativo centralizado y obligatorio a nivel de servidor denominado filtros de contexto (cody.contextFilters). Configurado directamente en la configuración del sitio (Site Configuration) de Sourcegraph, permite a los administradores definir políticas de inclusión y exclusión basadas en expresiones regulares RE2, controlando con precisión qué repositorios puede examinar Cody para generar sugerencias de autocompletado, respuestas de chat y comandos.

Esta guía explica en detalle cómo configurar cody.contextFilters, desglosa la lógica de evaluación y la sintaxis de expresiones regulares, y expone las mejores prácticas para establecer una defensa en profundidad en la privacidad del código.


Requisitos previos y compatibilidad

Antes de habilitar los filtros de contexto, confirme que su infraestructura y los entornos de desarrollo cumplan con los siguientes requisitos:

Compatibilidad de clientes y cumplimiento normativo

Para evitar que los desarrolladores eludan las restricciones de seguridad utilizando versiones antiguas de los complementos de IDE, Sourcegraph aplica políticas estrictas de compatibilidad:

ClienteVersión de extensiónComportamiento en Sourcegraph v5.4.0Comportamiento en Sourcegraph v5.4.12303+
VS Code< 1.16.xCody no compatibleRespeta la política; solicita actualizar la extensión
VS Code1.18.0 a < 1.20.0Cody no compatibleRespeta la política; solicita actualizar la extensión
VS Code>= 1.20.0Respeta la política plenamenteRespeta la política plenamente
JetBrains<= 5.5.9Cody no compatibleRespeta la política; solicita actualizar la extensión
JetBrains5.5.10 a < 6.0.0Cody no compatibleRespeta la política; solicita actualizar la extensión
JetBrains>= 6.0.0Respeta la política plenamenteRespeta la política plenamente

En las instancias modernas de Sourcegraph, los clientes heredados que no pueden procesar los filtros de contexto ven bloqueado el acceso a cualquier contexto y reciben instrucciones inmediatas para actualizar su extensión.


Estructura de configuración y sintaxis RE2

Los filtros de contexto se definen en el archivo JSON de configuración del sitio bajo la clave principal cody.contextFilters. Este objeto admite dos matrices opcionales: include (repositorios permitidos) y exclude (repositorios bloqueados).

{
  "cody.contextFilters": {
    "include": [
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/.*"
      }
    ],
    "exclude": [
      {
        "repoNamePattern": ".*-sensitive$"
      },
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/core-payments.*"
      }
    ]
  }
}

Reglas clave de la estructura:


Lógica de evaluación y precedencia de reglas

El comportamiento de Cody varía según cómo se combinen las listas de inclusión y exclusión:

1. Sin filtros configurados (comportamiento predeterminado)

Si no se define la clave cody.contextFilters, Cody tiene acceso sin restricciones de filtrado a todos los repositorios en los que el usuario tenga permisos de lectura en Sourcegraph.

2. Solo se especifica include (Lista blanca estricta)

Cody solo puede utilizar código de aquellos repositorios cuyo nombre coincida con al menos un patrón de la lista include. Cualquier otro repositorio queda excluido por defecto.

{
  "cody.contextFilters": {
    "include": [
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/frontend-.*"
      },
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/public-docs$"
      }
    ]
  }
}

3. Solo se especifica exclude (Lista de denegación)

Cody puede utilizar como contexto cualquier repositorio excepto aquellos cuyos nombres coincidan con al menos un patrón definido en exclude.

{
  "cody.contextFilters": {
    "exclude": [
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/crypto-vault$"
      },
      {
        "repoNamePattern": ".*payment-processing.*"
      },
      {
        "repoNamePattern": ".*-restricted$"
      }
    ]
  }
}

4. Se especifican tanto include como exclude (Filtrado combinado)

Cuando se declaran ambas listas, un repositorio debe cumplir dos requisitos de manera simultánea:

  1. Coincidir con al menos un patrón de include.
  2. No coincidir con ningún patrón de exclude.

Las reglas de exclusión siempre prevalecen sobre las de inclusión. En el siguiente ejemplo, se autorizan todos los repositorios bajo example-corp, pero se bloquea cualquier repositorio cuyo nombre contenga compliance o termine en -secret:

{
  "cody.contextFilters": {
    "include": [
      {
        "repoNamePattern": "^github\\.com\\/example-corp\\/.+"
      }
    ],
    "exclude": [
      {
        "repoNamePattern": ".*compliance.*"
      },
      {
        "repoNamePattern": ".*-secret$"
      }
    ]
  }
}

Guía de configuración paso a paso para administradores

Siga este procedimiento para implementar y verificar los filtros de contexto en su entorno empresarial:

Paso 1: Auditar las convenciones de nombres de repositorios

Cody evalúa la expresión regular frente al nombre completo indexado en Sourcegraph.

Paso 2: Abrir el editor de configuración del sitio

  1. Inicie sesión en Sourcegraph con una cuenta con privilegios de administrador de sitio.
  2. Haga clic en su avatar de usuario en la esquina superior derecha y seleccione Site Admin.
  3. En el menú de navegación lateral izquierdo, seleccione Configuration (ubicado en /site-admin/configuration).

Paso 3: Introducir el bloque cody.contextFilters

Agregue la propiedad correspondiente en el objeto JSON raíz:

{
  // ... otras configuraciones del sitio ...
  "cody-context-filters-enabled": true,
  "cody.contextFilters": {
    "include": [
      {
        "repoNamePattern": "^github\\.com\\/su-empresa\\/.*"
      }
    ],
    "exclude": [
      {
        "repoNamePattern": "^github\\.com\\/su-empresa\\/algoritmo-central$"
      },
      {
        "repoNamePattern": ".*proprietary.*"
      },
      {
        "repoNamePattern": ".*sec-tools.*"
      }
    ]
  }
}

Paso 4: Guardar y aplicar los cambios

Haga clic en Save changes al final de la página. Sourcegraph aplicará la nueva configuración en caliente, sin requerir el reinicio de la instancia ni de los clústeres.

Paso 5: Validar la política en los entornos de desarrollo

Compruebe el correcto funcionamiento de las restricciones en los clientes IDE:

  1. Abra un proyecto perteneciente a un repositorio excluido en VS Code o JetBrains IDE.
  2. Ejecute un comando de edición en línea (Edit) o intente generar código. La extensión detendrá la acción y mostrará el siguiente error:
    Edit failed to run: file is ignored (due to cody.contextFilters Enterprise configuration setting)
    
  3. En el panel de chat de Cody, intente hacer una mención con @-mention de archivos o funciones del repositorio excluido. Verifique que no aparezcan en las sugerencias y que Cody no recupere fragmentos de código del repositorio.

Experiencia del desarrollador y funciones afectadas

Comprender el impacto operativo en los desarrolladores facilita una adopción corporativa fluida:


Arquitectura de gobernanza en capas: Comparativa de controles

Un marco sólido de seguridad de código no depende de un único control. La siguiente tabla compara cody.contextFilters con otros mecanismos de seguridad del ecosistema Sourcegraph:

Capa de gobernanzaDónde se configuraAlcance y granularidadAdministrado por¿Puede el desarrollador eludirlo?
Filtros de contexto corporativosConfiguración del sitio (cody.contextFilters)Repositorio completo mediante expresiones regulares RE2Administradores del sitio / SeguridadNo (Control forzado en el servidor)
Reglas de exclusión de repositorioArchivo .cody/ignore en la raíz del repositorioArchivos específicos, subcarpetas o extensionesResponsables del repositorio / DevsConfirmado en Git; aplica a todos los colaboradores
Exclusiones locales de IDEAjustes de la extensión (settings.json)Rutas locales o temporales en la máquinaDesarrollador individualSí (Afecta únicamente al equipo local)
Control de acceso a repositoriosRBAC de Sourcegraph, sincronización OAuthPermisos de lectura del repositorioEquipos de IAM corporativoNo (Cody jamás accede a repositorios no legibles)
Garantías contractuales del LLMAcuerdos Zero-Retention de Cody GatewayTodas las transmisiones de API con el LLMProveedores de nube y contratos legalesNo (No se almacenan datos ni se usan para entrenamiento)

Al combinar cody.contextFilters a nivel de servidor con exclusiones puntuales mediante .cody/ignore para credenciales locales y acuerdos de cero retención en Cody Gateway, las empresas pueden maximizar la productividad de la inteligencia artificial protegiendo plenamente sus activos de código más valiosos.


Referencias