Você pode ler em português (https://github.com/welbert6/MaterialStoryView/edit/master/ReadmePT.md) Capturas de pantalla Introducción MaterialStoryView es una biblioteca de Android para implementar un carrusel de historias, similar a las que se encuentran en redes sociales como Instagram y Facebook. . Esta biblioteca facilita la adición de un componente de visualización de historias a su aplicación de Android, lo que permite una integración rápida y sencilla. ✅ Guarda la historia como se ve en SharedPreferences: garantiza que los usuarios no vean repetidamente la misma historia, lo que mejora la experiencia del usuario. ✅ Botón de acción en la historia: permite interacciones directas, como visitar un enlace o realizar una acción específica, directamente desde la historia. ✅ Navegación entre historias tocando en el lado derecho e izquierdo de la pantalla: Facilita la navegación por las historias, permitiendo a los usuarios avanzar o retroceder con un simple toque. ✅ Admite RTL y LTR: se adapta a usuarios de idiomas que se leen de derecha a izquierda (RTL) y de izquierda a derecha (LTR), lo que garantiza una experiencia de usuario global e inclusiva. ✅ Admite historias con y sin títulos: ofrece flexibilidad para mostrar historias tanto con títulos para contexto como sin títulos para un diseño más limpio. ✅ Personalización 100%: permite una personalización completa de la apariencia de la historia, incluida la duración, el color del indicador, el tamaño del radio de la imagen, el color del texto, etc., para que coincida perfectamente con la identidad visual de su aplicación. Configuración 1. Agregue la dependencia de gradle. Agregue el repositorio JitPack a su build.gradle raíz al final de los repositorios: allprojects { repositories { … maven { url ‘https://jitpack.io’ } } } Agregue la dependencia: dependencies { implementación ‘com.github.welbert6:MaterialStoryView:1.0.0’ } 2. Uso Agregue CarouselStoryView a su diseño XML:
Inicialice y configure CarouselStoryView en su actividad: val carrosselStoryView: CarouselStoryView = findViewById(R.id.carouselStoryView) //Asegúrese de llamar a init With Activity para iniciar lib carrosselStoryView.initWithActivity(this) // Puede agregarStory o addStories si tiene una lista de historias carrosselStoryView.addStory(getCopasaStories()) carrosselStoryView.addStory(getCemigStories()) carrosselStoryView.addStory(getCminStories()) carrosselStoryView.addStories(getModelStorys()) Personalización MaterialStoryView ofrece varias opciones de personalización a través de atributos XML, permitiendo modificaciones de: Texto tamaño y color Colores de los indicadores de historias visitadas y pendientes Radio de la imagen de la historia Ancho del indicador del elemento de la historia Duración de la historia Para obtener más detalles sobre las opciones de personalización, consulte las opciones disponibles en la sección de atributos XML declarables. miniStoryTextSize (Tamaño del texto de la mini historia): establece el tamaño del texto de los subtítulos de la mini historia, lo que permite personalizar la escala del texto para una mejor legibilidad. miniStoryTextColor (Color del texto de la mini historia): especifica el color del texto para los subtítulos de la mini historia, ofreciendo la posibilidad de hacer coincidir el color del texto con el tema de la aplicación. miniStoryTextFont (fuente de texto para mini historias): permite configurar la fuente del texto para mini historias a través de una referencia, lo que permite personalizar la tipografía para alinearla con la identidad visual. miniStoryVisitedIndicatorColor (Color del indicador de minihistoria visitada): define el color del indicador de las historias que ha visto el usuario, lo que ayuda a distinguir entre contenido nuevo y revisado. miniStoryPendingIndicatorColor (Color indicador pendiente de mini historia): Especifica el color del indicador para las historias que aún no han sido vistas, facilitando la identificación de contenido nuevo. miniStoryImageRadius (Radio de imagen de mini historia): determina el radio de las imágenes en mini historias, lo que permite redondear las esquinas de las imágenes para una apariencia más suave. miniStorySpaceBetweenImageAndIndicator (Espacio entre la imagen de la mini historia y el indicador): establece el espacio Créditos/StoriesProgressView: esta biblioteca se utilizó para mostrar el progreso de las historias desarrolladas por Welbert Moreira. No dudes en contribuir con mejoras, correcciones de errores o nuevas funciones. ¡Tu contribución es bienvenida! Licencia Licencia MIT Copyright (c) 2024 Welbert Moreira Por el presente se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el «Software») para operar con el Software sin restricciones, incluidas, entre otras, los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y de permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones: El aviso de derechos de autor anterior y este aviso de permiso se incluirá en todas las copias o partes sustanciales del Software. EL SOFTWARE SE PROPORCIONA «TAL CUAL», SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIOS EN EL SOFTWARE.
Etiqueta: GitHub
GitHub Advanced Security obtiene funciones de IA y GitHub Copilot ahora incluye una opción de chatbot. Se espera que GitHub Copilot Enterprise esté disponible en febrero de 2024. Imagen: Adobe/sdx15 En la conferencia GitHub Universe celebrada en San Francisco y virtualmente los días 8 y 9 de noviembre de 2023, la compañía reveló su nuevo informe de tendencias de código abierto, así como cambios en GitHub Copilot y mejoras de IA para GitHub Advanced Security. GitHub Copilot y GitHub Advanced Security están disponibles a nivel mundial. Sin embargo, algunos servicios de GitHub, incluido Copilot, están sujetos a controles comerciales de EE. UU. y no están disponibles en los países sancionados que se enumeran aquí. Saltar a: La IA generativa es popular entre los proyectos de código abierto Los proyectos de IA generativa de código abierto se unieron a la lista de GitHub de los 10 proyectos de código abierto más populares por número de contribuyentes en 2023. En 2022, alrededor de 17.000 desarrolladores de GitHub trabajaron en proyectos de IA generativa; en 2023, esa cifra se disparó a alrededor de 60.000. Los proyectos de IA se están volviendo más comunes, dijo GitHub. Es probable que en el futuro más organizaciones comiencen a utilizar modelos de IA previamente entrenados a medida que los desarrolladores se familiaricen con ellos, predijo GitHub. Tendencias de Git hacia aplicaciones nativas de la nube a escala GitHub descubrió que los desarrolladores utilizan cada vez más el sistema de control de versiones de Git para lenguajes declarativos que utilizan infraestructura basada en Git como flujos de trabajo de código. El estudio también encontró una mayor estandarización en las implementaciones de la nube y un fuerte aumento en la velocidad a la que los desarrolladores usaban Dockerfiles y contenedores, infraestructura como código y otras tecnologías nativas de la nube. El uso del lenguaje de configuración de Hashicorp (HCL), que es un indicador de operaciones y trabajo de infraestructura como código, creció un 36 % año tras año. El número de nuevos desarrolladores en GitHub creció un 26%, y India tiene la población de desarrolladores de más rápido crecimiento. GitHub define a un desarrollador como cualquier persona con una cuenta de GitHub que no sea spam. Los proyectos de código abierto con respaldo comercial llaman la atención Los proyectos de código abierto con respaldo comercial tuvieron el mayor número de contribuciones y el mayor número de contribuyentes por primera vez. El número de proyectos privados creció un 38% año tras año. Proteger dependencias y sucursales son proyectos populares. En términos de seguridad en código abierto, cada vez más desarrolladores están recurriendo a la automatización para proteger las dependencias, y los mantenedores de código abierto están prestando mucha atención a proteger sus sucursales. El desarrollo front-end es prometedor El desarrollo front-end es un tipo de proyecto de rápido crecimiento entre los desarrolladores de código abierto. GitHub Copilot Chat y GitHub Copilot Enterprise revelados En GitHub Universe, la compañía anunció GitHub Copilot Chat (Figura A), que es un asistente de IA generativa que explica el código en lenguaje natural, y GitHub Copilot Enterprise. GitHub Copilot Chat estará disponible en diciembre de 2023 para los clientes con suscripciones a GitHub Copilot individuales o para toda la organización. Figura A GitHub Copilot Chat explica el código en lenguaje natural. Imagen: GitHub GitHub Copilot Enterprise, personalizado para uso empresarial, llegará en febrero de 2024 a un precio de 39 dólares por usuario al mes. Compare esto con Copilot Business, que cuesta $19 por mes y ya está disponible. Funciones adicionales de IA agregadas a GitHub Advanced Security Cobertura de lectura obligada para desarrolladores Tres funciones más impulsadas por IA llegarán a GitHubAdvanced Security: corrección automática de escaneo de código, escaneo de secretos en busca de secretos genéricos y un generador de expresiones regulares. VER: GitHub no es la única plataforma de colaboración y control de versiones. Consulte las alternativas de GitHub que están floreciendo en 2023. (TechRepublic) “Los desarrolladores necesitan la capacidad de proteger de forma proactiva su código justo donde se crea”, afirmó la vicepresidenta de gestión de productos de GitHub, Asha Chakrabarty, y directora de marketing de productos del laboratorio de seguridad y seguridad de la plataforma de GitHub. Laura Paine, escribió en una publicación de blog. Corrección automática del escaneo de código El escaneo de código ahora propondrá correcciones generadas por IA directamente en la solicitud de extracción, lo que permitirá a los desarrolladores corregir instantáneamente las vulnerabilidades mientras codifican; esto conducirá a un tiempo de remediación más rápido. Se pueden crear correcciones generadas por IA para alertas de CodeQL, JavaScript y TypeScript. Esto funciona cuando GitHub consulta un modelo de lenguaje grande en segundo plano para encontrar correcciones para cualquier alerta nueva, que luego se publica como sugerencias de código dentro de la solicitud de extracción. Autofix ahora está disponible para escanear códigos dentro de GitHub Advanced Security. Escaneo secreto El escaneo secreto con IA generativa, que ahora se encuentra en versión beta pública limitada, está diseñado para reducir los falsos positivos que a menudo surgen al buscar contraseñas posiblemente activas filtradas (Figura B). Figura B El escaneo secreto alerta a los usuarios sobre una contraseña que puede haber sido expuesta. Imagen: GitHub Generador de expresiones regulares El generador de expresiones regulares mejora las opciones de los desarrolladores cuando se trata de escaneo secreto, permitiéndoles crear patrones personalizados con expresiones regulares creadas con algunas consultas en lenguaje natural enviadas a la IA generativa. Está diseñado para agilizar la escritura de expresiones regulares y permite a los desarrolladores realizar ensayos en tiempo real para asegurarse de que todo funcione antes de guardar el patrón. La generación de expresiones regulares ya está disponible. Más características nuevas en GitHub Advanced Security Otras características nuevas de GitHub Advanced Security incluyen la creación de patrones personalizados con IA generativa y un nuevo panel de descripción general de seguridad. El personal de seguridad interesado puede unirse a una lista de espera para estas funciones.
En la campaña activa Elektra-Leak, los atacantes buscan credenciales de Amazon IAM dentro de los repositorios públicos de GitHub antes de usarlas para la criptominería. Obtenga consejos para mitigar esta amenaza a la ciberseguridad. Imagen: WhataWin Una nueva investigación de la Unidad 42 de Palo Alto Networks expone una campaña de ataque activo en la que un actor de amenazas busca credenciales de Amazon IAM en tiempo real en repositorios de GitHub y comienza a usarlas menos de cinco minutos después. La carga útil final ejecuta software de criptominería Monero personalizado en máquinas virtuales implementadas en las instancias de Amazon. Saltar a: Credenciales de IAM expuestas en GitHub GitHub ofrece a sus usuarios muchas funciones para manejar su código dentro de la plataforma. Una de estas características consiste en proporcionar una lista de todos los repositorios públicos a cualquier usuario que la solicite, lo que ayuda a los desarrolladores a rastrear fácilmente varios desarrollos que les interesan. El seguimiento se realiza en tiempo real y permite que cualquiera, incluidos los actores de amenazas, vea nuevos repositorios. tan pronto como sean enviados a GitHub. VER: Las 8 mejores soluciones de gestión de identidad y acceso (IAM) para 2023 (TechRepublic) Los investigadores de la Unidad 42 de Palo Alto Networks informan que es posible encontrar credenciales de gestión de identidad y acceso de Amazon Web Services dentro de los repositorios públicos de GitHub y que estas credenciales se buscan activamente por los ciberdelincuentes. Para analizar el riesgo en mayor profundidad, los investigadores decidieron almacenar las credenciales de IAM en GitHub y verificar toda la actividad a su alrededor. Esa prueba de honeypot reveló que las claves de AWS filtradas que estaban codificadas en base64 y almacenadas en GitHub no fueron encontradas ni utilizadas por los actores de amenazas, que solo obtuvieron claves de AWS de texto sin cifrar ocultas detrás de una confirmación anterior en un archivo aleatorio. El honeypot permitió a los investigadores William Gamazo y Nathaniel Quist detectar una campaña de ataque particular que comenzó cinco minutos después de que se colocaron las credenciales en GitHub. Detalles técnicos sobre esta campaña de ataque La campaña, denominada EleKtra-Leak por los investigadores en referencia a la ninfa de la nube griega Electra y el uso de Lek como los primeros 3 caracteres en las contraseñas utilizadas por el actor de amenazas, ha estado activa desde al menos diciembre. 2020, según la Unidad 42. Una vez que se encuentran las credenciales de IAM, el atacante realiza una serie de acciones de reconocimiento para saber más sobre la cuenta de AWS a la que se accede (Figura A). Figura A Acciones de reconocimiento ejecutadas por el actor de amenazas en la cuenta de AWS. Imagen: Palo Alto Networks Una vez realizadas esas acciones, el actor de amenazas crea nuevos grupos de seguridad de AWS antes de lanzar varias instancias de Amazon Elastic Compute Cloud por región en cualquier región de AWS accesible. Gamazo y Quist pudieron observar más de 400 llamadas API en siete minutos, todas realizadas a través de una conexión VPN, lo que demuestra que el actor ha automatizado el ataque contra esos entornos de cuentas de AWS. Cobertura de seguridad de lectura obligada El actor de amenazas apuntó a máquinas virtuales en la nube de gran formato para realizar sus operaciones, ya que tienen mayor poder de procesamiento, que es lo que buscan los atacantes cuando ejecutan operaciones de criptominería. El actor de amenazas también eligió imágenes privadas para Amazon Machine Images; algunas de esas imágenes eran distribuciones antiguas de Linux Ubuntu, lo que llevó a los investigadores a creer que la operación se remonta al menos a 2020. El actor de amenazas también pareció bloquear cuentas de AWS que habitualmente exponen credenciales de IAM, ya que este tipo de comportamiento podría originarse en investigadores de amenazas o sistemas de honeypot. El objetivo de esta campaña de ataque: Criptominería. Una vez que se realiza todo el reconocimiento y se inician las máquinas virtuales, se entrega una carga útil, que se descarga desde Google Drive. La carga útil, cifrada en el almacenamiento de Google, se descifra al descargarla. La Unidad 42 afirma que la carga útil es una conocida herramienta de criptominería aparentemente utilizada en 2021 y reportada por Intezer, una empresa especializada en plataformas autónomas de sistemas operativos de seguridad. En la campaña de ataque reportada, Intezer indicó que un actor de amenazas había accedido a instancias de Docker expuestas en Internet para instalar software de criptominería para extraer la criptomoneda Monero. Ese software de criptominería personalizado es el mismo que se utiliza en la nueva campaña expuesta por Palo Alto Networks. El software está configurado para utilizar el grupo de minería SupportXMR. Los grupos de minería permiten que varias personas agreguen su tiempo de computación al mismo espacio de trabajo, lo que aumenta sus posibilidades de ganar más criptomonedas. Como afirmó Palo Alto Networks, el servicio SupportXMR solo proporciona estadísticas por tiempo limitado, por lo que los investigadores obtuvieron las estadísticas de minería durante varias semanas, ya que se usó la misma billetera para las operaciones de minería de AWS (Figura B). Figura B Estadísticas de SupportXMR asociadas con la billetera del actor de la amenaza. Imagen: Palo Alto Networks Entre el 30 de agosto de 2023 y el 6 de octubre de 2023, aparecieron un total de 474 mineros únicos, siendo cada uno de ellos una instancia única de Amazon EC2. Aún no es posible obtener una estimación de la ganancia financiera generada por el actor de la amenaza, ya que Monero incluye controles de privacidad que limitan el seguimiento de este tipo de datos. Medidas automatizadas de GitHub para detectar secretos GitHub escanea automáticamente en busca de secretos en los archivos almacenados en la plataforma y notifica a los proveedores de servicios sobre secretos filtrados en GitHub. Durante su investigación, Gamazo y Quist notaron los secretos que estaban almacenando intencionalmente en GitHub, ya que GitHub detectó con éxito los datos del honeypot para su investigación y los informó a Amazon, quien a su vez aplicó automáticamente en cuestión de minutos una política de cuarentena que evita que los atacantes realicen operaciones como como acceder a AWS IAM, EC2, S3, Lambda y Lightsail. Durante el proceso de investigación, la Unidad 42 dejó la política de cuarentena vigente y estudió pasivamente las pruebas de las cuentas realizadas por los atacantes; luego, se abandonó la política para estudiar toda la cadena de ataque. Los investigadores escriben que «creen que el actor de la amenaza podría encontrar claves de AWS expuestas que no se detectan automáticamente» y que, según su evidencia, los atacantes probablemente lo hicieron, ya que podían ejecutar el ataque sin ninguna política que interfiriera. También afirman que “incluso cuando GitHub y AWS están coordinados para implementar un cierto nivel de protección cuando se filtran claves de AWS, no todos los casos están cubiertos” y que otras víctimas potenciales de este actor de amenazas podrían haber sido atacadas de una manera diferente. Cómo mitigar este riesgo de ciberseguridad Las credenciales de IAM nunca deben almacenarse en GitHub ni en ningún otro servicio o almacenamiento en línea. Las credenciales de IAM expuestas deben eliminarse de los repositorios y se deben generar nuevas credenciales de IAM para reemplazar las filtradas. Las empresas deben utilizar credenciales de corta duración para realizar cualquier funcionalidad dinámica dentro de un entorno de producción. Los equipos de seguridad deben monitorear los repositorios de GitHub utilizados por sus organizaciones. Se debe auditar los eventos de clonación que ocurren en esos repositorios porque es necesario que los actores de amenazas clonen primero los repositorios para ver su contenido. Esa característica está disponible para todas las cuentas de GitHub Enterprise. También se debe realizar constantemente un escaneo personalizado y dedicado en busca de secretos en los repositorios. Herramientas como Trufflehog podrían ayudar en esa tarea. Si no es necesario compartir los repositorios de la organización públicamente, los repositorios privados de GitHub deben ser utilizados y solo el personal de la organización debe acceder a ellos. El acceso a los repositorios privados de GitHub debe protegerse mediante autenticación multifactor para evitar que un atacante acceda a ellos con credenciales de inicio de sesión filtradas. Divulgación: trabajo para Trend Micro, pero las opiniones expresadas en este artículo son mías.