Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SwordStamp — Marca d'água semântica com detecção robusta a ordem sobre unidades de sub-frase | Kitploit
Ferramentas/GitHubGitHub/d-diaa/swordstamp
CriptografiaPapers e PesquisaAprendizado e EducaçãoRecursos CuradosSegurança de IA
GitHubd-diaa/swordstamp

SwordStamp

Marca d'água semântica com detecção robusta a ordem sobre unidades de sub-frase

Ver Repositório
30há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SwordStamp

O SwordStamp adiciona detecção robusta à ordem e unidades de extensão semântica a marcas d'água semânticas baseadas em embeddings. Este artefato contém a configuração exata do artigo, o código de geração e detecção, a suíte de ataques inalterada, a avaliação de qualidade e a extração e plotagem determinísticas de resultados.

Artigo: Semantic Watermarking with Order-Robust Detection over Sub-sentence Units (arXiv:2608.27666)

Principais resultados

Com taxa de falsos positivos de 5% e requisito de preservação de conteúdo de 90%, o ataque de deslocamento de embedding específico do esquema (EDA-S) alcança:

Marca d'águaTaxa de sucesso do ataque EDA-S
SemStamp47,9%
k-SemStamp33,3%
PMark46,1%
SAMark32,6%
SwordStamp18,7%
k-SwordStamp10,8%

Em relação às suas linhas de base publicadas, o SwordStamp e o k-SwordStamp reduzem o sucesso do EDA-S em 29,2 e 22,5 pontos percentuais, com custos de fidelidade em condição limpa de 1,8 e 4,4 pontos. Suas taxas de detecção em condição limpa são de 94,9% e 97,0%. Sob o teste de estresse EDA-D de acesso ao detector mais forte, o sucesso máximo com restrição de qualidade é de 39,7% no k-SwordStamp contra 65,5% no k-SemStamp.

Sucesso do ataque sem caixa mais forte em diferentes requisitos de preservação de conteúdo

Fidelidade em condição limpa versus sucesso do ataque sem caixa mais forte

Esses resultados abrangem continuações de notícias em inglês, um modelo de provedor, dois codificadores de provedor e um par paráfrase/substituto EDA.

Plotar um pacote compilado

visualization consome apenas o pacote compilado CSV/Parquet. Ele falha em células ausentes do artigo em vez de desenhar uma figura parcial.

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

Isso grava tabelas auditáveis em results/paper/tables/ e sete figuras em PNG e PDF em results/paper/figures/. O branch de revisão anônima inclui o pacote compilado; uma execução completa no branch de release cria os mesmos arquivos com python -m visualization compile.

Ataque de deslocamento de embedding (EDA)

O ataque de deslocamento de embedding (EDA) é um ataque adaptativo de paráfrase de texto completo. Em cada unidade de saída, ele amostra K continuações e mantém o candidato com o maior deslocamento de cosseno em relação à sua âncora de origem sob um codificador substituto. Como cada candidato continua o prefixo completo de reescrita, um único objetivo pode reformular o conteúdo, reordená-lo e dividir ou mesclar unidades do detector.

O EDA sem caixa vê o texto marcado e o design público da marca d'água. Ele não consulta o detector ou gerador e não recebe chave secreta, codificador do provedor, ou oráculo de qualidade.

VarianteÂncora e unidadeConfiguração
EDA-Psentença posicionaladaptive, anchor=positional, unidade do atacante sentence
EDA-Sdesign público do alvosentenças posicionais para SemStamp, k-SemStamp e PMark; bag/sentence para SAMark; bag/semspan para ambas as variantes do SwordStamp
EDA-Ddetector do provedororacle; herda o codificador, a partição e a segmentação do defensor

Para ancoragem por bag, o artigo usa attack.bag_agg=min: maximizar a distância da âncora de origem mais próxima. As execuções sem caixa relatadas usam 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, no máximo 96 tokens por candidato, e no máximo 512 tokens de reescrita.

Outros projetistas de marca d'água podem chamar o EDA diretamente:

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 o EDA-S ciente do SwordStamp do artigo, defina anchor="bag", segmentation_type="semspan", semcut_max_words=15 e semcut_window=5. Neste repositório, o CLI equivalente é:

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 é sempre o corpus base e PRESET identifica a célula com marca d'água. Consulte attacks/README.md para todos os ataques retidos e campos de configuração.

Deslocamento substituto versus deslocamento do codificador do provedor

Matriz exata do artigo

config/paper.py é a única fonte de verdade. Para cada um de LSH e k-means, scripts/experiments/swordstamp.sh executa esta escada aditiva de cinco níveis com 64 candidatos de provedor:

  1. rejeição dependente de contexto sobre sentenças;
  2. seleção best-of-64;
  3. um conjunto válido fixo;
  4. classificação com consciência de diversidade; e
  5. spans semânticos com máximo de 15 palavras e janela de comparação 5.

A grade contém apenas estas dez células e uma linha de base sem marca d'água. O PMark é somente online; o SAMark usa um padrão de flag por execução. Os orçamentos do EDA-D são K={4,8,16,32,64}.

Os submódulos de comparação adaptam as fontes públicas de avaliação do PMark e do SAMark apenas em suas fronteiras de conjunto de dados/resultados e na calibração compartilhada de falsos positivos; os algoritmos de marca d'água permanecem inalterados.

Fluxo completo do experimento

Os pré-requisitos são Git, uv, Python 3.11, CUDA para execuções de modelo, acesso às revisões de modelo fixadas e armazenamento temporário.

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. Prepare as partições C4 determinísticas e disjuntas:

    uv run --frozen python scripts/prepare_c4.py --output-dir data
    
  2. Instale e configure o agendador fixado. O instalador imprime seus efeitos colaterais no nível do usuário antes de alterar qualquer coisa:

    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. Pré-visualize e, em seguida, envie cada shard físico:

    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. Compile, extract, and render:

Baixar ferramenta