{"id":98796,"date":"2024-11-14T12:00:00","date_gmt":"2024-11-14T12:00:00","guid":{"rendered":"https:\/\/staging.checkmarx.com\/?p=98796"},"modified":"2026-01-05T19:04:47","modified_gmt":"2026-01-05T17:04:47","slug":"free-hugs-what-to-be-wary-of-in-hugging-face-part-1","status":"publish","type":"zero-post","link":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/","title":{"rendered":"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0"},"content":{"rendered":"<h3 class=\"wp-block-heading\">Introduction&nbsp;<\/h3>\n\n\n\n<p>GenAI has taken the world by storm. To meet the needs for development of LLM\/GenAI technology through open-source, various vendors have risen to meet the need to spread this technology.&nbsp;<\/p>\n\n\n\n<p>One well-known platform is Hugging Face \u2013 an open-source platform that hosts GenAI models. It is not unlike GitHub in many ways \u2013 it\u2019s used for serving content (such as models, datasets and code), version control, issue tracking, discussions and more. It also allows running GenAI-driven apps in online sandboxes. It\u2019s very comprehensive and at this point a mature platform chock full of GenAI content, from text to media.&nbsp;<\/p>\n\n\n\n<p><strong>In this series of blog posts, we will explore the various potential risks present in the Hugging Face ecosystem.<\/strong>&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-7.png\" alt=\"\" class=\"wp-image-98805\" style=\"width:214px;height:auto\"><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Championing logo design Don\u2019ts (sorry not sorry opinions my own)<\/em>&nbsp;<\/p>\n\n\n\n<p><em>This is Part 1 of a four-part serie<\/em>s:  <em><a href=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-2\/\">Part 2<\/a> ; <a href=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-3\/\">Part 3<\/a> ; <a href=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-4\/\">Part 4<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading article-anchor\" id=\"article-anchor-1\">Hugging Face Toolbox and Its Risks&nbsp;<\/h2>\n\n\n\n<p>Beyond hosting models and associated code, Hugging Face is a also maintainer of multiple libraries for interfacing with all this goodness \u2013 libraries for uploading, downloading and executing models to the Hugging Face platform. From a security standpoint \u2013 this offers a HUGE attack surface to spread malicious content through. On that vast attack surface a lot has already been said and many things have been tested in the Hugging Face ecosystem, but many legacy vulnerabilities persist, and bad security practices still reign supreme in code and documentation;&nbsp; these can bring an organization to its knees (while being practiced by major vendors!) and known issues are shrugged off because \u201cthat\u2019s just the way it is\u201d &#8211; while new solutions suffer from their own set of problems..&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ReadMe.md? More Like \u201cTrustMe.md\u201d&nbsp;<\/h3>\n\n\n\n<p>The crux of all potentially dangerous behavior around marketplaces and repositories is <strong>trust<\/strong> &#8211; trusting the content\u2019s host, trusting the content\u2019s maintainer and trusting that no one is going to pwn either. This is also why environments that allow obscuring malicious code or ways to execute it are often more precarious for defenders.&nbsp;<\/p>\n\n\n\n<p>While downloading things from Hugging Face is trivial,&nbsp;actually <em>using<\/em> them is finnicky \u2013 in that there is no one global definitive way to do so and trying to do it any other way than the one recommended by the vendor will likely end in failure. Figuring out how to use a model always boils down to RTFM \u2013 the ReadMe.&nbsp;<\/p>\n\n\n\n<p>But can ReadMe files be trusted? Like all code, there are good and bad practices &#8211; even major vendors fall for that. For example, Apple actively uses dangerous flags when instructing users on loading their models:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"932\" height=\"182\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-4.png\" alt=\"\" class=\"wp-image-98802\" style=\"width:860px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-4.png 932w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-4-300x59.png 300w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-4-768x150.png 768w\" sizes=\"(max-width: 932px) 100vw, 932px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>trust_remote_code sounds like a very reasonable flag to set to True<\/em>&nbsp;<\/p>\n\n\n\n<p>There are <em>many<\/em> ways to dangerously introduce code into the process, simply because users are bound to trust what the ReadMe presents to them. They can load malicious code, load malicious models in a manner that is both dangerous and very obscure.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading article-anchor\" id=\"article-anchor-2\">Configuration-Based Code Execution Vectors&nbsp;<\/h2>\n\n\n\n<p>Let\u2019s start by examining the above configurations in its natural habitat.<\/p>\n\n\n\n<p>&nbsp;<a href=\"https:\/\/huggingface.co\/docs\/transformers\/index\" target=\"_blank\" rel=\"noreferrer noopener\">Transformers<\/a> is one of the many tools Hugging Face provides users with, and its purpose is to normalize the process of loading models, tokenizers and more with the likes of <a href=\"https:\/\/huggingface.co\/docs\/transformers\/model_doc\/auto\" target=\"_blank\" rel=\"noreferrer noopener\">AutoModel and AutoTokenizer<\/a>. It wraps around many of the aforementioned technologies and mostly does a good job only utilizing secure calls and flags.&nbsp;<\/p>\n\n\n\n<p><strong>However<\/strong> \u2013 all of that security goes out the window once code execution for custom models that load as Python code behind a flag, \u201ctrust_remote_code=True\u201d, which allows loading classes for models and tokenizers which require additional code and a custom implementation to run.&nbsp;<\/p>\n\n\n\n<p>While it sounds like a terrible practice that should be rarely used, this flag is commonly set to True. Apple was already mentioned, so here\u2019s a Microsoft example:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"457\" height=\"212\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image.png\" alt=\"\" class=\"wp-image-98798\" style=\"width:664px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image.png 457w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-300x139.png 300w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/figure>\n<\/div>\n\n\n<p><em>why wouldn&#8217;t you trust remote code from Microsoft? What are they going to do, force install Window 11 on y- uh oh it\u2019s installing Windows 11<\/em>&nbsp;<\/p>\n\n\n\n<p>Using these configurations with an unsecure model could lead to unfortunate results.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"362\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-6-1024x362.png\" alt=\"\" class=\"wp-image-98804\" style=\"width:772px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-6-1024x362.png 1024w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-6-300x106.png 300w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-6-768x272.png 768w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-6.png 1238w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Code loads dangerous config <\/em><em>\u00e0<\/em><em> config loads code module <\/em><em>\u00e0<\/em><em> code loads OS command<\/em>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code will attempt to load an AutoModel from a config with the trust_remote_code flag&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Config will then attempt to load a custom class model from \u201cexploit.SomeTokenizer\u201d which will import \u201cexploit\u201d first, and then look for \u201cSomeTokenizer\u201d in that module&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SomeTokenizer class doesn\u2019t exist but exploit.py has already been loaded, and executing malicious commands&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>This works for auto-models and auto-tokenizers, and in transformer pipelines:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"838\" height=\"81\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-3.png\" alt=\"\" class=\"wp-image-98801\" style=\"width:941px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-3.png 838w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-3-300x29.png 300w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-3-768x74.png 768w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>in this case the model is valid, but the tokenizer is evil. Even easier to hide behind!<\/em>&nbsp;<\/p>\n\n\n\n<p>Essentially this paves the way to malicious configurations \u2013 ones that seem secure but aren\u2019t. There are plenty of ways to hide a True flag looking like a False flag in plain sight:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>False is False&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>{False} is True \u2013 it\u2019s a dict&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cFalse\u201d is True \u2013 it\u2019s a str&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>False &lt; 1 \u2013 is True, just squeeze it to the side:&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"111\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-1-1024x111.png\" alt=\"\" class=\"wp-image-98799\" style=\"width:987px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-1-1024x111.png 1024w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-1-300x32.png 300w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-1-768x83.png 768w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-1.png 1268w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>This flag is set as trust_remote_code=False\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026.\u2026\u2026\u2026\u2026.n&#8217;t<\/em>&nbsp;<\/p>\n\n\n\n<p>While these are general parlor tricks to hide True statements that are absolutely <strong><em>not<\/em><\/strong> exclusive to any of the code we\u2019ve discussed &#8211; hiding a dangerous flag in plain sight is still rather simple. However, the terrible practice by&nbsp;major vendors to have this flag be popular and expected means such trickery might not even be required \u2013 it can just be set to True.&nbsp;<\/p>\n\n\n\n<p>Of course, this entire thing can be hosted on Hugging Face \u2013 models are uploaded to repos in profiles. Providing the name of the profile and repo will automatically download and unpack the model, only to load arbitrary code.&nbsp;<\/p>\n\n\n\n<p>import transformers&nbsp;<\/p>\n\n\n\n<p>yit = transformers.AutoTokenizer.from_pretrained(&#8220;dortucx\/unkindtokenizer&#8221;, trust_remote_code=True) \u202f&nbsp;&nbsp;<\/p>\n\n\n\n<p>print(yit)&nbsp;<\/p>\n\n\n\n<p><em>Go on, try it. You know you want to. What\u2019s the worst that can happen? Probably nothing. Right? Nothing whatsoever.<\/em>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading article-anchor\" id=\"article-anchor-3\">Dangerous Coding Practices in ReadMes&nbsp;<\/h2>\n\n\n\n<p>Copy-pasting from ReadMes isn\u2019t <em>just<\/em> dangerous because they contain configurations in their code, though \u2013 ReadMes contain actual code snippets (or whole scripts) to download and run models.&nbsp;<\/p>\n\n\n\n<p>We will discuss many examples of malicious model loading code in subsequent write-ups but to illustrate the point let\u2019s examine the huggingface_hub library, a Hugging Face client. The hub has various methods for loading models automatically from the online hub, such as \u201chuggingface_hub.from_pretrained_keras\u201d. Google uses it in some of its models:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"624\" height=\"71\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-5.png\" alt=\"\" class=\"wp-image-98803\" style=\"width:905px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-5.png 624w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-5-300x34.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>And if it\u2019s good enough for Google, it\u2019s good enough for everybody!<\/em>&nbsp;<\/p>\n\n\n\n<p>But this exact method also supports dangerous legacy protocols that can execute arbitrary code. For example, here\u2019s a model that is loaded using the exact same method using the huggingface_hub client and running a whoami command:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"972\" height=\"184\" src=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-2.png\" alt=\"\" class=\"wp-image-98800\" style=\"width:840px;height:auto\" srcset=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-2.png 972w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-2-300x57.png 300w, https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/image-2-768x145.png 768w\" sizes=\"(max-width: 972px) 100vw, 972px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>A TensorFlow model executing a &#8220;whoami&#8221; command, as one expects!<\/em>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading article-anchor\" id=\"article-anchor-4\">Conclusions&nbsp;<\/h2>\n\n\n\n<p>The Hugging Face ecosystem, like all marketplaces and open-source providers, suffers from issues of trust, and like many of its peers \u2013 has a variety of blindspots, weaknesses and practices the empower attackers to easily obscure malicious activity.&nbsp;<\/p>\n\n\n\n<p>There are plenty of things to be aware of \u2013 for example if you see the trust_remote_code flag being set to True \u2013 tread carefully. Validate the code referenced by the auto configuration.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Another always-true recommendation is to simply avoid untrusted vendors and models. A model configured incorrectly from a trusted model is only trustworthy until that vendor\u2019s account is compromised, but any model from any untrusted vendor is always highly suspect.&nbsp;<\/p>\n\n\n\n<p>As a broader but more thorough methodology, however, a user who wants to securely rely on Hugging Face as a provider should be aware of many things &#8211; hidden evals, unsafe model loading frameworks, hidden importers, fishy configuration and many, many more. &nbsp;It\u2019s why one should read the rest of these write-ups on the matter.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>On The Next Episode\u2026&nbsp;<\/strong><\/h3>\n\n\n\n<p>Now that we\u2019ve discussed the very basics of setting up a model &#8211; we\u2019ve got exploit deep-dives, we\u2019ve got scanner bypasses, and we\u2019ve also got more exploits. <a href=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-2\/\">Read Part 2 now!<\/a><\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Introduction&nbsp; GenAI has taken the world by storm. To meet the needs for development of LLM\/GenAI technology through open-source, various vendors have risen to meet the need to spread this technology.&nbsp; One well-known platform is Hugging Face \u2013 an open-source platform that hosts GenAI models. It is not unlike GitHub in many ways \u2013 it\u2019s [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":98797,"template":"","zero-category":[1067],"zero-tag":[1097],"class_list":["post-98796","zero-post","type-zero-post","status-publish","has-post-thumbnail","hentry","zero-category-blog","zero-tag-ai"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx<\/title>\n<meta name=\"description\" content=\"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx\" \/>\n<meta property=\"og:description\" content=\"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Checkmarx\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Checkmarx.Source.Code.Analysis\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T17:04:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1281\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@checkmarx\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/\",\"url\":\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/\",\"name\":\"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx\",\"isPartOf\":{\"@id\":\"https:\/\/checkmarx.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg\",\"datePublished\":\"2024-11-14T12:00:00+00:00\",\"dateModified\":\"2026-01-05T17:04:47+00:00\",\"description\":\"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage\",\"url\":\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg\",\"contentUrl\":\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg\",\"width\":2560,\"height\":1281},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/checkmarx.com\/#website\",\"url\":\"https:\/\/checkmarx.com\/\",\"name\":\"Checkmarx\",\"description\":\"The world runs on code. We secure it.\",\"publisher\":{\"@id\":\"https:\/\/checkmarx.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/checkmarx.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/checkmarx.com\/#organization\",\"name\":\"Checkmarx\",\"url\":\"https:\/\/checkmarx.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/checkmarx.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/02\/logo-dark.svg\",\"contentUrl\":\"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/02\/logo-dark.svg\",\"width\":1,\"height\":1,\"caption\":\"Checkmarx\"},\"image\":{\"@id\":\"https:\/\/checkmarx.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Checkmarx.Source.Code.Analysis\",\"https:\/\/x.com\/checkmarx\",\"https:\/\/www.youtube.com\/user\/CheckmarxResearchLab\",\"https:\/\/www.linkedin.com\/company\/checkmarx\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx","description":"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.","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:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/","og_locale":"en_US","og_type":"article","og_title":"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx","og_description":"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.","og_url":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/","og_site_name":"Checkmarx","article_publisher":"https:\/\/www.facebook.com\/Checkmarx.Source.Code.Analysis","article_modified_time":"2026-01-05T17:04:47+00:00","og_image":[{"width":2560,"height":1281,"url":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@checkmarx","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/","url":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/","name":"\u201cFree Hugs\u201d \u2013 What To Be Wary of in Hugging Face \u2013 Part 1\u00a0 - Checkmarx","isPartOf":{"@id":"https:\/\/checkmarx.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage"},"image":{"@id":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg","datePublished":"2024-11-14T12:00:00+00:00","dateModified":"2026-01-05T17:04:47+00:00","description":"This blog series explores the cyber security risk in the ecosystem of Hugging, the open-source platform that hosts GenAI models.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/checkmarx.com\/blog\/free-hugs-what-to-be-wary-of-in-hugging-face-part-1\/#primaryimage","url":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg","contentUrl":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/11\/Huggin-Face-01-scaled.jpg","width":2560,"height":1281},{"@type":"WebSite","@id":"https:\/\/checkmarx.com\/#website","url":"https:\/\/checkmarx.com\/","name":"Checkmarx","description":"The world runs on code. We secure it.","publisher":{"@id":"https:\/\/checkmarx.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/checkmarx.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/checkmarx.com\/#organization","name":"Checkmarx","url":"https:\/\/checkmarx.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/checkmarx.com\/#\/schema\/logo\/image\/","url":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/02\/logo-dark.svg","contentUrl":"https:\/\/checkmarx.com\/wp-content\/uploads\/2024\/02\/logo-dark.svg","width":1,"height":1,"caption":"Checkmarx"},"image":{"@id":"https:\/\/checkmarx.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Checkmarx.Source.Code.Analysis","https:\/\/x.com\/checkmarx","https:\/\/www.youtube.com\/user\/CheckmarxResearchLab","https:\/\/www.linkedin.com\/company\/checkmarx"]}]}},"_links":{"self":[{"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/zero-post\/98796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/zero-post"}],"about":[{"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/types\/zero-post"}],"author":[{"embeddable":true,"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/users\/21"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/media\/98797"}],"wp:attachment":[{"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/media?parent=98796"}],"wp:term":[{"taxonomy":"zero-category","embeddable":true,"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/zero-category?post=98796"},{"taxonomy":"zero-tag","embeddable":true,"href":"https:\/\/checkmarx.com\/wp-json\/wp\/v2\/zero-tag?post=98796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}