{"id":24183,"date":"2023-10-31T16:54:53","date_gmt":"2023-10-31T15:54:53","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=24183"},"modified":"2024-01-10T14:46:46","modified_gmt":"2024-01-10T13:46:46","slug":"seguridad-y-auditorias-en-smart-contracts","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/","title":{"rendered":"Seguridad y auditor\u00edas en smart contracts"},"content":{"rendered":"\n<p>Los smart contracts (contratos inteligentes) son programas que se ejecutan en una plataforma blockchain cuando se cumplen ciertas condiciones definidas en los contratos. Estos contratos se han vuelto fundamentales en los ecosistemas de las criptomonedas y proyectos blockchain, ya que permiten automatizar y garantizar la ejecuci\u00f3n de acuerdos sin la necesidad de intermediarios.<\/p>\n\n\n\n<p>El presente art\u00edculo tiene como objetivo analizar la seguridad de estos contratos desde el punto de vista del desarrollador, analizando las principales vulnerabilidades que se pueden producir en estas aplicaciones. Un error o una vulnerabilidad en un contrato inteligente puede resultar en la p\u00e9rdida de activos digitales, violaci\u00f3n de la privacidad o incluso la manipulaci\u00f3n de un sistema descentralizado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-introduccion-al-owasp-smart-contract-top-10\">Introducci\u00f3n al OWASP Smart Contract Top 10<\/h2>\n\n\n\n<p>El proyecto <strong>OWASP Smart Contract Top 10 [1]<\/strong> tiene como objetivo ofrecer a los desarrolladores y a los equipos de seguridad informaci\u00f3n sobre las 10 principales vulnerabilidades encontradas en los contratos inteligentes que se pueden resumir en los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reentrancy Attacks (Ataques de reentrada): <\/strong>Vulnerabilidad que se produce cuando un atacante puede llamar repetidamente a una funci\u00f3n dentro de un contrato inteligente, aprovechando el hecho de que el estado del contrato no se ha actualizado como se esperaba.<\/li>\n\n\n\n<li><strong>Integer Overflow and Underflow (Desbordamiento de enteros<\/strong>). Esta vulnerabilidad se produce cuando las operaciones aritm\u00e9ticas exceden el tama\u00f1o m\u00e1ximo o m\u00ednimo que una variable de tipo entero puede contener, lo que hace que el valor se ajuste al extremo opuesto<\/li>\n\n\n\n<li><strong>Timestamp Dependence (Dependencia del timestamp).<\/strong> Un contrato podr\u00eda ser vulnerable si el comportamiento del mismo depende de la marca de tiempo del bloque en el que est\u00e1 incluido. Esto se debe a que los mineros tienen cierto grado de control sobre la marca de tiempo del bloque.<\/li>\n\n\n\n<li><strong>Access Control Vulnerabilities (Vulnerabilidades de control de acceso). <\/strong>La falta de controles de acceso adecuados puede permitir a cualquiera realizar operaciones cr\u00edticas, como transferencias de activos, sin necesidad de la autenticaci\u00f3n y autorizaci\u00f3n adecuadas.<\/li>\n\n\n\n<li><strong>Front running.<\/strong> Es una vulnerabilidad donde un atacante puede observar una transacci\u00f3n pendiente y luego su propia transacci\u00f3n con una tarifa de gas m\u00e1s alta, incentivando a los mineros a incluirla primero en la cadena de bloques. Esto es posible en redes p\u00fablicas de blockchain como <strong>Ethereum [2, 3]<\/strong>, donde los datos de las transacciones son accesibles p\u00fablicamente antes de ser extra\u00eddos.<\/li>\n\n\n\n<li><strong>Denial of Service (DoS) Attacks.(Ataques de Denegaci\u00f3n de Servicio). <\/strong>Los ataques DoS tienen como objetivo hacer que un contrato no est\u00e9 disponible para ser ejecutado dentro de la cadena de bloques. En los contratos inteligentes, en el caso de redes como <strong>Ethereum [2, 3] <\/strong>esto podr\u00eda lograrse consumiendo todo el gas disponible o provocando que las transacciones fallen de forma ilimitada.<\/li>\n\n\n\n<li><strong>Logic Errors (Errores de l\u00f3gica). <\/strong>Son un tipo de error en la programaci\u00f3n de software que no producen error o excepciones en tiempo de ejecuci\u00f3n, pero que podr\u00edan hacer que el contrato se comporte de forma incorrecta. Estos errores, a menudo son dif\u00edciles de detectar porque el c\u00f3digo se ejecuta, pero no produce los resultados esperados debido a un error en la l\u00f3gica de programaci\u00f3n.<\/li>\n\n\n\n<li><strong>Insecure Randomness<\/strong>. Se refiere a una vulnerabilidad en la que la generaci\u00f3n de n\u00fameros aleatorios en un sistema o aplicaci\u00f3n no es lo suficientemente segura o impredecible. Esto puede ser especialmente problem\u00e1tico en el contexto de la criptograf\u00eda y la seguridad de aplicaciones, ya que una aleatoriedad insuficiente puede hacer que los datos y claves sean predecibles y, por lo tanto, vulnerables a ataques.<\/li>\n\n\n\n<li><strong>Gas Limit Vulnerabilities (Vulnerabilidades de l\u00edmite de gas).<\/strong> En el caso de la blockchain de <strong>Ethereum [3]&nbsp; <\/strong>cada bloque tiene definido un l\u00edmite de gas, lo que restringe la cantidad de operaciones que puede incluir ese bloque. Si una funci\u00f3n dentro de un contrato requiere m\u00e1s gas que este l\u00edmite, podr\u00eda congelar los fondos de ese contrato.<\/li>\n\n\n\n<li><strong>Unchecked External Calls. <\/strong>En <strong>Ethereum [2]<\/strong>, cuando un contrato llama a otro contrato, el contrato llamado puede fallar sin generar una excepci\u00f3n. Si el contrato de llamada no verifica el resultado de la llamada, podr\u00eda asumir que la llamada fue exitosa, incluso si no lo fue.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-papel-del-desarrollador-en-los-smart-contracts\">El papel del desarrollador en los smart contracts<\/h2>\n\n\n\n<p>Como hemos comentado, los errores en la l\u00f3gica de programaci\u00f3n son un tipo de error en la programaci\u00f3n de software que no producen fallos o excepciones en tiempo de ejecuci\u00f3n, pero que causan un comportamiento incorrecto o no deseado en la aplicaci\u00f3n. Estos errores son dif\u00edciles de detectar porque el c\u00f3digo se ejecuta sin problemas, pero no produce los resultados esperados debido a errores en la l\u00f3gica de programaci\u00f3n. A continuaci\u00f3n, comentamos algunos ejemplo de errores de l\u00f3gica:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Errores de l\u00f3gica de negocio:<\/strong> No reflejar correctamente las reglas de negocio en el c\u00f3digo, puede llevar a comportamientos incoherentes o incorrectos en una aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Orden de operaciones incorrecto:<\/strong> Cuando se realizan c\u00e1lculos o acciones en un orden incorrecto, lo que lleva a resultados incorrectos. Por ejemplo, realizar una suma antes de una multiplicaci\u00f3n cuando la l\u00f3gica requer\u00eda lo contrario.<\/li>\n\n\n\n<li><strong>Condicionales incorrectos<\/strong>: Usar una condici\u00f3n incorrecta en una estructura condicional (como un if o un switch) que no refleja la intenci\u00f3n del programa. Esto puede llevar a que se tomen decisiones incorrectas.<\/li>\n\n\n\n<li><strong>Bucles infinitos<\/strong>: Crear bucles que no terminan cuando deber\u00edan o que terminan antes de lo debido debido a una condici\u00f3n incorrecta.<\/li>\n\n\n\n<li><strong>Asignaci\u00f3n de variables incorrectas<\/strong>: Asignar un valor incorrecto a una variable, lo que puede afectar el funcionamiento de otras partes del c\u00f3digo.<\/li>\n\n\n\n<li><strong>Errores de c\u00e1lculo:<\/strong> Realizar c\u00e1lculos incorrectos, como errores en las f\u00f3rmulas matem\u00e1ticas o l\u00f3gicas utilizadas en la aplicaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p>La mayor\u00eda de estos errores son especialmente dif\u00edciles de depurar porque el c\u00f3digo no devuelve excepciones ni errores, sin embargo la aplicaci\u00f3n se ejecuta sin problemas en t\u00e9rminos de funcionamiento. Para encontrar y corregir estos errores, normalmente se requiere una comprensi\u00f3n profunda del dise\u00f1o y la l\u00f3gica de la aplicaci\u00f3n, as\u00ed como realizar pruebas exhaustivas y de revisi\u00f3n de c\u00f3digo por parte de desarrolladores y equipos de calidad.<\/p>\n\n\n\n<p>Las t\u00e9cnicas de depuraci\u00f3n, el an\u00e1lisis de flujo del programa y la revisi\u00f3n de c\u00f3digo son herramientas \u00fatiles para detectar y solucionar errores en la l\u00f3gica del programa. Adem\u00e1s, la adopci\u00f3n de buenas pr\u00e1cticas de dise\u00f1o de c\u00f3digo pueden ayudar a prevenir la aparici\u00f3n de estos errores.<\/p>\n\n\n\n<p>De esta forma, el papel del desarrollador en la creaci\u00f3n y gesti\u00f3n de smart contracts es fundamental para garantizar que estos contratos inteligentes sean seguros, funcionales y cumplan con los requisitos del proyecto. Aqu\u00ed tienes un resumen de las responsabilidades y tareas del desarrollador en relaci\u00f3n con los smart contracts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dise\u00f1o y planificaci\u00f3n:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Identificaci\u00f3n de los requisitos del contrato inteligente, incluyendo sus funciones, par\u00e1metros y reglas de negocio.<\/li>\n\n\n\n<li>Dise\u00f1o de la arquitectura y la estructura del contrato inteligente.<\/li>\n\n\n\n<li>Planificaci\u00f3n de las interacciones con otros contratos y componentes del ecosistema blockchain.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Desarrollo y codificaci\u00f3n:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Escritura del c\u00f3digo del contrato inteligente en un lenguaje de programaci\u00f3n compatible con la plataforma blockchain (por ejemplo, Solidity en Ethereum).<\/li>\n\n\n\n<li>Implementaci\u00f3n de las funciones y l\u00f3gica del contrato, incluyendo la gesti\u00f3n de datos y la interacci\u00f3n con otros contratos o activos.<\/li>\n\n\n\n<li>Uso de buenas pr\u00e1cticas de programaci\u00f3n y patrones de dise\u00f1o para garantizar la seguridad y eficiencia del contrato.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Auditor\u00edas de seguridad:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Identificaci\u00f3n y mitigaci\u00f3n de vulnerabilidades de seguridad como las mencionadas en el <strong>OWASP Smart Contract Top 10 [1].<\/strong><\/li>\n\n\n\n<li>Realizaci\u00f3n de auditor\u00edas de seguridad o revisiones de c\u00f3digo por parte de expertos en seguridad.<\/li>\n\n\n\n<li>Implementaci\u00f3n de patrones de seguridad recomendados, como el uso de la librer\u00eda <strong>OpenZeppelin [4,5].<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Pruebas unitarias y de integraci\u00f3n:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Creaci\u00f3n y ejecuci\u00f3n de pruebas unitarias y pruebas de integraci\u00f3n para verificar el comportamiento y la funcionalidad del contrato inteligente.<\/li>\n\n\n\n<li>Pruebas exhaustivas para simular escenarios de uso real y comprobar el cumplimiento de los requisitos.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Despliegue y gesti\u00f3n:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Despliegue del contrato inteligente en la blockchain de destino.<\/li>\n\n\n\n<li>Gesti\u00f3n de las direcciones de contrato y las actualizaciones si es necesario.<\/li>\n\n\n\n<li>Establecimiento de pol\u00edticas de actualizaci\u00f3n y gobernanza, si corresponde.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Documentaci\u00f3n<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Creaci\u00f3n de documentaci\u00f3n t\u00e9cnica y de usuario para el contrato inteligente.<\/li>\n\n\n\n<li>Descripci\u00f3n de las funciones, par\u00e1metros, eventos y pol\u00edticas de uso.<\/li>\n\n\n\n<li>Documentaci\u00f3n de los procedimientos de actualizaci\u00f3n y mantenimiento.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>En resumen,el papel del desarrollador en los smart contracts requiere una comprensi\u00f3n profunda de la plataforma blockchain, as\u00ed como habilidades de programaci\u00f3n, seguridad y buenas pr\u00e1cticas de desarrollo. La seguridad es particularmente cr\u00edtica en la creaci\u00f3n de smart contracts, ya que cualquier vulnerabilidad podr\u00eda resultar en la p\u00e9rdida de activos o datos, por lo que la auditor\u00eda y la revisi\u00f3n de c\u00f3digo por parte de expertos en seguridad son pasos importantes en el proceso de desarrollo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-papel-de-la-auditorias-de-seguridad\">El papel de la auditor\u00edas de seguridad<\/h2>\n\n\n\n<p>La auditor\u00eda y la seguridad de los contratos inteligentes son esenciales para mitigar riesgos y proteger los activos y datos de los usuarios.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Auditor\u00eda de c\u00f3digo<\/strong>: La auditor\u00eda de c\u00f3digo implica una revisi\u00f3n exhaustiva del contrato inteligente para identificar posibles vulnerabilidades, errores y riesgos de seguridad. Los auditores buscan vulnerabilidades como las comentadas anteriormente.<\/li>\n\n\n\n<li><strong>Pruebas en diferentes entornos<\/strong>: Adem\u00e1s de la auditor\u00eda de c\u00f3digo, es importante realizar pruebas en diferentes entornos para verificar el comportamiento del contrato. Esto incluye pruebas de unidad, pruebas de integraci\u00f3n y pruebas de estr\u00e9s.<\/li>\n\n\n\n<li><strong>Buenas pr\u00e1cticas de desarrollo<\/strong>: Seguir buenas pr\u00e1cticas de desarrollo, como el principio de menor autoridad (least authority principle),principio de menor privilegio (least privilege principle) y la reducci\u00f3n de la superficie de ataque, son esenciales para reducir la exposici\u00f3n a vulnerabilidades.<\/li>\n\n\n\n<li><strong>Actualizaciones y mantenimiento:<\/strong> Los contratos inteligentes deben ser actualizados y mantenidos a medida que cambian los requisitos y las necesidades de seguridad. Las actualizaciones deben ser compatibles con versiones anteriores y contar con mecanismos de actualizaci\u00f3n seguros.<\/li>\n\n\n\n<li><strong>Transparencia y revisi\u00f3n en comunidad:<\/strong> La comunidad en torno a los proyectos de blockchain suele realizar revisiones p\u00fablicas de contratos inteligentes para garantizar la transparencia y la seguridad. La revisi\u00f3n por parte de la comunidad puede ayudar a identificar problemas antes de que se conviertan en amenazas.<\/li>\n<\/ul>\n\n\n\n<p>Si quieres saber m\u00e1s sobre blockchain y ciberseguridad, el siguiente libro<a aria-label=\" (opens in a new tab)\" href=\"https:\/\/rclibros.es\/producto\/blockchain-tecnologias-proyectos-y-ciberseguridad\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">[BLOCKCHAIN. Tecnolog\u00edas, proyectos y ciberseguridad]<\/a> escrito por el autor te da una visi\u00f3n global de en qu\u00e9 consiste blockchain, las tecnolog\u00edas que hay por detr\u00e1s y recomendaciones de seguridad cuando trabajamos en este tipo de proyectos.<\/p>\n\n\n\n<script src=\"https:\/\/codemotion.activehosted.com\/f\/embed.php?id=44\" type=\"text\/javascript\" charset=\"utf-8\"><\/script>\n\n\n\n<p><strong>Referencias:<\/strong><\/p>\n\n\n\n<p>[1]  <a href=\"https:\/\/owasp.org\/www-project-smart-contract-top-10\/\" class=\"ek-link\">OWASP Smart Contract Top 10<\/a><\/p>\n\n\n\n<p>[2] <a href=\"https:\/\/ethereum.org\/es\/\" class=\"ek-link\">Ethereum<\/a><\/p>\n\n\n\n<p>[3] <a href=\"https:\/\/ethereum.org\/es\/developers\/docs\/gas\/#what-is-gas\" target=\"_blank\" aria-label=\"Gas y tarifas Ethreum (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Gas y tarifas Ethreum<\/a><\/p>\n\n\n\n<p>[4]  <a href=\"https:\/\/www.openzeppelin.com\/contracts\" class=\"ek-link\">OpenZeppelin Contracts<\/a><\/p>\n\n\n\n<p>[5] <a href=\"https:\/\/github.com\/OpenZeppelin\/openzeppelin-contracts\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">OpenZeppelin Contracts Github<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<pre class=\"wp-block-preformatted\"><strong>\u00danete a nuestra comunidad<\/strong><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00bfTe gustar\u00eda trabajar en desarollo web? En nuestra plataforma de Talent puedes encontrar la forma de llevar tu carrera al siguiente nivel. Entra en nuestra web y encuentra tu trabajo ideal.&nbsp;<a href=\"https:\/\/www.codemotion.com\/talent\/jobs\/\">\u00c9chale un vistazo.<\/a><\/pre>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">Ser parte de la comunidad de Codemotion te permitir\u00e1 potenciar tu experiencia y enfrentar nuevos desaf\u00edos que impulsar\u00e1n tu carrera. Aprender\u00e1s nuevas habilidades t\u00e9cnicas y crecer\u00e1s junto a otros miembros mediante el intercambio de opiniones y la creaci\u00f3n conjunta. Tenemos dos comunidades para ti seg\u00fan tu experiencia:<\/pre>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">Si eres&nbsp;<em>wanna-be-dev<\/em>,&nbsp;<em>&nbsp;junior-dev&nbsp;<\/em>o<em>&nbsp;early-mid-dev<\/em>&nbsp;nuestra comunidad de&nbsp;<strong>Discord&nbsp;<\/strong>es para ti. All\u00ed encontrar\u00e1s recursos, eventos, formaci\u00f3n, muchos compa\u00f1eros de viaje y beneficios exclusivos.&nbsp;<a href=\"https:\/\/community-es.codemotion.it\/comunidad\">S\u00famate aqu\u00ed.<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Si eres&nbsp;<em>late-mid-dev, senior-dev, Tech Lead o CTO<\/em>&nbsp;nuestra comunidad de&nbsp;<strong>Telegram&nbsp;<\/strong>es para ti. All\u00ed encontrar\u00e1s el mejor networking, art\u00edculos high-tech, debates de tendencias tech y beneficios exclusivos.&nbsp;<a href=\"https:\/\/t.me\/+blEFka3EDodjMTFk\">S\u00famate aqu\u00ed.<\/a><\/pre>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00a1Nos vemos en Codemotion!<\/pre>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Los smart contracts (contratos inteligentes) son programas que se ejecutan en una plataforma blockchain cuando se cumplen ciertas condiciones definidas en los contratos. Estos contratos se han vuelto fundamentales en los ecosistemas de las criptomonedas y proyectos blockchain, ya que permiten automatizar y garantizar la ejecuci\u00f3n de acuerdos sin la necesidad de intermediarios. El presente&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/\">Read more<\/a><\/p>\n","protected":false},"author":199,"featured_media":25295,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10612],"tags":[11399],"collections":[],"class_list":{"0":"post-24183","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blockchain-es","8":"tag-blockchain-es","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Seguridad y auditor\u00edas en smart contracts<\/title>\n<meta name=\"description\" content=\"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Seguridad y auditor\u00edas en smart contracts\" \/>\n<meta property=\"og:description\" content=\"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-31T15:54:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-10T13:46:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jose Manuel Ortega\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jmortegac\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Manuel Ortega\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/\"},\"author\":{\"name\":\"Jose Manuel Ortega\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/6b4195d4196bc3d3e8a56c1215470b6d\"},\"headline\":\"Seguridad y auditor\u00edas en smart contracts\",\"datePublished\":\"2023-10-31T15:54:53+00:00\",\"dateModified\":\"2024-01-10T13:46:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/\"},\"wordCount\":1866,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/20945479-1-scaled.jpg\",\"keywords\":[\"Blockchain\"],\"articleSection\":[\"blockchain\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/\",\"name\":\"Seguridad y auditor\u00edas en smart contracts\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/20945479-1-scaled.jpg\",\"datePublished\":\"2023-10-31T15:54:53+00:00\",\"dateModified\":\"2024-01-10T13:46:46+00:00\",\"description\":\"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/20945479-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/20945479-1-scaled.jpg\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/seguridad-y-auditorias-en-smart-contracts\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"blockchain\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/blockchain-es\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Seguridad y auditor\u00edas en smart contracts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/6b4195d4196bc3d3e8a56c1215470b6d\",\"name\":\"Jose Manuel Ortega\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/python_jose_manuel_ortega-150x150.png\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/python_jose_manuel_ortega-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/python_jose_manuel_ortega-150x150.png\",\"caption\":\"Jose Manuel Ortega\"},\"description\":\"Jos\u00e9 Manuel Ortega is a software engineer and cybersecurity researcher with interest in new technologies, open source, security and testing. In recent years he has shown interest in innovation projects using Big Data technologies using programming languages such as Python. He is currently working as a software engineer in research projects related to Big Data, Cybersecurity and Blockchain. He has taught at university level and collaborated with the official college of computer engineers. He has also been a speaker at several conferences oriented to developers at national and international level. More information about his lectures and other published works can be found on his personal website https:\\\/\\\/josemanuelortegablog.com.\",\"sameAs\":[\"http:\\\/\\\/josemanuelortegablog.com\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jmortega1\\\/\",\"https:\\\/\\\/x.com\\\/jmortegac\",\"https:\\\/\\\/www.youtube.com\\\/@JoseManuelOrtegadev\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/josemanuel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Seguridad y auditor\u00edas en smart contracts","description":"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/","og_locale":"en_US","og_type":"article","og_title":"Seguridad y auditor\u00edas en smart contracts","og_description":"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-10-31T15:54:53+00:00","article_modified_time":"2024-01-10T13:46:46+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg","type":"image\/jpeg"}],"author":"Jose Manuel Ortega","twitter_card":"summary_large_image","twitter_creator":"@jmortegac","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Jose Manuel Ortega","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/"},"author":{"name":"Jose Manuel Ortega","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6b4195d4196bc3d3e8a56c1215470b6d"},"headline":"Seguridad y auditor\u00edas en smart contracts","datePublished":"2023-10-31T15:54:53+00:00","dateModified":"2024-01-10T13:46:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/"},"wordCount":1866,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg","keywords":["Blockchain"],"articleSection":["blockchain"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/","name":"Seguridad y auditor\u00edas en smart contracts","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg","datePublished":"2023-10-31T15:54:53+00:00","dateModified":"2024-01-10T13:46:46+00:00","description":"Los smart contracts son fundamentales en blockchain y criptomonedas, pero su seguridad es cr\u00edtica. Exploramos sus vulnerabilidades.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/seguridad-y-auditorias-en-smart-contracts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/"},{"@type":"ListItem","position":3,"name":"blockchain","item":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/blockchain-es\/"},{"@type":"ListItem","position":4,"name":"Seguridad y auditor\u00edas en smart contracts"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6b4195d4196bc3d3e8a56c1215470b6d","name":"Jose Manuel Ortega","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/python_jose_manuel_ortega-150x150.png","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/python_jose_manuel_ortega-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/python_jose_manuel_ortega-150x150.png","caption":"Jose Manuel Ortega"},"description":"Jos\u00e9 Manuel Ortega is a software engineer and cybersecurity researcher with interest in new technologies, open source, security and testing. In recent years he has shown interest in innovation projects using Big Data technologies using programming languages such as Python. He is currently working as a software engineer in research projects related to Big Data, Cybersecurity and Blockchain. He has taught at university level and collaborated with the official college of computer engineers. He has also been a speaker at several conferences oriented to developers at national and international level. More information about his lectures and other published works can be found on his personal website https:\/\/josemanuelortegablog.com.","sameAs":["http:\/\/josemanuelortegablog.com","https:\/\/www.linkedin.com\/in\/jmortega1\/","https:\/\/x.com\/jmortegac","https:\/\/www.youtube.com\/@JoseManuelOrtegadev"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/josemanuel\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-600x600.jpg","author_info":{"display_name":"Jose Manuel Ortega","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/josemanuel\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-scaled.jpg",2560,1707,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-768x512.jpg",768,512,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-1024x683.jpg",1024,683,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-1536x1024.jpg",1536,1024,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-2048x1365.jpg",2048,1365,true],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-100x100.jpg",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/20945479-1-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Jose Manuel Ortega","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/josemanuel\/"},"uagb_comment_info":0,"uagb_excerpt":"Los smart contracts (contratos inteligentes) son programas que se ejecutan en una plataforma blockchain cuando se cumplen ciertas condiciones definidas en los contratos. Estos contratos se han vuelto fundamentales en los ecosistemas de las criptomonedas y proyectos blockchain, ya que permiten automatizar y garantizar la ejecuci\u00f3n de acuerdos sin la necesidad de intermediarios. El presente&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=24183"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24183\/revisions"}],"predecessor-version":[{"id":25290,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24183\/revisions\/25290"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/25295"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=24183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=24183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=24183"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=24183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}