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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
nullorigin — Research-only AI watermark robustness toolkit: local reverse proxy strips C2PA/EXIF/XMP, Unicode, image/audio stego, OOXML/PDF metadata, and scans Trojan Source. | Kitploit
Herramientas/GitHubGitHub/rakib-nyc/nullorigin
Análisis Estático de Código (SAST)Proxies Web e InterceptaciónEsteganografíaPrivacidadAprendizaje y EducaciónSeguridad de IAAtaque Adversario
GitHubrakib-nyc/nullorigin

nullorigin

Research-only AI watermark robustness toolkit: local reverse proxy strips C2PA/EXIF/XMP, Unicode, image/audio stego, OOXML/PDF metadata, and scans Trojan Source.

Ver Repositorio
439hace 1 mesAú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

NullOrigin 🛡️

Middleware universal de procedencia y saneamiento de marcas de agua para IA Artefacto de investigación: solo para evaluación de robustez de marcas de agua.

CI License: Apache 2.0 Python 3.10+ Tests Code style: ruff


🔬 Solo para uso en investigación

NullOrigin es un artefacto de investigación. Se publica para apoyar el estudio académico e independiente de la robustez de las marcas de agua, y para ningún otro fin.

Los esquemas de marcas de agua son afirmaciones de seguridad, y las afirmaciones de seguridad solo tienen sentido una vez que alguien ha intentado romperlas. La literatura que este proyecto implementa — Kirchenbauer et al. sobre KGW, Krishna et al. sobre ataques de paráfrasis, Boucher & Anderson sobre Trojan Source — existe porque los investigadores publicaron ataques funcionales para que los defensores pudieran medir la robustez real en lugar de asumirla. Esa es la tradición a la que pertenece este repositorio.

Usos previstos

  • Medir cuánto degrada la detectabilidad de una marca de agua bajo un ataque declarado
  • Reproducir y ampliar resultados publicados sobre robustez
  • Evaluar la fuga de metadatos de procedencia en tus propios documentos antes de compartirlos
  • Auditar código fuente para ataques Trojan Source y homoglifos (CVE-2021-42574, CVE-2021-42694)
  • Enseñar cómo funcionan estos esquemas y dónde se mantienen

No previsto, y no compatible

  • Hacer pasar trabajo generado como propio cuando una persona o institución te ha pedido que no lo hagas
  • Anular señales de procedencia en contenido que pretendes tergiversar
  • Eliminar la atribución de un trabajo que no es tuyo
  • Eludir cualquier política de plataforma, licencia o integridad académica

Nada de esto es un control técnico sobre cómo se ejecuta el código. Es una declaración de los términos bajo los cuales se ofrece, y de lo que su autor apoyará y no apoyará. El software se proporciona "TAL CUAL, sin garantía de ningún tipo" — consulte LICENSE.

Lea Alcance y limitaciones honestas antes de sacar ninguna conclusión de un número que esta herramienta imprima. Varios de los esquemas a los que se dirige no pueden verificarse contra un detector público, y el README lo dice en lugar de dar a entender lo contrario.


Contenidos

  • Solo para uso en investigación
  • Alcance y limitaciones honestas
  • Fundamentos teóricos
  • Instalación
  • Inicio rápido
  • Docker
  • Despliegue más allá de localhost
  • CLI
  • Benchmarking
  • Fidelidad semántica
  • Configuración
  • Solución de problemas
  • Arquitectura
  • Pruebas
  • Citación y reutilización
  • Estado del proyecto
  • Referencias
  • Aviso legal y atribución

⚠️ Alcance y limitaciones honestas

Lea esto antes de sacar conclusiones de cualquier número que esta herramienta imprima.

CapaLo que realmente hace
Caracteres invisiblesTotalmente eficaz. Las cargas útiles de ancho cero, control bidi, selectores de variación y bloques Unicode Tags se eliminan por completo, con un recuento informado. Los confusables homoglifos entre escrituras (cirílico/griego que se muestran como ASCII) se normalizan.
Metadatos de documento (.docx)Totalmente eficaz. Autor, último editor, recuento de revisiones, marcas de tiempo, plantilla y versión de la aplicación se eliminan de docProps, conservando el formato byte a byte.
C2PA / EXIF / XMPTotalmente eficaz. La imagen se reconstruye a partir de muestras de píxeles sin procesar en un contenedor nuevo, por lo que los manifiestos JUMBF firmados y todos los metadatos desaparecen. Verificado mediante pruebas contra muestras etiquetadas.
Marca de agua estadística KGWDepende por completo del backend de reescritura. Sin un modelo local configurado, la marca de agua estadística sobrevive — la herramienta lo dice en lugar de dar a entender lo contrario.
SynthID-Text / SynthID-Image / Tree-RingNo verificable aquí. Estos usan claves privadas y decodificadores propietarios. NullOrigin aplica las perturbaciones que la literatura describe, pero no se afirma que derroten a los detectores reales, porque no hay un detector público contra el que medir.
AudioSeal / SynthID-AudioNo verificable aquí, por la misma razón.

Sobre el detector KGW

KGWStatisticalDetector es una implementación matemáticamente fiel y autoconsistente del esquema de lista verde/roja de Kirchenbauer et al. sobre tokens de espacios en blanco. No es un decodificador para la marca de agua de producción de ningún proveedor — esas dependen de un secreto privado y del propio vocabulario BPE del modelo.

Su propósito es hacer que el benchmark sea real: KGWWatermarkEmbedder planta una marca de agua genuina, la canalización la ataca, y el detector correspondiente mide la reducción real. Esa es una medición verdadera del ataque contra este esquema. No se transfiere a la marca de agua de un proveedor.


📖 Fundamentos teóricos

Texto — Lista verde/roja KGW

El vocabulario $V$ se particiona en cada paso $t$ mediante un hash con semilla basado en el contexto precedente:

$$s_t = \text{Hash}(w_{t-k}, \dots, w_{t-1})$$

en una lista verde $G_t$ de tamaño $\gamma|V|$ y una lista roja $R_t$. Se añade un sesgo $\delta > 0$ a los logits verdes:

$$\tilde{l}{t,v} = \begin{cases} l{t,v} + \delta, & v \in G_t \\ l_{t,v}, & v \in R_t \end{cases}$$

La detección cuenta los aciertos verdes. Bajo $H_0$ son $\text{Binomial}(T, \gamma)$, por lo que:

$$z = \frac{|S_G| - \gamma T}{\sqrt{T\gamma(1-\gamma)}}$$

con $z > 4.0$ ($p < 3\times10^{-5}$) marcado como sintético.

Por qué la paráfrasis lo ataca: la marca de agua reside por completo en transiciones locales de n-gramas. Reescribir la forma superficial con un modelo sin marcar re-simienta cada posición. Este es el ataque de robustez estándar en la literatura de marcas de agua.

Por qué importa la longitud: $z$ crece como $\sqrt{T}$. Un pasaje de 100 tokens con una fracción verde de 0,70 solo alcanza $z \approx 3.9$ — por debajo del umbral. La detección necesita unos pocos cientos de tokens, y también los fixtures de benchmark significativos.

Imagen — C2PA e incrustación en el dominio de la frecuencia

Descargar herramienta