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
gha-lab-8e9316151c — Laboratorio de investigación de seguridad controlado que reproduce CVE-2024-1540 (inyección de comandos en GitHub Actions en gradio-app/gradio deploy+test-visual.yml) — instantánea aplanada de gradio-app/gradio @ f35f615e33a5dd90bfeb106b6f5dca689849fcef | Kitploit
Herramientas/GitHubGitHub/pvharmo2/gha-lab-8e9316151c
Análisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónRecursos Curados
GitHubpvharmo2/gha-lab-8e9316151c

gha-lab-8e9316151c

Laboratorio de investigación de seguridad controlado que reproduce CVE-2024-1540 (inyección de comandos en GitHub Actions en gradio-app/gradio deploy+test-visual.yml) — instantánea aplanada de gradio-app/gradio @ f35f615e33a5dd90bfeb106b6f5dca689849fcef

Ver Repositorio
1hace 21h 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

Artefacto de investigación automatizado — no es el proyecto original.

Este repositorio es un laboratorio desechable construido por un sistema automatizado para una tesis de maestría en la Université Laval sobre la reproducción de vulnerabilidades publicadas en flujos de trabajo de GitHub Actions. Es una instantánea verbatim de gradio-app/gradio en el commit f35f615e33a5dd90bfeb106b6f5dca689849fcef (2024-02-09), redistribuida bajo la licencia de ese proyecto, cuyo archivo se incluye sin cambios en esta instantánea.

El proyecto original no está involucrado, nunca es el objetivo, y la vulnerabilidad estudiada aquí ya es pública. Cada secreto y variable en este repositorio es un valor ficticio generado aleatoriamente — no hay ninguna credencial real presente. Las referencias a acciones e imágenes de ejecutores están fijadas a lo que resolvieron el 2024-02-09; consulta pinning.md en la salida del sistema para cada cambio realizado en la instantánea.

Preguntas u objeciones: [email protected]


gradio

gradio-backend

gradio-ui

PyPI
PyPI downloads
Python version
Twitter follow

Sitio web | Documentación | Guías | Primeros pasos | Ejemplos | 中文

Gradio: Crea aplicaciones web de aprendizaje automático — en Python

Gradio es un paquete de Python de código abierto que te permite crear rápidamente una demo o aplicación web para tu modelo de aprendizaje automático, API o cualquier función arbitraria de Python. Luego puedes compartir un enlace a tu demo o aplicación web en solo unos segundos usando las funciones de intercambio integradas de Gradio. ¡No necesitas experiencia en JavaScript, CSS ni alojamiento web!

Solo se necesitan unas pocas líneas de Python para crear una demo hermosa como la anterior, así que comencemos 💫

Instalación

Requisito previo: Gradio requiere Python 3.8 o superior

Recomendamos instalar Gradio usando pip, que viene incluido por defecto en Python. Ejecuta esto en tu terminal o símbolo del sistema:

root@kitploit:~
pip install gradio

[!TIP] Es mejor instalar Gradio en un entorno virtual. Las instrucciones detalladas de instalación para todos los sistemas operativos comunes se proporcionan aquí.

Creando tu primera demo

Puedes ejecutar Gradio en tu editor de código favorito, cuaderno de Jupyter, Google Colab o en cualquier otro lugar donde escribas Python. Escribamos tu primera aplicación de Gradio:

root@kitploit:~
import gradio as gr

def greet(name, intensity):
    return "Hello " * intensity + name + "!"

demo = gr.Interface(
    fn=greet,
    inputs=["text", "slider"],
    outputs=["text"],
)

demo.launch()

[!TIP] Acortamos el nombre importado de gradio a gr para una mejor legibilidad del código. Esta es una convención ampliamente adoptada que deberías seguir para que cualquiera que trabaje con tu código pueda entenderlo fácilmente.

Ahora, ejecuta tu código. Si has escrito el código de Python en un archivo llamado, por ejemplo, app.py, entonces ejecutarías python app.py desde la terminal.

La demo de abajo se abrirá en un navegador en http://localhost:7860 si se ejecuta desde un archivo. Si estás ejecutando dentro de un cuaderno, la demo aparecerá integrada dentro del cuaderno.

hello_world_4 demo

Escribe tu nombre en el cuadro de texto de la izquierda, arrastra el control deslizante y luego presiona el botón Enviar. Deberías ver un saludo amigable a la derecha.

[!TIP] Cuando desarrolles localmente, puedes ejecutar tu aplicación de Gradio en modo de recarga automática, que recarga automáticamente la aplicación de Gradio cada vez que hagas cambios en el archivo. Para hacer esto, simplemente escribe gradio antes del nombre del archivo en lugar de python. En el ejemplo anterior, escribirías: gradio app.py en tu terminal. Aprende más sobre la recarga automática en la Guía de recarga automática.

Entendiendo la clase Interface

Notarás que para crear tu primera demo, creaste una instancia de la clase gr.Interface. La clase Interface está diseñada para crear demos para modelos de aprendizaje automático que aceptan una o más entradas y devuelven una o más salidas.

La clase Interface tiene tres argumentos principales:

  • fn: la función a envolver con una interfaz de usuario (UI)
  • inputs: el/los componente(s) de Gradio a usar para la entrada. El número de componentes debe coincidir con el número de argumentos en tu función.
  • outputs: el/los componente(s) de Gradio a usar para la salida. El número de componentes debe coincidir con el número de valores de retorno de tu función.

El argumento fn es muy flexible — puedes pasar cualquier función de Python que quieras envolver con una UI. En el ejemplo anterior, vimos una función relativamente simple, pero la función podría ser cualquier cosa, desde un generador de música hasta una calculadora de impuestos o la función de predicción de un modelo de aprendizaje automático preentrenado.

Los argumentos input y output toman uno o más componentes de Gradio. Como veremos, Gradio incluye más de 30 componentes integrados (como los componentes gr.Textbox(), gr.Image() y gr.HTML()) diseñados para aplicaciones de aprendizaje automático.

[!TIP] Para los argumentos inputs y outputs, puedes pasar el nombre de estos componentes como una cadena ("textbox") o una instancia de la clase (gr.Textbox()).

Si tu función acepta más de un argumento, como es el caso anterior, pasa una lista de componentes de entrada a inputs, con cada componente de entrada correspondiente a uno de los argumentos de la función, en orden. Lo mismo aplica si tu función devuelve más de un valor: simplemente pasa una lista de componentes a outputs. Esta flexibilidad hace que la clase Interface sea una forma muy poderosa de crear demos.

Profundizaremos más en gr.Interface en nuestra serie sobre creación de interfaces.

Compartiendo tu demo

¿De qué sirve una demo hermosa si no puedes compartirla? Gradio te permite compartir fácilmente una demo de aprendizaje automático sin tener que preocuparte por la molestia de alojarla en un servidor web. Simplemente establece share=True en launch(), y se creará una URL de acceso público para tu demo. Revisemos nuestra demo de ejemplo, pero cambiemos la última línea de la siguiente manera:

root@kitploit:~
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
    
demo.launch(share=True)  # Comparte tu demo con solo 1 parámetro adicional 🚀

Cuando ejecutes este código, se generará una URL pública para tu demo en cuestión de segundos, algo como:

👉   https://a23dsf231adb.gradio.live

Ahora, cualquier persona en el mundo puede probar tu demo de Gradio desde su navegador, mientras el modelo de aprendizaje automático y todo el cálculo continúan ejecutándose localmente en tu computadora.

Para aprender más sobre cómo compartir tu demo, lee nuestra guía dedicada sobre compartir tu aplicación de Gradio.

Una visión general de Gradio

Hasta ahora, hemos estado hablando de la clase Interface, que es una clase de alto nivel que te permite crear demos rápidamente con Gradio. Pero, ¿qué más hace Gradio?

Chatbots con gr.ChatInterface

Gradio incluye otra clase de alto nivel, gr.ChatInterface, diseñada específicamente para crear interfaces de Chatbot. Similar a Interface, proporcionas una función y Gradio crea una interfaz de Chatbot completamente funcional. Si estás interesado en crear un chatbot, puedes ir directamente a nuestra guía dedicada sobre gr.ChatInterface.

Demos personalizadas con gr.Blocks

Gradio también ofrece un enfoque de bajo nivel para diseñar aplicaciones web con diseños y flujos de datos más flexibles mediante la clase gr.Blocks. Blocks te permite hacer cosas como controlar dónde aparecen los componentes en la página, manejar flujos de datos complejos (por ejemplo, las salidas pueden servir como entradas para otras funciones) y actualizar propiedades/visibilidad de los componentes según la interacción del usuario — todo en Python.

Puedes crear aplicaciones muy personalizadas y complejas usando gr.Blocks(). Por ejemplo, la popular interfaz web de generación de imágenes Automatic1111 Web UI está construida con Gradio Blocks. Profundizamos más en gr.Blocks en nuestra serie sobre creación con Blocks.

El ecosistema de Python y JavaScript de Gradio

Ese es el núcleo de la biblioteca de Python gradio, ¡pero Gradio es en realidad mucho más! Es un ecosistema completo de bibliotecas de Python y JavaScript que te permiten crear aplicaciones de aprendizaje automático, o consultarlas programáticamente, en Python o JavaScript. Aquí hay otras partes relacionadas del ecosistema de Gradio:

  • Cliente de Python de Gradio (gradio_client): consulta cualquier aplicación de Gradio programáticamente en Python.
  • Cliente de JavaScript de Gradio (@gradio/client): consulta cualquier aplicación de Gradio programáticamente en JavaScript.
  • Gradio-Lite (@gradio/lite): escribe aplicaciones de Gradio en Python que se ejecutan completamente en el navegador (¡sin necesidad de servidor!), gracias a Pyodide.
  • Hugging Face Spaces: el lugar más popular para alojar aplicaciones de Gradio — ¡gratis!

¿Qué sigue?

Sigue aprendiendo sobre Gradio secuencialmente usando las Guías de Gradio, que incluyen explicaciones, así como código de ejemplo y demos interactivas integradas. Lo siguiente: características clave de las demos de Gradio.

O, si ya conoces los conceptos básicos y buscas algo específico, puedes buscar en la documentación técnica de la API.

¿Preguntas?

Si deseas informar un error o tienes una solicitud de función, crea un issue en GitHub. Para preguntas generales sobre el uso, estamos disponibles en nuestro servidor de Discord y estaremos encantados de ayudarte.

Si te gusta Gradio, ¡déjanos una ⭐ en GitHub!

Pila de código abierto

¡Gradio está construido sobre muchas bibliotecas de código abierto maravillosas!

huggingface python fastapi encode svelte vite pnpm tailwind storybook chromatic

Licencia

Gradio está licenciado bajo la Licencia Apache 2.0 que se encuentra en el archivo LICENSE en el directorio raíz de este repositorio.

Cita

También consulta el artículo Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild, ICML HILL 2019, y cítalo si usas Gradio en tu trabajo.

root@kitploit:~
@article{abid2019gradio,
  title = {Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild},
  author = {Abid, Abubakar and Abdalla, Ali and Abid, Ali and Khan, Dawood and Alfozan, Abdulrahman and Zou, James},
  journal = {arXiv preprint arXiv:1906.02569},
  year = {2019},
}
Descargar herramienta