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
Anti-Tamper-Perturbation — [ICCV 2025] Protección anti-manipulación para la generación no autorizada de imágenes individuales | Kitploit
Herramientas/GitHubGitHub/seeyn/anti-tamper-perturbation
EsteganografíaPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IAAtaque Adversario
GitHubseeyn/anti-tamper-perturbation

Anti-Tamper-Perturbation

[ICCV 2025] Protección anti-manipulación para la generación no autorizada de imágenes individuales

Ver Repositorio
61hace 9 mesesAú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

🛡️ Protección Anti-Manipulación para la Generación no Autorizada de Imágenes Individuales

Código Oficial para el Artículo de ICCV 2025
📄 Protección Anti-Manipulación para la Generación no Autorizada de Imágenes Individuales

Página 1 del PDF

⚙️ Configuración del Entorno

root@kitploit:~
conda create --name ATP --file requirements.txt
conda activate ATP

🔐 Lanzar ATP

  1. Descarga los datasets CelebA-HQ y VGGFace2. Los enlaces para los datasets se pueden encontrar en CelebA-HQ, VGGFace2. Para el entrenamiento del modelo de autorización, también se debe descargar FFHQ

  2. Descarga los pesos del modelo de autorización y la máscara de guía

  3. Establece la ruta de weights en configs/authorization.yaml y la ruta de mask en configs/protection.yaml

  4. Ejecuta

root@kitploit:~
python perturb.py --device cuda:0 --input_dir path_to_cleanData --output_dir path_to_perturbedData --method CAAT --input-mask path_to_mask

Recomendamos integrar CAAT con ATP, lo que logra un buen equilibrio entre la eficiencia de generación y el rendimiento de protección. Pero también proporcionamos código para integrar MetaCloak, Anti-DreamBooth y AdvDM.

📁 Estructura del Directorio de Salida

root@kitploit:~
output_dir/
├── Authorized/  # Authorized images
|       ├ {id}/ # Authorized images separated by id
|       ├ Authorization_messages/ # Authorization messages for each image
└── ATP_{method}/     # Protected Images by ATP+{method}
         ├ {id}/ # ATP Perturbed images separated by id

🔍 Verificación

  1. Establece la ruta de weights en configs/verification.yaml

  2. ✅ Sin Purificación: Ejecuta

root@kitploit:~
cd authorization
python verify.py --message_dir path_to_authorization_messages  --input_dir path_to_atp_protected_image --method CAAT
  1. 🔓 Bajo Purificación
  • Transformación Naive: Ejecuta
root@kitploit:~
cd authorization
python verify.py --message_dir path_to_authorization_messages  --input_dir path_to_atp_protected_image --method CAAT --noise-args 2 --noise-type Resize
root@kitploit:~
cd authorization
python verify.py --message_dir path_to_authorization_messages  --input_dir path_to_atp_protected_image --method CAAT --noise-args 70 --noise-type JPEG
  • Purificación Avanzada: GridPure
  1. Primero ejecuta el GridPure
  2. Ejecuta
root@kitploit:~
cd authorization
python verify.py --message_dir path_to_authorization_messages  --input_dir path_to_atp_protected_image --method GridPure

Salida de Ejemplo:

root@kitploit:~
Average Bit-Error: 0.44984375 Unauthorized image Ratio: 1.0 Pass Verification Identity Num: 0

"Pass Verification Identity Num" se puede utilizar para calcular la Tasa de Éxito de Protección (PSR). Una vez que ocurre la purificación y la identidad no puede pasar la verificación, lo consideramos una protección exitosa.

🧑🎨 Generación

Si las imágenes pasan la verificación, se pueden utilizar para la generación.

  1. ✅ Sin Purificación: Ejecuta
root@kitploit:~
 cd generation
 python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0

Los resultados se guardan en el directorio "DREAMBOOTH".

  1. 🔓 Bajo Purificación

Aunque las imágenes purificadas no se utilizaron para la generación en nuestros experimentos debido a que no pasaron la verificación, aún incluimos código para los algoritmos de referencia para permitir la comparación.

Para JPEG y Resize, ejecuta:

root@kitploit:~
 cd generation
 python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0 --purification naive

Para GridPure, primero debes ejecutar el GridPure, y luego usar las imágenes purificadas para ejecutar:

root@kitploit:~
 cd generation
 python generate.py --input_dir path_to_image_for_generation --method CAAT --device cuda:0 --purification gridpure

🧾 Cálculo de Métricas

  1. Descarga el embedding de ID desde celebahq, vggface.

  2. Modifica la configuración definida en ./configs/metrics.yaml. Debes definir la ruta a la imagen a evaluar(instance_dir) y la ruta al directorio para almacenar el archivo de registro de resultados de evaluación(output_dir), el prompt utilizado para la generación y la ruta del embedding de ID(id_emb_path).

  3. Descarga LIQE.pt desde url. Colócalo en ./metrics/LIQE/checkpoints

root@kitploit:~
 cd metrics
 python eval_dir.py --dataset CelebA-HQ --method CAAT

El resultado de la evaluación se guardará en el output_dir que definas en metrics.yaml

root@kitploit:~
 python show.py --path evaluation_results

Salida de Ejemplo:

root@kitploit:~
CLIP-IQAC       LIQE            ISM             FDFR             PSR
-0.176525       1.033371        0.489084        0.406250        0.859375

(Al modificar el código en las líneas 67 a 68 de eval_dir.py (comentadas), también puedes evaluar el resultado de generación purificado de la transformación naive.)

📈 Entrenamiento

También puedes entrenar tu propio modelo de autorización.

Modifica la configuración en ./configs/authorization.yaml

root@kitploit:~
cd authorization

bash scripts/train.sh 

📚 Agradecimientos

Para construir este proyecto, tomamos prestados códigos de: LIQE, GridPure, ANTIDB, METACLOAK, CAAT, HiDDeN, BasicSR.

¡Gracias por su excelente trabajo!

📌 Si encuentras este proyecto útil en tu investigación, considera citar nuestro artículo.

© 2025 The Board of Trustees of the University of Illinois. Todos los derechos reservados.

Descargar herramienta
ArgumentoDescripciónEjemplo
--deviceDecide en qué GPU ejecutar el modelocuda:0, cuda:1
--input_dirRuta a las imágenes de entrada limpias./data/clean/
--output_dirRuta para guardar las imágenes perturbadas./data/perturbed/
--methodMétodo de perturbación de protecciónCAAT, ANTIDB, ADVDM,METACLOAK
--input-maskRuta a la máscara./mask/050_mask.pt
ArgumentoDescripciónEjemplo
--message_dir_dirRuta al directorio de mensajes de autorización./data/Authorization_messages
--input_dirRuta a las imágenes para verificación./data/perturbed/
--methodMétodo de perturbación de protecciónCAAT, ANTIDB, ADVDM,METACLOAK
--noise-argsMétodo de perturbación de protección2, 50
--noise-typeMétodo de perturbación de protecciónJPEG, Resize
ArgumentoDescripciónEjemplo
--datasetDataset para evaluaciónCelebA-HQ, VGGFace2
--methodMétodo de perturbación de protecciónCAAT, ANTIDB, ADVDM,METACLOAK