{"id":219471,"date":"2019-06-20T12:54:29","date_gmt":"2019-06-20T10:54:29","guid":{"rendered":"https:\/\/www.intrinsec.com\/?p=219471"},"modified":"2019-06-20T12:54:29","modified_gmt":"2019-06-20T10:54:29","slug":"docker-leak","status":"publish","type":"post","link":"https:\/\/www.intrinsec.com\/en\/docker-leak\/","title":{"rendered":"Thousands of exposed docker images leak secrets on the Internet"},"content":{"rendered":"[et_pb_section admin_label=\u00bbsection\u00bb] [et_pb_row admin_label=\u00bbrow\u00bb] [et_pb_column type=\u00bb4_4\u2033][et_pb_text admin_label=\u00bbText\u00bb]\n<p>Docker is now mainstream, everywhere and has invaded every business regardless of the sector of activity. This massive adoption, although the Docker backend technology is nothing new, is due to its ease of use which, as we are going to see, can <strong>lead to leaks of secrets<\/strong> when the concepts are misunderstood.<\/p>\n\n\n\n<p>Docker is a containerization engine that allows you to package an application with all its dependencies. This template of ready-to-use application is called a <strong>Docker image<\/strong>. There are various types of images like web servers or databases. Images can stack and depend on each other. Images can be retrieved on public registries such as <a href=\"https:\/\/hub.docker.com\"><strong>Dockerhub<\/strong><\/a>, which currently <strong>hosts more than 2.3 million of them<\/strong>.<\/p>\n\n\n\n<p>Like Github you can save your images for free at the expense of letting it publicly available to anyone and having to pay for a private hosting. There is also the possibility to maintain your <a href=\"https:\/\/hub.docker.com\/_\/registry\">own Docker personal registry<\/a>.<\/p>\n\n\n\n<p>Whether it is by unawareness of risk, accident or a budget wise decision, those public registries contain Docker images that shouldn&#039;t be left exposed. Many of them leak internal code, secrets or personal information. We estimate that roughly <strong>10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>For the rest of this blog post, image refers to Docker image.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Why analyze a Docker image?<\/h2>\n\n\n\n<p>The main purpose of analyzing images is to check the integrity and the version of its components, for potential CVEs, to use it safely.<\/p>\n\n\n\n<p>Checking the legitimacy is to avoid a malicious image. This is what happened in May 2017 when the same user has released 17 backdoored images on Dockerhub, which contained a <a href=\"https:\/\/threatpost.com\/malicious-docker-containers-earn-crypto-miners-90000\/132816\/.\">cryptocurrency miner and has generated about $90,000 in value<\/a>.<\/p>\n\n\n\n<p>To check that there are no CVEs listed on the kernel or frameworks used, there are solutions such as Aqua, which also owns their own Docker registry, which will scan the images uploaded\/built by users.<\/p>\n\n\n\n<p>Our scope here is focused on data leakage of publicly exposed images. Code repositories monitoring to find secrets have been largely publicized after several cases such as 2016 <a href=\"https:\/\/www.uber.com\/newsroom\/2016-data-incident\/\">Uber&#039;s data leak<\/a> whereas leaks from Docker images stay under the radar, hence this blog post. To be clear, the leak comes from misuse of users and not from Dockerhub or Docker platform as they prevent risks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#039;s inside a Docker image?<\/h2>\n\n\n\n<p>A Docker image is an archive containing, among other things, the filesystem necessary to make the application work. It is structured in layers representing each instruction given in the Dockerfile during the build of the given image.<\/p>\n\n\n\n<p>For example if I want to kwow the instructions made to build the mysql image:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull mysql &amp;&amp; docker history mysql<\/code><\/pre>\n\n\n\n<p>To explore in details the image you can export it as a tar archive and dive into layers<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker save mysql | tar xvf - --one-top-level=mysql &amp;&amp; ls mysql\/*\/layer.tar<\/code><\/pre>\n\n\n\n<p>Fortunately a wonderful tool has been released, by <a href=\"https:\/\/twitter.com\/alexgoodman87\">Alex Goodman<\/a>, to explore each layer in an image, called <code><a href=\"https:\/\/github.com\/wagoodman\/dive\"><strong>dive<\/strong><\/a><\/code>. You can see what are the new files, those that have been edited or removed. In backend, <code><strong>dive<\/strong><\/code> also uses the tar archive of the image and proceeds on a differential of each layer.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/05\/docker_image_dive.png\" alt=\"\" class=\"wp-image-219691\"\/><figcaption>Thanks to its nice UI, you can spot easily&nbsp;<em>added\/updated\/removed <\/em>files<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What could go wrong?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets embedded in code<\/h3>\n\n\n\n<p>The first bad practice is to embed secrets, like AWS key or Dropbox access token, inside your code. It is not relative to Docker but to secure development in general. When you copy your code inside the image you also copy the secrets and if the image go public your secrets too.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_inside_code.png\" alt=\"\" class=\"wp-image-219666\"\/><figcaption>MongoDB database credentials inside code<\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Remediation: Separate your secrets and configurations data from your code. Make the secrets as arguments or environment variables to be given when you run your image.<\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets in environment variables<\/h3>\n\n\n\n<p>Ok so you have separated your secrets and configuration files from your code by setting them in environment variables. But you specify this environment variables in you Dockerfile and again anyone can see them, either by printing history of commands used to build the image or by printing environment variables inside a running instance of the image.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Docker history # OR docker run printenv<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_printenv-3.png\" alt=\"\" class=\"wp-image-219667\"\/><figcaption>Sensitive environment variables accessible in image<\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Remediation: Set sensitive environment variables when running your image with the option <code>-e<\/code> or compiled in a file with <code>--env-file<\/code>.<\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"> A (secrets) file copied into you docker image<\/h3>\n\n\n\n<p>You now are using an environment file name <code>.env<\/code> containing all your secrets, in your work directory to give at run command but you forgot to ignore it when using <code>COPY<\/code> command in your Dockerfile (like copy your code to your image). So anyone can access those secrets which are copied in your docker image.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_file_env.png\" alt=\"\" class=\"wp-image-219629\"\/><figcaption>All kinds of secrets over here<\/figcaption><\/figure>\n\n\n\n<p>When you wildly copy your working directory, you can also copy the <code>.git<\/code> directory or non-code data files that were not meant to be in the image.<\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_sensitive_data-1.png\" alt=\"\" data-id=\"219630\" class=\"wp-image-219630\"\/><figcaption>Files that seem interesting to look at<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_xlsx-1024x408.png\" alt=\"\" data-id=\"219631\" data-link=\"https:\/\/www.intrinsec.com\/?attachment_id=219631\" class=\"wp-image-219631\"\/><figcaption>Customer data<\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Remediation: Use a <code>.dockerignore<\/code> specifying files to ignore when using build context like <code>.git<\/code> gold .<code>approx<\/code> files. For files that are not expected in the project code and so in <code>.dockerignore<\/code>, like result files or sample of production data to test, you may provide a script in the CI\/CD chain to check the presence and alert on files with improbable extensions (<code>xlsx<\/code>, <code>docx<\/code> \u2026) or suspicious filenames (<code>customer_name<\/code>, <code>financial_results<\/code>, \u2026) according to local practices.<\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Best practice<\/h3>\n\n\n\n<p>When managing sensitive data, the best thing to do is to use <a href=\"https:\/\/docs.docker.com\/engine\/swarm\/secrets\">Docker secrets<\/a> or a third-party solution like <a href=\"https:\/\/www.vaultproject.io\">Vault<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\nYour code, your value<\/h3>\n\n\n\n<p>You are now safe, your sensitive data is not exposed within you image but must it be exposed to anyone on Internet? You took care not to use a public Github repository for your code but you just uploaded your image containing your code in a publicly exposed Docker repository. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/docker_image_code.png\" alt=\"\" class=\"wp-image-219633\"\/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Remediation: You must use a private repository for you image or hosting your own Docker registry, obviously not exposed to Internet.<\/p><\/blockquote>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/05\/dockerhub_private.png\" alt=\"\" class=\"wp-image-219684\"\/><figcaption>Any new repository is public by default<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\nAttack scenarios<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">The opportunist<\/h3>\n\n\n\n<p class=\"has-text-color has-very-dark-gray-color\">Goal is to target many images to get low-hanging fruit secrets, like Amazon AWS key or other cloud\/computing access tokens, by grepping them in files that he will then be able to monetize (mining cryptocurrencies) or reuse to<strong> explore accessible valuable data (S3 buckets, etc.)<\/strong>.<\/p>\n\n\n\n<p>How? By targeting images whose names contain words like <code>prod<\/code>, <code>backup<\/code>, <code>site<\/code> and it is best when meeting the possessive adjective <code>my<\/code> like <code>mybackup<\/code>. Tips: keep only little popularity images (&lt; 50 downloads).<\/p>\n\n\n\n<p>This way we target individuals and small structures, those are the ones who are probably less sensitive to security and therefore to good Docker practices.<\/p>\n\n\n\n<p>However, largest structures are not spared, as shown in the case of Vine in March, 2016, where a researcher <a href=\"https:\/\/avicoder.me\/2016\/07\/22\/Twitter-Vine-Source-code-dump\/\">found an image containing all their source codes<\/a> and was awarded a $10,080 bounty for his find.<\/p>\n\n\n\n<p>This approach can be easy to automate for a malicious actor and therefore the <strong>importance of monitoring new\/updated publicly images that may concern your business to react in time<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The persistent<\/h3>\n\n\n\n<p>Someone targeting a (sector) business, will investigate deeply all published images related to the targeted company to find internal codes, secrets and to understand how it works. He aims at spying or preparing attack.<\/p>\n\n\n\n<p>It is the same recognition we do for images that may concern our customers to warn them before someone exploits it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> Some figures to conclude<\/h2>\n\n\n\n<p class=\"has-text-color has-very-dark-gray-color\">Beyond the automated approach to provided industrial and continuous monitoring provided by Intrinsec, for the purpose of this blog post, <strong>we manually reviewed 100 random Docker images<\/strong>. Yes, it is a small sample but it is more to have an order of magnitude rather than a precise metric.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>10% containing sensitive data<\/strong>: credentials, private keys, API tokens and personal information of users or customer<\/li><li><strong>15% are images with bad practices but no sensitive data<\/strong>: variable configuration, git folder, etc.<\/li><li><strong>48% seems legitimate<\/strong>: absence of sensitive data and bad practices<\/li><li><strong>27% are inaccessible images<\/strong>gone private or removed<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2019\/06\/pie_chart-1.png\" alt=\"\" class=\"wp-image-219644\" width=\"663\" height=\"352\"\/><\/figure>\n\n\n\n<p>So if we only keep publicly pullable images, <strong>14% of them should absolutely not be exposed and leak sensitive data<\/strong>.<\/p>\n\n\n\n<p>If this subject is of interest to you to protect your business, we would be glad to discuss with you about our threat intell services.<\/p>\n\n\n\n<p>We would like to thank Vincent Delair and Jacques Lebeau for their help<br><br>Authors:<br>Guillaume Granjus: <a href=\"https:\/\/twitter.com\/ggranjus\">@ggranjus<\/a> <br>Charles Hiezely<\/p>\n\n\n\n<p><\/p>\n[\/et_pb_text][\/et_pb_column] [\/et_pb_row] [\/et_pb_section]","protected":false},"excerpt":{"rendered":"<p>[et_pb_section admin_label=\u00bbsection\u00bb] [et_pb_row admin_label=\u00bbrow\u00bb] [et_pb_column type=\u00bb4_4\u2033][et_pb_text admin_label=\u00bbText\u00bb] Docker is now mainstream, everywhere and has invaded [\u2026]<\/p>","protected":false},"author":29,"featured_media":219696,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-219471","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cyber-threat-intelligence"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Exposed docker images leak secrets - INTRINSEC<\/title>\n<meta name=\"description\" content=\"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.\" \/>\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.intrinsec.com\/en\/docker-leak\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Thousands of exposed docker images leak secrets on the Internet\" \/>\n<meta property=\"og:description\" content=\"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intrinsec.com\/en\/docker-leak\/\" \/>\n<meta property=\"og:site_name\" content=\"INTRINSEC\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-20T10:54:29+00:00\" \/>\n<meta name=\"author\" content=\"Equipe CTI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Equipe CTI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/\"},\"author\":{\"name\":\"Equipe CTI\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/person\\\/8a19ea39207ca7bd0c356c66628c86bb\"},\"headline\":\"Thousands of exposed docker images leak secrets on the Internet\",\"datePublished\":\"2019-06-20T10:54:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/\"},\"wordCount\":1400,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"articleSection\":[\"Cyber Threat Intelligence\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/\",\"name\":\"Exposed docker images leak secrets - INTRINSEC\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2019-06-20T10:54:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/person\\\/8a19ea39207ca7bd0c356c66628c86bb\"},\"description\":\"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/docker-leak\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.intrinsec.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Thousands of exposed docker images leak secrets on the Internet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#website\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/\",\"name\":\"INTRINSEC\",\"description\":\"Notre m\u00e9tier , Prot\u00e9ger le v\u00f4tre\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intrinsec.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/person\\\/8a19ea39207ca7bd0c356c66628c86bb\",\"name\":\"Equipe CTI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"caption\":\"Equipe CTI\"},\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/en\\\/author\\\/equipe-cti\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Exposed docker images leak secrets - INTRINSEC","description":"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.","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.intrinsec.com\/en\/docker-leak\/","og_locale":"en_US","og_type":"article","og_title":"Thousands of exposed docker images leak secrets on the Internet","og_description":"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.","og_url":"https:\/\/www.intrinsec.com\/en\/docker-leak\/","og_site_name":"INTRINSEC","article_published_time":"2019-06-20T10:54:29+00:00","author":"Equipe CTI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Equipe CTI","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intrinsec.com\/docker-leak\/#article","isPartOf":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/"},"author":{"name":"Equipe CTI","@id":"https:\/\/www.intrinsec.com\/#\/schema\/person\/8a19ea39207ca7bd0c356c66628c86bb"},"headline":"Thousands of exposed docker images leak secrets on the Internet","datePublished":"2019-06-20T10:54:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/"},"wordCount":1400,"commentCount":0,"image":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/#primaryimage"},"thumbnailUrl":"","articleSection":["Cyber Threat Intelligence"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.intrinsec.com\/docker-leak\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.intrinsec.com\/docker-leak\/","url":"https:\/\/www.intrinsec.com\/docker-leak\/","name":"Exposed docker images leak secrets - INTRINSEC","isPartOf":{"@id":"https:\/\/www.intrinsec.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/#primaryimage"},"image":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/#primaryimage"},"thumbnailUrl":"","datePublished":"2019-06-20T10:54:29+00:00","author":{"@id":"https:\/\/www.intrinsec.com\/#\/schema\/person\/8a19ea39207ca7bd0c356c66628c86bb"},"description":"10% of Docker images hosted on Dockerhub should not be publicly exposed as they are leaking sensitive data.","breadcrumb":{"@id":"https:\/\/www.intrinsec.com\/docker-leak\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intrinsec.com\/docker-leak\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intrinsec.com\/docker-leak\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/www.intrinsec.com\/docker-leak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.intrinsec.com\/"},{"@type":"ListItem","position":2,"name":"Thousands of exposed docker images leak secrets on the Internet"}]},{"@type":"WebSite","@id":"https:\/\/www.intrinsec.com\/#website","url":"https:\/\/www.intrinsec.com\/","name":"INTRINSEC","description":"Our job is to protect yours.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intrinsec.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.intrinsec.com\/#\/schema\/person\/8a19ea39207ca7bd0c356c66628c86bb","name":"CTI Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","caption":"Equipe CTI"},"url":"https:\/\/www.intrinsec.com\/en\/author\/equipe-cti\/"}]}},"_links":{"self":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts\/219471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/comments?post=219471"}],"version-history":[{"count":0,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts\/219471\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/media?parent=219471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/categories?post=219471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/tags?post=219471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}