Sara María Mejia Sánchez
Hola Les comparto el vínculo al paquete Newtonsoft.Json, pues no se encuentra relacionado en los recursos de la clase
Jean Carlos Hallak
Gracias
Alejandro Dorado
👍👍
Cada aplicación moderna depende de paquetes de terceros para funcionar: Flask en Python, librerías de NPM en Node o paquetes de NuGet en .NET. Esta dependencia, aunque acelera el desarrollo, abre brechas de seguridad cuando esos paquetes no están actualizados. Aquí es donde Dependabot se convierte en una herramienta esencial dentro de GitHub, capaz de detectar vulnerabilidades, contener el problema y generar soluciones automáticas mediante pull requests.
¿Por qué los paquetes desactualizados son un riesgo de seguridad?
Cuando construyes una aplicación y quieres leer un archivo JSON, conectar una API con Flask o dar formato con colores en Node, necesitas paquetes externos [0:12]. Estas dependencias de terceros hacen tu trabajo más sencillo, pero si no se mantienen al día, pueden contener vulnerabilidades conocidas que un atacante podría explotar.
El problema crece conforme tu proyecto se hace más grande. Entre más paquetes agregas, más difícil resulta recordar cuáles necesitan actualización. Dependabot resuelve exactamente esto: monitorea tus dependencias de forma continua y te alerta en cuanto detecta una versión con problemas de seguridad.
¿Cómo se habilita Dependabot en un repositorio de GitHub?
Para activar Dependabot, puedes ir a la sección de Settings del repositorio o directamente desde la pestaña de Security [1:05]. Ambas rutas llevan al mismo lugar: Code Security and Analysis.
Una vez ahí, los pasos son los siguientes:
Al habilitar Version Updates, GitHub genera automáticamente un archivo dependabot.yml dentro de la carpeta .github del repositorio. Este archivo YAML define el intervalo de verificación que Dependabot seguirá. Por defecto viene configurado como semanal (weekly), pero puede cambiarse a diario (daily) para un monitoreo más frecuente [2:12].
¿Qué contiene el archivo dependabot.yml?
El archivo dependabot.yml es la configuración central de Dependabot. Define qué ecosistema de paquetes monitorear y con qué frecuencia revisar nuevas versiones. Se almacena junto a otros archivos de configuración del repositorio, como los issue templates [2:30].
¿Cómo funciona Dependabot con un paquete vulnerable en la práctica?
Para demostrar el flujo completo, se agregó intencionalmente el paquete Newtonsoft.Json en su versión 12.0.3 a un proyecto de .NET [3:05]. Este paquete, probablemente el más utilizado en el ecosistema .NET, tiene su versión estable más reciente en 13.0.3. Sin embargo, la versión 12.0.3 presenta al menos una vulnerabilidad conocida, señalada con un signo de exclamación en NuGet.
El paquete se instaló desde la terminal con el comando:
bash dotnet add package Newtonsoft.Json --version 12.0.3
Después de hacer commit y push al repositorio, ocurrió un detalle importante: como el archivo dependabot.yml se había creado directamente en GitHub, fue necesario ejecutar un git pull antes del git push para sincronizar los cambios remotos con los locales [4:35].
¿Qué sucede cuando Dependabot detecta la vulnerabilidad?
En cuestión de segundos, Dependabot identificó el problema y clasificó la alerta como de alta prioridad [5:15]. A diferencia de Secret Scanning, que solo notifica, Dependabot fue un paso más allá: creó automáticamente un pull request con la actualización del paquete a la versión segura.
El pull request generado por Dependabot incluye:
Al hacer merge de ese pull request, el archivo .csproj del proyecto se actualizó automáticamente a la versión 13.0.1, la más estable disponible. Incluso la rama temporal creada por Dependabot se eliminó sola después de la fusión [6:25].
¿Cuál es la mayor ventaja de usar Dependabot?
La fortaleza principal de Dependabot es que no solo identifica el problema, sino que lo contiene y propone una solución mediante un pull request listo para fusionar [6:40]. Esto permite que cualquier miembro del equipo pueda revisar y aprobar la corrección sin necesidad de investigar manualmente cada paquete.
Además, Dependabot trabaja de forma continua: cada vez que se publique una nueva versión de cualquier paquete que uses, generará un pull request para mantenerte siempre con las versiones más estables y seguras. Esto resulta especialmente valioso en proyectos grandes con decenas de dependencias, donde es fácil olvidar una actualización crítica.
¿Ya habías configurado Dependabot en tus repositorios? Comparte tu experiencia y cuéntanos cuántas alertas te encontraste la primera vez que lo activaste.
Sara María Mejia Sánchez
Hola Les comparto el vínculo al paquete Newtonsoft.Json, pues no se encuentra relacionado en los recursos de la clase
Jean Carlos Hallak
Gracias
Alejandro Dorado
👍👍
Sara María Mejia Sánchez
Parece que esta clase no quedó en la posición correcta, pues menciona que "ya vimos cómo evitar fugas de información gracias a Secret scanning" y la realidad es que no, la última clase según el orden que lleva el curso fue la 30. Cómo Usar Tokens en GitHub para Acceso Seguro a Repositorios Privados
Jean Carlos Hallak
igual me percate de este error, todavia no lo reparan
Albert Jose Salas Yustiz
Si con relación al orden de las clases. La clase anterior Mitigación de Brechas de Seguridad en Repositorios GitHub contiene la información acerca del uso del secret scaning mas no del git ignore.
Diego Andrés Lopez Rodriguez
Dependabot es una herramienta de GitHub que ayuda a mantener tu proyecto seguro y actualizado. Automáticamente revisa las dependencias de tu proyecto y te notifica sobre versiones obsoletas o vulnerabilidades en los paquetes que usas. Además, crea pull requests para actualizar esas dependencias, facilitando así la gestión de la seguridad y la integridad de tu código. Esto es crucial, ya que muchas aplicaciones dependen de paquetes de terceros, y mantenerlos actualizados es vital para evitar brechas de seguridad.
Abisaí Sosa
Mis PlatziBros ustedes pueden con el curso, es largo pero el beneficio vale toda la pena + los 3 meses para el 2026
Sara María Mejia Sánchez
Wow el Dependabot es una herramienta muy poderosa de seguridad, que nos ayuda a tener nuestro proyecto y dependencias actualizadas de manera automática.
David Agudelo
a alguien más le sale este error? después de hacer en la terminal:
dotnet add package Newtonsoft.Json --version 12.0.3" ``` The command could not be loaded, possibly because: ```txt The command could not be loaded, possibly because: * You intended to execute a .NET application: The application 'add' does not exist. * You intended to execute a .NET SDK command: No .NET SDKs were found. Download a .NET SDK: https://aka.ms/dotnet-download Learn about SDK resolution: https://aka.ms/dotnet/sdk-not-found ```intenté instalando:  * .NET 9.0 SDK (v9.0.202) * ASP.NET Core Runtime 9.0.3 * NET Desktop Runtime 9.0.3 *   alguna recomendación ? 
Gastón Vilariño
Hola! En que Clase vimos el tema de secret scanning? El profe lo da como si fuese un tema ya visto, pero la realidad es q no lo recuerdo.
Gastón Vilariño
Ya lo encontré! Lo explica en la clase 33. Se ve que en la edición de las clases hubo una desorganización en el orden. Aunque no quita el gran curso q estamos haciendo. A seguir aprendiendo! 💪🏻
Jose Luis Bedoya
muy útil la existencia de esta herramienta! Mantener el código seguro por muy poco esfuerzo es un increible tradeoff
Diego Andrés García Mendoza
Por aquí les dejo la ruta del paquete .NET:
Mario Alexander Vargas Celis
🔒 Gestión de Dependencias y Seguridad con Dependabot en GitHub
Dependabot es una herramienta integrada en GitHub que ayuda a mantener actualizadas las dependencias de tu proyecto y a detectar vulnerabilidades de seguridad en paquetes desactualizados.
📌 1️⃣ ¿Qué es Dependabot y cómo funciona?
Dependabot automatiza la actualización de dependencias en proyectos gestionados con npm, pip, Maven, Gradle, Composer, Cargo, entre otros.
🛠️ Funciones principales: ✔ Actualización automática de dependencias. ✔ Alertas de seguridad sobre paquetes vulnerables. ✔ Creación de Pull Requests para solucionar problemas detectados.
🔄 2️⃣ Activar Dependabot en un Repositorio
1️⃣ Ve a tu repositorio en GitHub. 2️⃣ Accede a "Settings" → "Security & analysis". 3️⃣ Habilita Dependabot alerts y Dependabot security updates.
📥 3️⃣ Configurar Actualizaciones Automáticas de Dependencias
Para activar Dependabot en la actualización de paquetes, crea un archivo de configuración en .github/dependabot.yml:
version: 2 updates: - package-ecosystem: "npm" # Reemplázalo según tu gestor (pip, maven, etc.) directory: "/" # Ruta del archivo de dependencias schedule: interval: "daily" # Opciones: daily, weekly, monthly open-pull-requests-limit: 5 labels: - "dependencies" ignore: - dependency-name: "lodash" # Puedes excluir paquetes específicos
📌 Personalización:
package-ecosystem: Define el gestor de dependencias (npm, pip, composer, etc.).directory: Ubicación del archivo de dependencias.schedule: Frecuencia de actualización.ignore: Evita actualizaciones de paquetes específicos.⚠ 4️⃣ Seguridad: Alertas y Parches Automáticos
Cuando GitHub detecta una vulnerabilidad en una dependencia: 🔴 Se muestra una alerta en la pestaña "Security" → "Dependabot alerts". 🟢 Dependabot puede generar automáticamente un Pull Request con una versión segura del paquete afectado.
🎯 Conclusión
✅ Mejora la seguridad al detectar y corregir vulnerabilidades automáticamente. ✅ Mantiene las dependencias actualizadas con mínimo esfuerzo. ✅ Facilita la gestión de proyectos al automatizar actualizaciones en múltiples entornos.
Sandra Candioti
Company_admingit ignore
Luis Jaime Nazar Silva
No se sobre .NET pero ... luego de hacer el merge del PR y tener la versión estable, al hacer el pull en la maquina personal la versión se actualiza automáticamente o toca abrir el terminal e instalar la versión nueva ?
Amin Espinoza
ProfesorEso depende, si alguien en tu equipo tuvo la generosidad de actualizar la versión (eso nunca pasa! Jajaja) entonces al hacer ese pull podrás recibir esa actualización, de lo contrario entonces tocará acordarlo y que todos en el equipo acepten hacer un PR de actualización.
Jose Luis Bedoya
le marcaste la versión es especifico??
si solo le das add package y el nombre de la extensión, te instalará el ultimo!!!
Diego Eduardo Melgar López
Hay que tener mucho cuidado con esas configuraciones de Dependabot y hacer que se haga el cambio automáticamente, el paquete más actualizado puede que no tenga ciertas características que posiblemente ya no existan en el nuevo paquete!
Así que es bueno tener el dependabot, pero no confiaría de que lo haga automáticamente, preferiría hacerlo manual y verificar que toda la solución funcione tal como debeería con el cambio que se subió
Fernando Hernández Santos
Las clases están desordenadas, el orden correcto va así
-Configuración de repositorios privados -Mitigación de brechas de seguridad -Gestión de seguridad en paquetes con dependabot
William Serrano
Gracias por tu comentario, comprendí mejor siguiendo ese orden.
Ricardo Ajcivinac
Si están en mac y en la terminal les da este error:
zsh: command not found: dotnet
Ejecuten el siguiente comando y después ya pueden instalar el paquete:
brew install --cask dotnet-sdk
Alex Daniel Diaz Ramirez
nunca hizo esas carpetas, ni subio esos archivos parece como si faltara una parte de la clase,
Alex Daniel Diaz Ramirez
hola bro, eso esta en la clase numero 26, al crear el codespace desde ahí agrega las carpetas
Miguel Angel Moreno C.
Generalmente al buscar las cosas que aparecen en el curso uno no las encuentra de inmediato por que GitHub se actualiza constantemente y las cambia de lugar o les cambia en nombre, pero solo tienes que buscar y intuir maso menos donde están las cosas que te dice el profe o el nuevo nombre de la función
Jhon Alexander Mosquera Vanegas
Lo que distingue a Dependabot de una simple alarma es que, además de avisar, propone la reparación. En la clase, apenas se subió una versión vulnerable de Newtonsoft.Json, apareció una alerta de alta prioridad y un pull request para pasar a la versión estable. Eso importa porque, a medida que el proyecto crece, se suman paquetes y es fácil olvidar las actualizaciones. Sin embargo, la decisión sigue siendo humana: alguien del equipo revisa el pull request y lo fusiona. Esa combinación entre automatización y revisión me parece una práctica razonable para cualquier equipo pequeño que mantenga código.
Eduardo Reyes
Lo único que no me gusta de este curso es que se usa C# para las clases. Yo asumo, que la mayoría de aquí estamos estudiando Desarrollo Frontend, por lo que usar Javascript, Node y NPM hubiera tenido más sentido. Tuve que instalar todo lo relacionado a .NET en mi computadora.
Eduardo Reyes
Acabo de aprender que no es necesario hacer toda la instalacion. Solo con agregar <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> al probando.csproj basta para que GitHub de la alerta.