Esta página es una traducción. La versión en inglés es el texto de referencia. Leer en inglés
llm-abuse · litellm · llm-gateway · agent-harness · deepseek · credential-abuse · tool-calling
DeepSeek Harness contra una pasarela LLM robada: las llamadas a herramientas se ejecutan en el llamante
Se trata de un cliente LLM agéntico, DeepSeek Harness, el marco de trabajo de agentes en versión preliminar para desarrolladores de DeepSeek, apuntado a una pasarela LLM señuelo por las dos direcciones que el día anterior habían reutilizado una clave virtual emitida en esa misma pasarela.
Por Davis Zheng·
TLP:CLEAR. Autorizado para divulgación pública. Capturado por la red de sensores señuelo de Kinryū Labs. Los indicadores que figuran a continuación están desactivados.
Seguimiento: Abuso de DeepSeek Harness: un agente autónomo expone el host de su operador, 2026-09-27.
Resumen ejecutivo
- 11resultados de herramientas devueltos por los propios hosts de los llamantes
- 60solicitudes a la pasarela desde el cliente del marco de agentes
- 2direcciones que comparten la clave robada de la pasarela
- 31.2 hdesde el primer sondeo de disponibilidad hasta el último prompt
El 21 de septiembre de 2026 un cliente apuntó un marco de agentes a una de nuestras pasarelas LLM señuelo y le devolvió resultados de herramientas: once repartidos entre tres direcciones, cinco desde 103.85.74[.]25, cinco desde 203.175.15[.]28 y uno desde 188.239.18[.]109 tres días antes. Esa es la forma de un marco de trabajo que ejecuta las llamadas a herramientas de su endpoint en el propio host del llamante.
Esas dos direcciones de Hong Kong reutilizaron sk-0af475b8…, una clave virtual emitida en nuestra pasarela el día anterior a través de la ruta administrativa de claves de LiteLLM con la clave maestra por defecto del proveedor sk-1234. Ambas están en AS152320 GOALNOW, y una de ellas presentó además la propia sk-1234. El 21 de septiembre regresaron con el user agent deepseek-harness/0.1.5-rc.2, el marco de agentes en versión preliminar para desarrolladores de DeepSeek, cuyos adaptadores de modelo leen una URL base configurable, y usaron nuestra pasarela como backend de modelo. Mantenemos con baja confianza la atribución de ambos días a un único operador, porque se apoya únicamente en que las mismas dos direcciones aparecen los dos días y en la reutilización de la clave.
El trabajo manual en teclado es poco probable: 78 eventos entre el 20 de septiembre a las 04:25:44 y el 21 de septiembre a las 11:34:45 UTC contienen 106 s de actividad, y un prompt de 1999 caracteres llegó en 0.01 s, mucho más rápido que los diez caracteres por segundo que puede alcanzar una persona escribiendo. Lo interpretamos muy probablemente como un bucle de agente automatizado con horas de inicio elegidas por una persona, aunque el veredicto sobre el ritmo es mixto.
Las comprobaciones previas a los turnos agénticos
Entre las 10:49 y las 11:20 UTC, 103.85.74[.]25 ejecutó tres rondas de comprobaciones contra nuestra pasarela antes de cualquier turno agéntico, comenzando cuando volvió a sondear la ruta de disponibilidad y enumeró dos veces los modelos disponibles en 14 s. A las 11:00 UTC envió tres sondeos idénticos de un solo token, Reply with exactly: OK, contra tres nombres distintos de modelos alojados. A las 11:20 UTC ejecutó una breve batería de capacidades en inglés: ping, luego Compute 17*23+19. Reply with ONLY the number., la pregunta del recuento de letras en strawberry, Reverse the string 'litellm'. y la capital de Burkina Faso, cada una exigiendo una respuesta escueta. La elección de litellm para la prueba de inversión muestra que el llamante sabía con qué producto estaba hablando.
A partir de las 11:26 UTC el user agent cambia y los prompts dejan de ser preguntas. Los turnos llevan recordatorios de sistema con andamiaje de skills; una solicitud de las 11:34 UTC comienza con [system-reminder] A skill is a reusable set of task-specific….
El operador trabaja en dos idiomas y cambia junto con el cliente. La validación del 20 de septiembre se ejecutó sobre python-requests/2.28.1 en chino simplificado, 1+2+3等于几?只回答数字, luego 中国的首都是哪座城市?只回答城市名, luego 用Python读取文件data.txt并打印内容,给出完整代码, y la batería del marco del 21 de septiembre está en inglés.
Resultados de herramientas devueltos
Un marco de este tipo ejecuta las llamadas a herramientas que devuelve su endpoint en la propia máquina del operador. El operador robó un endpoint de inferencia y luego lo conectó a un marco que ejecuta localmente las llamadas a herramientas del endpoint, de modo que un endpoint hostil controla lo que ejecuta un agente así. Por cuenta de quién se ejecutó el marco, y qué hizo cada llamada en el host del llamante, se desconoce, y tampoco se sabe si el marco se ejecutó con las aprobaciones de herramientas desactivadas o con un operador confirmando cada llamada.
La tercera dirección ya la habíamos registrado en ejecuciones anteriores por explotar la misma pasarela con una clave de relleno, y está en una red distinta a la del par en AS152320. El mismo comportamiento de ejecución de herramientas del lado del cliente aparece por tanto fuera de este grupo, así que lo rastreamos como una clase y no como la firma de un solo actor.
La fase de prueba y la fase de uso
Las herramientas del operador tienen una fase de prueba y una fase de uso, y solo la fase de uso necesita un agente. Las mismas dos direcciones usaron el cliente HTTP con script y la batería fija en chino el 20 de septiembre, y un marco de agentes con andamiaje de skills el 21 de septiembre. Ese cambio movió el endpoint de algo que se estaba validando a algo integrado en una cadena de herramientas operativa.
Las comprobaciones baratas llegaron antes de cualquier turno agéntico.
El grupo de consumo
Dos direcciones en dos /24 de un mismo sistema autónomo consumieron la inferencia, alternando en cuestión de minutos ambos días. El /24 en torno a 103.85.74[.]25 no contiene ninguna otra fuente activa entre el 15 y el 22 de septiembre de 2026, con los 220 eventos procedentes de esa única dirección. Interpretamos la alternancia entre dos prefijos como una división deliberada.
Las claves presentadas en nuestra pasarela
Junto a sk-1234, un llamante presentó un token bearer cuyo cuerpo es un prefijo de clave privada PKCS#8 en base64, sk-MIIJQQIB…. Una clave privada presentada como clave de API es coherente con credenciales reutilizadas desde una lista recopilada sin comprobación de tipo, lo que sugiere recolección masiva aguas arriba y no una gestión cuidadosa de claves por objetivo. A qué sistema pertenece esa clave, y de dónde se obtuvo, queda sin resolver.
Las solicitudes del marco consumieron inferencia con una clave que el operador no pagó, lo que constituye secuestro de recursos (T1496); la clave en sí era un token de acceso a aplicación robado (T1528), y una dirección presentó la propia clave maestra por defecto del proveedor, lo que encaja en cuentas por defecto (T1078.001).
Las lecturas rivales que pusimos a prueba
Tabla: las mismas dos fuentes presentaron ambos marcadores, y ninguna tercera fuente presentó alguno Pivotes de cohorte sobre el valor de la clave emitida y sobre el user agent del marco, entre el 15 y el 22 de septiembre de 2026. Las dos filas cuentan cosas distintas: presentaciones de la clave y solicitudes que llevan el user agent.
| Marcador | Eventos | Ventana | Fuentes | /24 | Organizaciones |
|---|---|---|---|---|---|
sk-0af475b8… presentada | 57 | 16 minutos, 20 de septiembre | 2 | 2 | 1 (AS152320) |
deepseek-harness/0.1.5-rc.2 | 60 | 11 minutos, 21 de septiembre | 2 | 2 | 1 (AS152320) |
Ejecutamos ese pivote para determinar si las sesiones del marco pertenecen al operador que emitió la clave o a un comprador posterior, y no resuelve esa cuestión. Un conjunto de fuentes obtenido a partir de las presentaciones de la clave emitida no puede contener la solicitud de emisión. Conjuntos de fuentes idénticos descartan que un tercero usuario del marco consumiera una clave revendida, y no dicen nada sobre quién emitió sk-0af475b8…, así que registramos la lectura como no concluyente.
Quedan abiertas otras dos lecturas rivales. Una persona ante un teclado es poco probable según la aritmética de sesión anterior, con 29 ráfagas a lo largo de esas 31.2 horas, una mediana de intervalo dentro de ráfaga de 3.2 s y 26 de 38 intervalos medibles más rápidos de lo que permiten diez caracteres por segundo, pero el veredicto sobre el ritmo es mixto, así que lo mantenemos como no concluyente. Nada en las pruebas muestra que la sesión terminara con un error; la última solicitud desde 103.85.74[.]25 fue a las 11:34:45 UTC.
Si el user agent es una suplantación es también no concluyente. El proyecto que nombra es real y sus adaptadores de modelo aceptan una URL base configurable; los turnos observados llevan andamiaje de skills y devuelven resultados de herramientas en la conversación, lo que encaja con un marco de plugins, y solo dos fuentes presentaron la cadena entre el 15 y el 22 de septiembre de 2026.
Si el grupo apunta el marco hacia otros destinos
No sabemos si el mismo grupo apunta el marco a otros endpoints de inferencia robados, ni qué hicieron estas direcciones antes del 15 de septiembre.
Qué hacer
Este ciclo completo exige un cambio a dos grupos: quienes ejecutan marcos de agentes y quienes operan pasarelas LiteLLM. Si ejecuta un marco de agentes, fije su URL base a endpoints de modelo bajo su control y exija aprobación humana para la ejecución de herramientas, porque una llamada a herramienta devuelta por un endpoint hostil o robado se ejecuta en su máquina. La misma exposición se aplica a cualquier desarrollador que apunte un marco a un relé barato compatible con OpenAI que no haya construido. Si opera LiteLLM, rote sk-1234 y genere alertas cuando se presente una clave virtual desde una red distinta de la que la emitió.
Juicios clave
- Las dos direcciones que reutilizaron la clave virtual emitida el 20 de septiembre son las mismas dos que ejecutaron el cliente deepseek-harness el 21 de septiembre, y una de ellas presentó además sk-1234 en la pasarela. La clave virtual emitida sk-0af475b8… se presentó desde exactamente dos fuentes entre el 15 y el 22 de septiembre de 2026, 203.175.15[.]28 y 103.85.74[.]25, ambas en AS152320 GOALNOW (Hong Kong), y esas mismas dos direcciones son las dos únicas que llevan el user agent deepseek-harness, dentro de una ventana de once minutos el 21 de septiembre. Confianza moderada.
- El cliente devolvió al endpoint resultados de herramientas desde su propio host. Once resultados de herramientas llegaron desde el propio host del llamante, cinco desde 103.85.74[.]25, cinco desde 203.175.15[.]28 y uno desde 188.239.18[.]109, cada uno marcado por el marco como resultado de herramienta en la conversación. Confianza moderada.
- La sesión es muy probablemente un bucle de agente automatizado. El veredicto sobre el ritmo es mixto: 78 eventos desde 103.85.74[.]25 en 31.2 horas con solo 106 segundos de actividad, 26 de 38 intervalos medibles más rápidos de lo que permiten diez caracteres por segundo, y un prompt de 1999 caracteres entregado en 0.01 s. Confianza baja.
- El operador comprueba si un endpoint robado es un modelo genuino antes de encomendarle trabajo. Antes de cualquier turno agéntico el 21 de septiembre, el cliente envió tres sondeos idénticos 'Reply with exactly: OK', luego una batería de aritmética, recuento de letras, inversión de cadena y geografía en inglés, todas exigiendo respuestas de un solo token, y solo entonces abrió turnos con andamiaje de skills. Confianza moderada.
Cronología
- 2026-09-20 04:25 UTC103.85.74[.]25 sondea la ruta de disponibilidad de la pasarela
- 2026-09-20 12:22 UTC203.175.15[.]28 presenta la clave virtual emitida sk-0af475b8… en /v1/chat/completions
- 2026-09-20 12:34 UTC103.85.74[.]25 presenta la misma clave y ejecuta tres prompts de validación en chino simplificado sobre python-requests/2.28.1
- 2026-09-21 10:49 UTC103.85.74[.]25 regresa, vuelve a comprobar la disponibilidad y enumera los modelos dos veces en catorce segundos
- 2026-09-21 11:00 UTCTres sondeos idénticos 'Reply with exactly: OK' contra tres nombres de modelos alojados
- 2026-09-21 11:20 UTCBatería de capacidades en inglés: aritmética, recuento de letras, inversión de la cadena 'litellm', geografía
- 2026-09-21 11:26 UTCEl cliente cambia a deepseek-harness/0.1.5-rc.2; comienzan los turnos agénticos
- 2026-09-21 11:34 UTCUna solicitud lleva andamiaje de skills de agente
- 2026-09-21 11:37 UTCÚltima solicitud del marco desde 203.175.15[.]28; se habían devuelto once resultados de herramientas desde tres direcciones
La sesión, en orden
12:34:13 1+2+3等于几?只回答数字
12:34:43 中国的首都是哪座城市?只回答城市名
12:34:56 用Python读取文件data.txt并打印内容,给出完整代码
11:00:31 Reply with exactly: OK
11:20:35 ping
11:20:42 Compute 17*23+19. Reply with ONLY the number.
11:20:48 How many times does the letter 'r' appear in the word 'strawberry'? Reply with ONLY the number.
11:20:52 Reverse the string 'litellm'. Reply with ONLY the reversed result.
11:20:55 What is the capital of Burkina Faso? Reply with ONLY the city name.
11:26:26 deepseek-harness/0.1.5-rc.2 (+https://github.com/deepseek-ai/deepseek-harness)
11:34:45 [system-reminder] A skill is a reusable set of task-specific…
Oficio operativo
| Aspecto | Qué observamos | Qué le dice a un defensor |
|---|---|---|
| Herramientas | Las mismas dos direcciones usaron python-requests/2.28.1 con una batería fija de prompts en chino el 20 de septiembre y un marco de agentes con andamiaje de skills el 21 de septiembre. | El endpoint pasó de ser algo que se estaba validando a algo integrado en una cadena de herramientas operativa; las herramientas del operador tienen una fase de prueba y una fase de uso, y solo la segunda necesita un agente. |
| Secuenciación | Sondeo de disponibilidad, enumeración de modelos dos veces en catorce segundos, tres sondeos idénticos de un solo token contra tres nombres de modelo, luego una breve batería de capacidades y después los turnos agénticos. | Las comprobaciones baratas van antes de cualquier turno agéntico: el cliente gasta en validación antes de encomendar un agente al endpoint. |
| Seguridad operacional | Un marco de agentes que ejecuta llamadas a herramientas localmente fue apuntado a un endpoint que el operador había robado días antes, y devolvió a ese endpoint resultados de herramientas desde su propio host. | El operador trata la infraestructura capturada como confiable, lo que invierte el riesgo: quien controle el endpoint robado puede alcanzar la máquina que ejecuta el agente. |
| Infraestructura | Dos direcciones en dos /24 distintos de AS152320 alternan en cuestión de minutos ambos días, y una tercera dirección en una red distinta devolvió el mismo tipo de resultado de herramienta tres días antes. | El grupo de consumo es pequeño y está dividido deliberadamente entre prefijos, mientras que el comportamiento de ejecución de herramientas del lado del cliente no es exclusivo de este operador, así que debe rastrearse como una clase y no como la firma de un solo actor. |
| Errores | En la pasarela se presentó, junto a la clave por defecto del proveedor, un token bearer cuyo cuerpo es un prefijo de clave privada PKCS#8 en base64. | Las credenciales se reutilizan desde una lista recopilada sin comprobación de tipo, lo que sugiere recolección masiva aguas arriba y no una gestión cuidadosa de claves por objetivo. |
Cómo lo comprobamos
| Explicación | Prueba | Resultado | Veredicto |
|---|---|---|---|
| Las sesiones del marco corresponden al mismo operador que emitió la clave, no a un comprador posterior | Pivotes de cohorte sobre el valor de la clave emitida y sobre el user agent del marco, comparando conjuntos de fuentes, sistemas autónomos y ventanas temporales | Dos cohortes separadas, que cuentan cosas distintas. La cohorte de la clave: 57 eventos presentando sk-0af475b8… a lo largo de 16 minutos el 20 de septiembre, desde 2 fuentes en 2 /24, 1 organización (AS152320). La cohorte del user agent: 60 eventos con deepseek-harness/0.1.5-rc.2 a lo largo de 11 minutos el 21 de septiembre, desde las mismas 2 fuentes. Ninguna tercera fuente presentó ninguno de los dos marcadores entre el 15 y el 22 de septiembre de 2026. Un conjunto de fuentes obtenido a partir de las presentaciones de la clave emitida no puede contener la solicitud de emisión, así que conjuntos de fuentes idénticos descartan que un tercero usuario del marco consumiera una clave revendida, pero no dicen nada sobre quién emitió sk-0af475b8…. | No concluyente |
| Una persona ante un teclado dirigía estas sesiones | Aritmética del ritmo de sesión sobre 103.85.74[.]25 | Veredicto mixto: 78 eventos en 31.2 horas con 106 segundos de actividad, mediana de intervalo dentro de ráfaga de 3229 ms, 26 de 38 intervalos medibles más rápidos de lo que permiten diez caracteres por segundo, y un prompt de 1999 caracteres entregado en 0.01 s | No concluyente |
| El user agent deepseek-harness es una suplantación elegida para parecer una herramienta legítima de desarrollo | Comprobar que el proyecto referenciado existe y que el comportamiento observado coincide con su diseño documentado, y comprobar cuántas fuentes presentan la cadena | El proyecto es real y sus adaptadores de modelo aceptan una URL base configurable; los turnos observados llevan andamiaje de skills y devuelven resultados de herramientas en la conversación, lo que encaja con un marco de plugins más que con un escáner HTTP; solo 2 fuentes presentaron la cadena entre el 15 y el 22 de septiembre de 2026 | No concluyente |
| La sesión terminó porque el endpoint falló o superó el tiempo de espera | Buscar un error o un hueco al final de la sesión | La sesión desde 103.85.74[.]25 se extiende hasta las 11:34:45 UTC y nada en las pruebas muestra que terminara con un error; la ausencia no es prueba | No concluyente |
En cifras
Medido automáticamente a partir de la telemetría de sensores y del enriquecimiento, no estimado.
- Ritmo. 78 comandos en 31.2 h repartidos en 29 ráfagas: 106 s activos, 31.1 h inactivos. Mediana de intervalo dentro de una ráfaga 3229 ms (mín. 0 ms, máx. 4924 ms sobre 49 intervalos). Veredicto mixto: la sesión no satisface ni la prueba de automatización ni la de interactividad, así que se reporta tal cual en lugar de forzarla a una de las dos.
- Cohorte de herramientas (ja4h).
ge11nn060000_7f7bfeb0a491_000000000000_000000000000: 2 fuentes en 2 /24 repartidas entre 2 proveedores de alojamiento a lo largo de 1 día: herramientas compartidas, ampliamente desplegadas. - Cohorte de herramientas (ja4h).
po11nn080000_3d0e84a9a84f_000000000000_000000000000: 4 fuentes en 4 /24 repartidas entre 3 proveedores de alojamiento a lo largo de 4 días: herramientas compartidas, ampliamente desplegadas. - Infraestructura. El /24 contiene 1 fuente activa: sin indicios de un grupo compartido.
- Relaciones en VirusTotal. La dirección figura con GOALNOW NETWORK TECHNOLOGY CO., LIMITED en HK. 1/89 motores califican la dirección en sí de maliciosa o sospechosa. La dirección ha resuelto 1 nombre de host en los registros devueltos; el más reciente es xxhcj[.]cn el 2019-03-27.
Indicadores de compromiso
Los 3 indicadores de red que figuran a continuación están desactivados; las rutas se dan tal como se observaron; la fila del ASN se deja tal cual.
Red
| Indicador | Contexto |
|---|---|
103.85.74[.]25 | AS152320 GOALNOW (Hong Kong); presentó la clave emitida y ejecutó el cliente deepseek-harness |
203.175.15[.]28 | AS152320 GOALNOW (Hong Kong); segunda dirección del mismo grupo, misma clave y mismo user agent del marco |
188.239.18[.]109 | dirección independiente que devolvió el mismo tipo de resultado de herramienta el 18 de septiembre con un linaje de clave distinto |
AS152320 | GOALNOW NETWORK TECHNOLOGY CO. (Hong Kong); ambas direcciones de consumo están aquí |
Artefactos de host
| Indicador | Contexto |
|---|---|
sk-0af475b8… | clave virtual emitida en la pasarela del sensor a través de la ruta de claves de administración de LiteLLM y reutilizada por ambas direcciones de AS152320 |
deepseek-harness/0.1.5-rc.2 (+https://github.com/deepseek-ai/deepseek-harness) | user agent del marco de agentes que dirige la pasarela; 2 fuentes entre el 15 y el 22 de septiembre de 2026, ambas en AS152320 |
sk-MIIJQQIB… | token bearer presentado en la pasarela cuyo cuerpo es un prefijo de clave privada PKCS#8 en base64, coherente con la reutilización de una lista de credenciales recolectadas |
Detección
Sigma
User agent de marco de agentes hacia un endpoint LLM no incluido en la lista de permitidos (candidata).
title: Agent harness user agent toward a non-allowlisted LLM endpoint
status: experimental
logsource:
category: proxy
detection:
selection_ua:
c-useragent|contains:
- 'deepseek-harness/'
selection_path:
cs-uri-stem|contains:
- '/v1/chat/completions'
- '/v1/models'
filter_allowlisted:
cs-host|contains:
- 'api.deepseek.com'
- 'api.openai.com'
condition: selection_ua and selection_path and not filter_allowlisted
falsepositives:
- Developers legitimately evaluating self-hosted or third-party model endpoints
- Internal model gateways not present in the allowlist
level: medium
Lógica de detección
- Clave virtual de LiteLLM presentada desde una red distinta de la que la emitió (red, candidata). Correlacione POST /key/generate (o cualquier ruta administrativa de emisión de claves) con presentaciones posteriores del valor de clave devuelto en /v1/chat/completions. Genere una alerta cuando la dirección de origen de la emisión y la dirección de origen del consumo estén en sistemas autónomos distintos, o cuando la dirección consumidora aparezca en el plazo de una hora desde la emisión y desde una red sin historial previo contra la pasarela. Requiere que la pasarela registre el identificador de la clave o un hash de la clave en cada solicitud.
- Batería de autenticidad de modelo contra un endpoint de inferencia (conductual, candidata). En un endpoint de inferencia expuesto a internet, marque una sesión que emita varios prompts de respuesta de un solo token en menos de un minuto, sondeos idénticos ‘Reply with exactly: X’, aritmética sencilla, recuento de letras en una palabra, inversión de cadenas, geografía de una palabra, antes de cualquier petición sustantiva. Se trata de un llamante comprobando que el endpoint es un modelo genuino, y en una pasarela de producción no es tráfico normal de usuarios.
- Marco de agentes ejecutando llamadas a herramientas desde una URL base no fijada (host, candidata). En equipos de desarrollo y de compilación, genere una alerta cuando un proceso de marco de agentes (deepseek-harness, dsh o equivalente) se lance con una variable de entorno de URL base de modelo que apunte fuera de la lista de permitidos aprobada, y cuando ese proceso genere herramientas de shell o de lectura de archivos en cuestión de segundos tras una solicitud HTTPS saliente a esa URL base.
Remediación
- Rote cualquier clave maestra de LiteLLM que sea o se parezca a la clave por defecto del proveedor sk-1234, y revoque las claves virtuales emitidas mientras estuvo activa.
- Restrinja las rutas de administración de LiteLLM (/key/generate, /key/list, /config/yaml, /user/list) a una red interna o a un plano de gestión autenticado, nunca al mismo listener que /v1/chat/completions.
- Fije las URL base de los marcos de agentes a una lista de permitidos de endpoints bajo su control, y exija aprobación para la ejecución de herramientas en lugar de depender de los perfiles por defecto.
- Registre el identificador de la clave y la red de origen en cada solicitud de inferencia, de modo que una clave usada desde una red distinta a la del emisor sea detectable.
- Trate las respuestas del modelo como entrada no confiable: una llamada a herramienta que llega desde un endpoint es una instrucción de quien controle ese endpoint.
Correspondencia con MITRE ATT&CK
| Táctica | Técnica | Observado |
|---|---|---|
| Evasión de defensas | T1078.001 Valid Accounts: Default Accounts | La clave maestra de LiteLLM por defecto del proveedor sk-1234 se presentó en la pasarela desde la misma dirección que después usó la clave virtual emitida. |
| Acceso a credenciales | T1528 Steal Application Access Token | La clave virtual sk-0af475b8… emitida a través de la ruta administrativa se reutilizó desde dos direcciones del mismo sistema autónomo. |
| Impacto | T1496 Resource Hijacking | Sesenta solicitudes a la pasarela con el user agent del marco de agentes, a lo largo de once minutos el 21 de septiembre, consumieron inferencia mediante una clave que el operador no pagó. |
| Ejecución | T1059 Command and Scripting Interpreter | El host llamante devolvió resultados de herramientas al endpoint once veces desde tres direcciones, el patrón de un marco que ejecuta localmente las llamadas a herramientas de su endpoint. |
Referencias
- DeepSeek Harness (deepseek-ai/deepseek-harness), marco de agentes, versión preliminar para desarrolladores
- Versión preliminar para desarrolladores de DeepSeek Harness: todo es un plugin
- Arquitectura de DeepSeek Harness: perfiles, plugins y política de aprobación
Metodología y notas del analista
La observación abarca tres direcciones contra una de nuestras pasarelas entre el 18 y el 21 de septiembre de 2026. Los prompts se citan tal como se enviaron, acortando los más largos; por cuenta de quién se ejecutó el marco, y qué hizo cada llamada en el host del llamante, se desconoce. El vínculo con la emisión de la clave del 20 de septiembre se apoya en nuestros propios registros del valor de la clave, no en ninguna corroboración externa.
Sigue abierto:
- Por cuenta de quién se ejecutó el marco.
- Si el marco se ejecutó con las aprobaciones de herramientas desactivadas o con un operador confirmando cada llamada.
- A qué sistema pertenece el token bearer PKCS#8 en base64 y dónde fue recolectado.
Preguntas o correcciones: contact@kinryu.sh.