Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SEW — Incrusta y detecta marcas de agua basadas en estilo y con clave en código Python, Java y C++ generado por LLM mediante reescritura de CST, preservando la corrección funcional y resistiendo ataques de edición de código. | Kitploit
Herramientas/GitHubGitHub/suhanmen/sew
Análisis EstáticoAnálisis de CódigoCriptografíaPapers e InvestigaciónSeguridad de IA
GitHubsuhanmen/sew

SEW

Incrusta y detecta marcas de agua basadas en estilo y con clave en código Python, Java y C++ generado por LLM mediante reescritura de CST, preservando la corrección funcional y resistiendo ataques de edición de código.

Ver Repositorio
11hace 13h 1mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SEW: Watermarking con codificación de estilo para código generado por LLM

GitHub Repo stars GitHub last commit GitHub contributors

Enlace al artículo📖

📰 Noticias

  • 📢 ¡NUEVO! El artículo de SEW está disponible en arXiv: arXiv:2609.39414. (30 de septiembre de 2026)
  • 📢 El código oficial de SEW ha sido publicado en GitHub. (30 de septiembre de 2026)

🔍 Motivación

CaracterísticaWatermarks a nivel de token (KGW, SWEET, Unigram, STONE, STA-1)Watermarks post-hoc (ACW, SrcMarker, RoSeMary)✨ SEW
AccesoEn tiempo de decodificación (sesga la selección de tokens)Post-hoc (reescribe código ya finalizado)Post-hoc (reescribe código ya finalizado, agnóstico al modelo)
Corrección funcionalModifica el programa (compromiso detección–corrección)Puede romper programas (pass@1 en Java/C++ ≈ 12% con reescritura neuronal)Preservada (pass@1 igual al del código sin watermark)
Previsibilidad—Patrones recurrentes (recuperados de 10 programas con watermark)Dependiente de la clave y del contexto (las elecciones varían con la estructura de cada programa)
Detección (TPR@FPR5%)14–60%31–98%⚡ 98.7–99.5%

El watermarking de código generado por LLM permite el seguimiento de procedencia. Los watermarks que modifican la selección de tokens durante la generación intercambian detectabilidad por corrección funcional, y requieren control sobre el modelo generador. Los métodos post-hoc, en cambio, marcan código ya completado con transformaciones predefinidas o modelos neuronales entrenados, pero sus patrones recurrentes hacen que el watermark sea predecible entre programas, y los patrones que ya son comunes en código sin watermark se cuentan como evidencia de watermark, lo que provoca detecciones falsas. SEW plantea: ¿puede el estilo de código de un programa ya generado portar un watermark que sea correcto por construcción, difícil de predecir y calibrado frente a código escrito por humanos?

✨ Acerca de SEW

SEW overview

SEW (Style-Encoded Watermarking) inserta y detecta watermarks en código ya generado mediante tres componentes:

  1. Reglas de estilo de código con elecciones dependientes de la clave y del contexto. Las elecciones de estilo semánticamente equivalentes recopiladas de guías de estilo y reglas de transformación (29 para Python, 22 para Java, 19 para C++; p. ej., x += 1 / x = x + 1, range(n) / range(0, n), if (c) s; / if (c) { s; }) se emparejan sobre el árbol de sintaxis concreta (CST). Qué variante toma un sitio lo decide una clave secreta y el contexto estructural del sitio.
  2. Calibración de preferencias de estilo. La evidencia de watermark se evalúa frente a la probabilidad de cada variante de estilo en código escrito por humanos, de modo que los estilos que las personas ya prefieren cuentan menos.
  3. Agregación de estilo consciente del contexto. Los sitios en ubicaciones estructuralmente coincidentes a los que se asigna la misma elección de estilo se combinan en un solo voto, de modo que las aplicaciones repetidas de una misma elección no inflan la evidencia.

La detección solo necesita el código sospechoso y la clave — no el modelo generador, el código original ni ningún registro de la inserción.

🚀 ¿Qué hace valioso a SEW?

✅ Agnóstico al modelo y correcto por construcción — SEW solo reescribe sitios de estilo donde ambas variantes tienen la misma semántica, por lo que funciona sobre la salida de cualquier modelo y mantiene el pass@1 igual al del código sin watermark.

✅ Evidencia calibrada — Una prueba Poisson-binomial con probabilidades de estilo estimadas a partir de código escrito por humanos (soluciones de LeetCode, disjuntas de los datos de evaluación) mantiene bajas las detecciones falsas sobre código humano.

✅ Robusto y difícil de inferir — SEW mantiene su detección bajo formateo, linting, eliminación de comentarios y renombrado de variables, y un adversario que observa programas con watermark no puede recuperar sus elecciones de estilo como recupera las de las líneas base post-hoc.

📈 Resultados

Resultado principal — detección en CodeContests (TPR@FPR5% / AUROC, %), promediado sobre tres LLM (Qwen3.5-9B, gemma-4-12B-it, gpt-oss-20b).

TipoMétodoPythonJavaC++
A nivel de tokenKGW48.33 / 80.5643.30 / 72.3159.31 / 84.54
SWEET59.92 / 85.1841.19 / 76.5660.01 / 87.24
Unigram57.45 / 88.9736.54 / 71.3747.05 / 71.13
STONE28.09 / 62.3314.38 / 62.9523.65 / 64.79
STA-135.26 / 66.2620.93 / 61.4844.71 / 73.72
Post-hocACW90.10 / 95.05––
SrcMarker90.21 / 97.8671.52 / 93.5869.88 / 81.55
RoSeMary97.86 / 97.3231.00 / 95.4681.26 / 89.44
SEW99.49 / 99.6498.70 / 98.9999.22 / 99.38

Corrección funcional (pass@1 del código con watermark, %; código sin watermark: 57.63 / 52.05 / 53.74).

MétodoPythonJavaC++
ACW56.00––
SrcMarker56.7811.8711.82
RoSeMary56.3911.7111.52
SEW57.6352.0553.74

Robustez frente a ataques de edición de código (TPR@FPR5%, %, promediado sobre tres LLM y tres lenguajes; ACW: solo Python).

Descargar herramienta