Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
SwordStamp — Marca de agua semántica con detección robusta al orden sobre unidades de sub-oración | Kitploit
Herramientas/GitHubGitHub/d-diaa/swordstamp
CriptografíaPapers e InvestigaciónAprendizaje y EducaciónRecursos CuradosSeguridad de IA
GitHubd-diaa/swordstamp

SwordStamp

Marca de agua semántica con detección robusta al orden sobre unidades de sub-oración

Ver Repositorio
1hace 3 díasAú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

SwordStamp

SwordStamp añade detección robusta al orden y unidades de tramos semánticos a las marcas de agua semánticas basadas en embeddings. Este artefacto contiene la configuración exacta del artículo, el código de generación y detección, el conjunto de ataques sin cambios, la evaluación de calidad y la extracción y representación determinista de resultados.

Resultados principales

Con una tasa de falsos positivos del 5% y un requisito de preservación de contenido del 90%, el ataque de desplazamiento de embeddings específico del esquema (EDA-S) logra:

Marca de aguaTasa de éxito del ataque EDA-S
SemStamp47,9%
k-SemStamp33,3%
PMark46,1%
SAMark32,6%
SwordStamp18,7%
k-SwordStamp10,8%

En relación con sus líneas base publicadas, SwordStamp y k-SwordStamp reducen el éxito de EDA-S en 29,2 y 22,5 puntos porcentuales, con costes de fidelidad limpia de 1,8 y 4,4 puntos. Sus tasas de detección limpia son del 94,9% y 97,0%. Bajo la prueba de estrés EDA-D con acceso al detector más fuerte, el éxito máximo con control de calidad es del 39,7% en k-SwordStamp frente al 65,5% en k-SemStamp.

Ataque sin caja más fuerte con éxito según los requisitos de preservación de contenido

Fidelidad limpia frente al ataque sin caja más fuerte con éxito

Estos resultados cubren continuaciones de noticias en inglés, un modelo de proveedor, dos codificadores de proveedor y un par parafraseador/sustituto EDA.

Representar un paquete compilado

visualization consume únicamente el paquete CSV/Parquet compilado. Falla ante celdas faltantes del artículo en lugar de dibujar una figura parcial.

root@kitploit:~
uv sync --frozen --only-group plot --no-install-project
uv run --no-sync python -m visualization extract \
  --bundle results/paper --output results/paper
uv run --no-sync python -m visualization render \
  --bundle results/paper --output results/paper

Esto escribe tablas auditables en results/paper/tables/ y siete figuras en PNG y PDF en results/paper/figures/. La rama de revisión anónima incluye el paquete compilado; una ejecución completa en la rama de lanzamiento crea los mismos archivos con python -m visualization compile.

Ataque de desplazamiento de embeddings (EDA)

El ataque de desplazamiento de embeddings (EDA) es un ataque adaptativo de paráfrasis de texto completo. En cada unidad de salida muestrea K continuaciones y conserva el candidato con el mayor desplazamiento de coseno respecto a su ancla fuente bajo un codificador sustituto. Dado que cada candidato continúa el prefijo completo de reescritura, un único objetivo puede reformular contenido, reordenarlo y dividir o fusionar unidades del detector.

EDA sin caja ve el texto marcado y el diseño público de la marca de agua. No consulta al detector ni al generador y no recibe clave secreta, codificador de proveedor ni oráculo de calidad.

Para el anclaje por bolsa, el artículo utiliza attack.bag_agg=min: maximizar la distancia desde el ancla fuente más cercana. Las ejecuciones sin caja reportadas utilizan Qwen/Qwen2.5-3B-Instruct, BAAI/bge-base-en-v1.5, K={1,2,4,8,16,32,64}, temperatura 1,0, top-p 0,95, como máximo 96 tokens por candidato y como máximo 512 tokens de reescritura.

Otros diseñadores de marcas de agua pueden llamar a EDA directamente:

root@kitploit:~
from attacks.paraphrasing.adaptive import adaptive_attack_paraphrase

attacked = adaptive_attack_paraphrase(
    texts,
    base_model="Qwen/Qwen2.5-3B-Instruct",
    surrogate_model="BAAI/bge-base-en-v1.5",
    num_candidates=32,
    anchor="positional",       # EDA-P; use "bag" for an order-robust design
    bag_agg="min",
    segmentation_type="sentence",
    segmentation_backend="nltk",
)

Para el EDA-S consciente de SwordStamp del artículo, establece anchor="bag", segmentation_type="semspan", semcut_max_words=15 y semcut_window=5. Dentro de este repositorio, la CLI equivalente es:

root@kitploit:~
uv run python -m attacks DATA_PATH --config PRESET \
  --set attack.paraphraser=adaptive \
  --set attack.custom_model=Qwen/Qwen2.5-3B-Instruct \
  --set attack.surrogate_model=BAAI/bge-base-en-v1.5 \
  --set attack.num_candidates=32 \
  --set attack.anchor=bag --set attack.bag_agg=min \
  --set segmentation.attacker_type=semspan \
  --set segmentation.attacker_backend=nltk

DATA_PATH es siempre el corpus base y PRESET identifica la celda marcada. Consulta attacks/README.md para todos los ataques conservados y los campos de configuración.

Desplazamiento del sustituto frente al desplazamiento del codificador del proveedor

Matriz exacta del artículo

config/paper.py es la única fuente de verdad. Para cada uno de LSH y k-means, scripts/experiments/swordstamp.sh ejecuta esta escalera aditiva de cinco peldaños con 64 candidatos de proveedor:

  1. rechazo dependiente del contexto sobre oraciones;
  2. selección de mejor de 64;
  3. un conjunto válido fijo;
  4. clasificación consciente de la diversidad; y
  5. tramos semánticos con un máximo de 15 palabras y ventana de comparación 5.

La cuadrícula contiene solo estas diez celdas y una línea base sin marca de agua. PMark es solo en línea; SAMark utiliza un patrón de bandera por ejecución. Los presupuestos de EDA-D son K={4,8,16,32,64}.

Los submódulos de comparación adaptan las fuentes de evaluación públicas PMark y SAMark solo en sus límites de conjunto de datos/resultados y en la calibración compartida de falsos positivos; los algoritmos de marca de agua no se modifican.

Flujo completo del experimento

Los requisitos previos son Git, uv, Python 3.11, CUDA para ejecuciones de modelos, acceso a las revisiones de modelos fijadas y almacenamiento temporal.

root@kitploit:~
git clone --recurse-submodules [email protected]:D-Diaa/SwordStamp.git
cd SwordStamp
bash scripts/setup.sh
uv run --frozen python scripts/check_artifact.py
  1. Prepara las particiones C4 deterministas y disjuntas:

    root@kitploit:~
    uv run --frozen python scripts/prepare_c4.py --output-dir data
    
  2. Instala y configura el planificador fijado. El instalador imprime sus efectos secundarios a nivel de usuario antes de cambiar nada:

    root@kitploit:~
    bash scripts/install_gpu_scheduler.sh --print-plan
    bash scripts/install_gpu_scheduler.sh --yes
    gpu-scheduler init --gpus 0,1
    gpu-scheduler start
    
  3. Previsualiza y luego envía cada fragmento físico:

    root@kitploit:~
    for shard in c4-val-def-256 c4-val-def-256b c4-val-def-512; do
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/swordstamp.sh
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/pmark.sh
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/samark.sh
    done
    # Remove DRY_RUN=1 after inspecting the exact DAGs.
    
  4. Compila, extrae y representa:

    root@kitploit:~
    uv run --frozen python -m visualization all \
      --bundle results/paper --output results/paper
    

El planificador proporciona CUDA_VISIBLE_DEVICES; no selecciones GPUs sondeando nvidia-smi. La reproducción completa es una carga de trabajo GPU de varios días. ARTIFACT.md enumera el hardware, las revisiones de modelos, los resultados esperados y el mapa de afirmación a comando. scripts/experiments/README.md documenta el comportamiento de reanudación y forzado.

Estructura y licencia

  • config/, segmentation/, sampling/, watermarking/: SwordStamp.
  • attacks/: EDA y el conjunto de ataques conservado.
  • quality/: evaluación de fidelidad y preservación de contenido.
  • visualization/: compilación solo para el artículo, tablas y figuras de Matplotlib.
  • scripts/experiments/: flujos de trabajo exactos del artículo respaldados por el planificador.
  • external/: submódulos de comparación fijados de PMark y SAMark.

El código de primera parte se publica bajo la Licencia MIT. Los modelos, conjuntos de datos, texto generado y submódulos de comparación conservan sus propios términos; consulta THIRD_PARTY.md.

Cita

El software SwordStamp está creado por Abdulrahman Diaa. Los autores del artículo son Abdulrahman Diaa, Jonathan Petit y Florian Kerschbaum. Los metadatos de cita legibles por máquina están en CITATION.cff.

Descargar herramienta
VarianteAncla y unidadConfiguración
EDA-Poración posicionaladaptive, anchor=positional, unidad de atacante sentence
EDA-Sdiseño público del objetivooraciones posicionales para SemStamp, k-SemStamp y PMark; bolsa/oración para SAMark; bolsa/tramo semántico para ambas variantes de SwordStamp
EDA-Ddetector del proveedororacle; hereda el codificador, la partición y la segmentación del defensor