{"id":86141,"date":"2026-10-27T08:00:00","date_gmt":"2026-10-26T23:00:00","guid":{"rendered":"https:\/\/www.creationline.com\/tech-blog\/?p=86141"},"modified":"2026-10-26T16:51:34","modified_gmt":"2026-10-26T07:51:34","slug":"chainguard%e3%81%ae%e6%9c%aa%e7%84%b6%e9%98%b2%e5%be%a1%e4%ba%8b%e4%be%8b%ef%bc%9alitellm%e3%81%8c%e5%86%8d%e3%81%b3%e6%94%bb%e6%92%83%e3%81%95%e3%82%8c%e3%80%81pypi%e3%81%a8docker-hub%e3%81%ab","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141","title":{"rendered":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300c<a href=\"https:\/\/www.chainguard.dev\/unchained\/litellm-attacked-again-malicious-1-107-0-wheels-on-pypi-and-docker-hub-october-2026\">LiteLLM attacked again: Malicious 1.107.0 wheels on PyPI and Docker Hub (October 2026)<\/a>\u300d\uff082026\u5e7410\u670821\u65e5\u516c\u958b\uff09\u306e\u548c\u8a33\u8a18\u4e8b\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8457\u8005\uff1aQuincy Castro (Chainguard\u793e CISO\uff09<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">TL;DR\uff08\u8981\u7d04\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f55\u304c\u8d77\u304d\u305f\u304b\uff1a<\/strong>&nbsp;2026\u5e7410\u670821\u65e5\u3001\u653b\u6483\u8005\u304c LiteLLM 1.107.0 \u3092 PyPI \u306b\u516c\u958b\u3057\u307e\u3057\u305f\u30027\u3064\u306ewheel\u3059\u3079\u3066\u306b\u3001\u8a8d\u8a3c\u60c5\u5831\u7a83\u53d6\u30de\u30eb\u30a6\u30a7\u30a2\u3068\u30ea\u30e2\u30fc\u30c8\u30b3\u30fc\u30c9\u30ed\u30fc\u30c0\u30fc\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3057\u305f\u3002\u540c\u30d0\u30fc\u30b8\u30e7\u30f3\u306e LiteLLM \u516c\u5f0f Docker \u30a4\u30e1\u30fc\u30b8\u306b\u3082\u3001\u540c\u3058\u30da\u30a4\u30ed\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\uff1a<\/strong>&nbsp;PyPI \u4e0a\u306e&nbsp;<code>litellm==1.107.0<\/code>\u3001\u304a\u3088\u3073&nbsp;<code>ghcr.io\/berriai\/litellm<\/code>\u3001<code>litellm-database<\/code>\u3001<code>litellm-non_root<\/code>&nbsp;\u306e\u5404\u30a4\u30e1\u30fc\u30b8\u3001\u305d\u3057\u3066&nbsp;<code>docker.io\/litellm\/litellm<\/code>&nbsp;\u306e&nbsp;<code>v1.107.0<\/code>\u3001<code>latest<\/code>\u3001<code>main-latest<\/code>\u3001<code>main-stable<\/code>&nbsp;\u306e\u5404\u30bf\u30b0\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u898f\u6a21\uff1a<\/strong>&nbsp;litellm \u306f\u76f4\u8fd11\u304b\u6708\u3067 PyPI \u304b\u3089 1\u5104\u56de\u4ee5\u4e0a\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u307e\u3059\u30022,000\u4ee5\u4e0a\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u4f9d\u5b58\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u591a\u304f\u306e\u30c1\u30fc\u30e0\u304c\u76f4\u63a5\u6307\u5b9a\u3057\u3066\u3044\u306a\u304f\u3066\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30ea\u30b9\u30af\uff1a<\/strong>&nbsp;Python \u306f\u8d77\u52d5\u306e\u305f\u3073\u306b\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002litellm \u3092 import \u3059\u308b\u30b3\u30fc\u30c9\u304c\u306a\u304f\u3066\u3082\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u7a83\u53d6\u30de\u30eb\u30a6\u30a7\u30a2\u306f\u3001SSH\u9375\u3001\u30af\u30e9\u30a6\u30c9\u306e\u8a8d\u8a3c\u60c5\u5831\u3001CI\/CD \u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3001AI \u30c4\u30fc\u30eb\u306e\u30c8\u30fc\u30af\u30f3\u3001\u305d\u3057\u3066 LiteLLM \u30d7\u30ed\u30ad\u30b7\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3055\u308c\u305f LLM \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e API \u30ad\u30fc\u3092\u76d7\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Chainguard \u306e\u304a\u5ba2\u69d8\uff1a<\/strong>&nbsp;<strong>\u5f71\u97ff\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/strong>&nbsp;Chainguard \u306f\u591a\u5c64\u9632\u5fa1\u306b\u3088\u308a\u3001\u60aa\u610f\u3042\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5229\u7528\u53ef\u80fd\u306b\u306a\u3089\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002Chainguard \u306e\u30de\u30eb\u30a6\u30a7\u30a2\u30b9\u30ad\u30e3\u30f3\u306f\u3001\u30ea\u30ea\u30fc\u30b9\u304b\u3089\u308f\u305a\u304b16\u5206\u5f8c\u306b 1.107.0 \u3092\u691c\u77e5\u3057\u307e\u3057\u305f\u3002\u307e\u305f\u3001Chainguard \u306f LiteLLM \u3092\u4e0a\u6d41\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30d3\u30eb\u30c9\u3057\u3066\u304a\u308a\u3001\u305d\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u306f\u30da\u30a4\u30ed\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5bfe\u51e6\u6cd5\uff1a<\/strong>&nbsp;1.107.0 \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u5834\u5408\u3001\u307e\u305f\u306f\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30a4\u30e1\u30fc\u30b8\u3092 pull \u3057\u305f\u5834\u5408\u306f\u3001\u305d\u306e\u30db\u30b9\u30c8\u3092\u9694\u96e2\u3057\u3066\u304f\u3060\u3055\u3044\u3002Python \u3092\u518d\u3073\u5b9f\u884c\u3059\u308b\u524d\u306b\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3001\u305d\u306e\u30db\u30b9\u30c8\u304c\u5230\u9054\u3067\u304d\u305f\u3059\u3079\u3066\u306e\u8a8d\u8a3c\u60c5\u5831\u3092\u30ed\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2026\u5e7410\u670821\u65e5 11:39 UTC \u306b\u3001LiteLLM 1.107.0 \u304c PyPI \u306b\u73fe\u308c\u307e\u3057\u305f\u3002GitHub \u4e0a\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u7121\u5bb3\u3067\u3057\u305f\u304c\u3001\u30d3\u30eb\u30c9\u6e08\u307f\u306e7\u3064\u306ewheel\u3059\u3079\u3066\u306b\u3001\u8a8d\u8a3c\u60c5\u5831\u7a83\u53d6\u30de\u30eb\u30a6\u30a7\u30a2\u3068\u30011\u6642\u9593\u3054\u3068\u306b\u52d5\u4f5c\u3059\u308b\u30ea\u30e2\u30fc\u30c8\u30b3\u30fc\u30c9\u30ed\u30fc\u30c0\u30fc\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3057\u305f\u3002LiteLLM \u304c\u4fb5\u5bb3\u3055\u308c\u305f\u306e\u306f\u30017\u304b\u6708\u30672\u56de\u76ee\u3067\u3059\u30022026\u5e743\u6708\u306b\u306f\u3001TeamPCP \u30b0\u30eb\u30fc\u30d7\u304c\u76d7\u3093\u3060 PyPI \u30c8\u30fc\u30af\u30f3\u3092\u4f7f\u3044\u3001\u30d0\u30fc\u30b8\u30e7\u30f3 1.82.7 \u3068 1.82.8 \u3092\u516c\u958b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u7a3f\u3067\u306f\u3001\u4f55\u304c\u8d77\u304d\u305f\u306e\u304b\u3001\u306a\u305c Chainguard \u306e\u304a\u5ba2\u69d8\u304c\u5f71\u97ff\u3092\u53d7\u3051\u306a\u304b\u3063\u305f\u306e\u304b\u3001\u305d\u3057\u3066\u305d\u308c\u4ee5\u5916\u306e LiteLLM \u5229\u7528\u8005\u304c\u3044\u307e\u3059\u3050\u884c\u3046\u3079\u304d\u3053\u3068\u3092\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30d1\u30c3\u30b1\u30fc\u30b8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f71\u97ff\u3092\u53d7\u3051\u308b\u306e\u306f\u30011\u3064\u306e PyPI \u30ea\u30ea\u30fc\u30b9\u3068\u3001\u305d\u308c\u3092\u5143\u306b\u4f5c\u3089\u308c\u305f\u516c\u5f0f Docker \u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30d1\u30c3\u30b1\u30fc\u30b8<\/th><th class=\"has-text-align-right\" data-align=\"right\">\u60aa\u610f\u3042\u308b\u30d0\u30fc\u30b8\u30e7\u30f3<\/th><th>\u516c\u958b\u65e5\u6642\uff08UTC\uff09<\/th><th class=\"has-text-align-right\" data-align=\"right\">\u6700\u65b0\u306e\u5b89\u5168\u306a\u30d0\u30fc\u30b8\u30e7\u30f3<\/th><\/tr><\/thead><tbody><tr><td>litellm\uff087\u3064\u306ewheel\u3059\u3079\u3066\uff09<\/td><td class=\"has-text-align-right\" data-align=\"right\">1.107.0<\/td><td>10\u670821\u65e5 11:39:51<\/td><td class=\"has-text-align-right\" data-align=\"right\">1.106.2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30a4\u30e1\u30fc\u30b8<\/th><th>\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30bf\u30b0<\/th><\/tr><\/thead><tbody><tr><td><code>ghcr.io\/berriai\/litellm<\/code><\/td><td><code>v1.107.0<\/code><\/td><\/tr><tr><td><code>ghcr.io\/berriai\/litellm-database<\/code><\/td><td><code>v1.107.0<\/code><\/td><\/tr><tr><td><code>ghcr.io\/berriai\/litellm-non_root<\/code><\/td><td><code>v1.107.0<\/code><\/td><\/tr><tr><td><code>docker.io\/litellm\/litellm<\/code><\/td><td><code>v1.107.0<\/code>\u3001<code>latest<\/code>\u3001<code>main-latest<\/code>\u3001<code>main-stable<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">wheel \u306f\u30b5\u30dd\u30fc\u30c8\u5bfe\u8c61\u306e\u3059\u3079\u3066\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3092\u7db2\u7f85\u3057\u3066\u3044\u307e\u3059\u3002macOS\uff08x86_64 \u3068 arm64\uff09\u3001manylinux \u3068 musllinux\uff08x86_64 \u3068 aarch64\uff09\u3001Windows \u3067\u3059\u3002\u30d0\u30fc\u30b8\u30e7\u30f3 1.106.2\u30011.107.0rc1\u30011.107.0rc2 \u306f\u7121\u5bb3\u3067\u3059\u3002PyPI \u306f 1.107.0 \u3092\u9694\u96e2\uff08quarantine\uff09\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30bd\u30fc\u30b9\u914d\u5e03\u7269\uff08sdist\uff09\u306b\u306f\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u305f\u3060\u3057\u3001\u305d\u306e&nbsp;<code>pyproject.toml<\/code>&nbsp;\u306b\u306f&nbsp;<code>data = \"cook\"<\/code>&nbsp;\u3068\u3044\u30461\u884c\u304c\u8ffd\u52a0\u3055\u308c\u3066\u304a\u308a\u3001v1.107.0 \u306e Git \u30bf\u30b0\u306b\u306f\u3042\u308a\u307e\u305b\u3093\u3002Git \u30bf\u30b0\u306f\u3001\u901a\u5e38\u306e\u7f72\u540d\u4ed8\u304d\u30b3\u30df\u30c3\u30c8\u3092\u6307\u3057\u3066\u3044\u307e\u3059\u3002Docker Hub \u3084 GHCR \u306e&nbsp;<code>latest<\/code>&nbsp;\u30bf\u30b0\u3092\u4fe1\u7528\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u5404\u30a4\u30e1\u30fc\u30b8\u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u3092\u3001\u5f8c\u63b2\u306e\u30ea\u30b9\u30c8\u3068\u7167\u5408\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30de\u30eb\u30a6\u30a7\u30a2\u306e\u6319\u52d5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8ffd\u52a0\u3055\u308c\u305f&nbsp;<code>data = \"cook\"<\/code>&nbsp;\u3068\u3044\u3046\u8a2d\u5b9a\u306b\u3088\u308a\u3001\u30d3\u30eb\u30c9\u30c4\u30fc\u30eb\u306e maturin \u306f\u3001<code>cook\/<\/code>&nbsp;\u30d5\u30a9\u30eb\u30c0\u3092\u5404wheel\u5185\u306e&nbsp;<code>litellm-1.107.0.data\/purelib\/<\/code>&nbsp;\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u3001pip \u306f\u3053\u306e\u30d5\u30a9\u30eb\u30c0\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u4ed6\u306e\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u540c\u3058 site-packages \u306e\u30eb\u30fc\u30c8\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002\u653b\u6483\u8005\u306f\u3053\u306e\u7d4c\u8def\u3092\u4f7f\u3044\u3001<code>cook.pth<\/code>\u3001<code>cook.py<\/code>\u3001<code>sitecustomize.py<\/code>&nbsp;\u306e3\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8d77\u52d5\u6642\u306e\u30c8\u30ea\u30ac\u30fc\uff1a<\/strong>&nbsp;<code>cook.pth<\/code>&nbsp;\u306b\u306f&nbsp;<code>import cook<\/code>&nbsp;\u306e1\u884c\u3060\u3051\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002Python \u306f\u8d77\u52d5\u6642\u306b&nbsp;<code>.pth<\/code>&nbsp;\u30d5\u30a1\u30a4\u30eb\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u3001\u305d\u306e\u74b0\u5883\u3067 Python \u30d7\u30ed\u30bb\u30b9\u304c\u8d77\u52d5\u3059\u308b\u305f\u3073\u306b&nbsp;<code>cook.py<\/code>&nbsp;\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002pip\u3001IDE \u306e\u8a00\u8a9e\u30b5\u30fc\u30d0\u30fc\u3001litellm \u3092 import \u3057\u306a\u3044\u30b9\u30af\u30ea\u30d7\u30c8\u3082\u5bfe\u8c61\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8a8d\u8a3c\u60c5\u5831\u306e\u7a83\u53d6\uff1a<\/strong>&nbsp;<code>cook.py<\/code>&nbsp;\u306f\u3001<code>privcollect<\/code>&nbsp;\u3068\u81ea\u79f0\u3059\u308b 61 KB \u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u30c7\u30b3\u30fc\u30c9\u3057\u307e\u3059\u3002\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001SSH\u30fbGPG\u30fbTLS \u306e\u79d8\u5bc6\u9375\u3001\u30b7\u30a7\u30eb\u306e\u5c65\u6b74\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3068 Cookie\u3001AWS\u30fbAzure\u30fbGoogle Cloud \u306e\u8a8d\u8a3c\u60c5\u5831\u3001Kubernetes \u306e\u8a2d\u5b9a\u3068\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u30c8\u30fc\u30af\u30f3\u3001Docker \u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u30ec\u30b8\u30b9\u30c8\u30ea\u306e\u30c8\u30fc\u30af\u30f3\u3092\u53ce\u96c6\u3057\u307e\u3059\u3002\u3055\u3089\u306b\u3001GitLab Runner\u3001Jenkins\u3001Vault\u3001Terraform\u3001Packer \u306e CI\/CD \u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3068\u300115\u4ee5\u4e0a\u306e AI \u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30c4\u30fc\u30eb\u306e\u8a2d\u5b9a\u3082\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30af\u30e9\u30a6\u30c9\u3068\u30d7\u30ed\u30bb\u30b9\u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\uff1a<\/strong>&nbsp;\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001Linux \u4e0a\u3067\u8aad\u307f\u53d6\u308a\u53ef\u80fd\u306a\u3059\u3079\u3066\u306e\u30d7\u30ed\u30bb\u30b9\u306e\u74b0\u5883\u5909\u6570\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002AWS\u3001Google Cloud\u3001Azure \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bf\u30c7\u30fc\u30bf\u30b5\u30fc\u30d3\u30b9\u306b\u554f\u3044\u5408\u308f\u305b\u3001\u76d7\u3093\u3060 AWS \u306e\u8a8d\u8a3c\u60c5\u5831\u3092&nbsp;<code>GetCallerIdentity<\/code>&nbsp;\u3067\u691c\u8a3c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LiteLLM \u30d7\u30ed\u30ad\u30b7\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1a<\/strong>&nbsp;\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f&nbsp;<code>DATABASE_URL<\/code>&nbsp;\u3092\u901a\u3058\u3066\u63a5\u7d9a\u3057\u3001<code>LiteLLM_CredentialsTable<\/code>&nbsp;\u3068&nbsp;<code>LiteLLM_ProxyModelTable<\/code>&nbsp;\u3092\u30c0\u30f3\u30d7\u3057\u307e\u3059\u3002\u4fb5\u5bb3\u3055\u308c\u305f\u30d7\u30ed\u30ad\u30b7\u30db\u30b9\u30c8\u304c1\u53f0\u3042\u308c\u3070\u3001\u591a\u6570\u306e\u4e0a\u6d41 AI \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30ad\u30fc\u304c\u4e00\u5ea6\u306b\u6f0f\u3048\u3044\u3057\u304b\u306d\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30c7\u30fc\u30bf\u306e\u5916\u90e8\u9001\u4fe1\uff1a<\/strong>&nbsp;\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001\u76d7\u3093\u3060\u30c7\u30fc\u30bf\u3092 AES-256-CBC \u3067\u6697\u53f7\u5316\u3057\u3001\u305d\u306e\u9375\u3092 RSA-4096 \u306e\u516c\u958b\u9375\u3067\u5305\u307f\u3001\u7d50\u679c\u3092 tar.gz \u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u307e\u3068\u3081\u307e\u3059\u3002\u305d\u3057\u3066\u3001\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u5e73\u6587\u306e HTTP \u3067&nbsp;<code>www.litellm[.]dev\/healthcheck<\/code>&nbsp;\u306b\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30c9\u30e1\u30a4\u30f3\u306f\u6b63\u898f\u306e litellm.ai \u30c9\u30e1\u30a4\u30f3\u3067\u306f\u306a\u304f\u3001\u3088\u304f\u4f3c\u305b\u305f\u507d\u7269\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30ea\u30e2\u30fc\u30c8\u30b3\u30fc\u30c9\u30ed\u30fc\u30c0\u30fc\uff1a<\/strong>&nbsp;<code>sitecustomize.py<\/code>&nbsp;\u306f\u3001Linux \u3068 macOS \u4e0a\u3067\u3001\u5207\u308a\u96e2\u3055\u308c\u305f\uff08detached\uff09\u30c7\u30fc\u30e2\u30f3\u3092\u30d5\u30a9\u30fc\u30af\u3057\u307e\u3059\u3002\u3053\u306e\u30c7\u30fc\u30e2\u30f3\u306f1\u6642\u9593\u3054\u3068\u306b\u3001GitHub \u30ea\u30dd\u30b8\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30b5\u30fc\u30d0\u30fc\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\u30a2\u30c9\u30ec\u30b9\u304c\u89e3\u6c7a\u3067\u304d\u308b\u3068\u3001\u7a83\u53d6\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u518d\u3073\u5b9f\u884c\u3057\u3001\u305d\u306e\u30b5\u30fc\u30d0\u30fc\u304b\u3089 Python \u30b3\u30fc\u30c9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001\u6574\u5408\u6027\u30c1\u30a7\u30c3\u30af\u306a\u3057\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30ed\u30fc\u30c0\u30fc\u306e\u72b6\u6cc1\uff1a<\/strong>&nbsp;\u7814\u7a76\u8005\u304c\u5206\u6790\u3057\u305f\u6642\u70b9\u3067\u3001\u3053\u306e GitHub \u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u7a7a\u3060\u3063\u305f\u305f\u3081\u3001\u30ed\u30fc\u30c0\u30fc\u306f\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002Wiz \u306b\u3088\u308b\u3068\u3001GitHub \u306f\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u306e\u7a83\u53d6\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u4f9d\u5b58\u305b\u305a\u3001\u5358\u72ec\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3054\u3068\u306e\u7bc4\u56f2\uff1a<\/strong>&nbsp;Windows \u3067\u306f\u3001\u30c7\u30fc\u30e2\u30f3\u304c&nbsp;<code>os.fork()<\/code>&nbsp;\u3092\u5fc5\u8981\u3068\u3059\u308b\u305f\u3081\u5931\u6557\u3057\u307e\u3059\u3002\u305d\u308c\u3067\u3082\u3001\u7a83\u53d6\u30d7\u30ed\u30b0\u30e9\u30e0\u306f Windows \u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u4fb5\u5165\u306e\u75d5\u8de1\uff08\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u30fc\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u5834\u5408\u3001\u307e\u305f\u306f\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30a4\u30e1\u30fc\u30b8\u3092\u5b9f\u884c\u3057\u305f\u5834\u5408\uff08\u4e0a\u306e\u300c\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u300d\u3092\u53c2\u7167\uff09\u306f\u3001\u305d\u306e\u74b0\u5883\u304c\u4fb5\u5bb3\u3055\u308c\u305f\u3082\u306e\u3068\u3057\u3066\u6271\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>www.litellm[.]dev<\/code>\uff08\u30c7\u30fc\u30bf\u9001\u4fe1\u5148\u3001\u30d1\u30b9\u306f&nbsp;<code>\/healthcheck<\/code>\uff09<\/li>\n\n\n\n<li>raw.githubusercontent[.]com\/letters9813\/pythonclient-test\/main\/domain.txt\uff08C2 \u30a2\u30c9\u30ec\u30b9\u306e\u30c7\u30c3\u30c9\u30c9\u30ed\u30c3\u30d7\uff09<\/li>\n\n\n\n<li><code>http:\/\/{domain}\/codepy<\/code>\uff08\u7b2c2\u6bb5\u968e\u3002\u30c7\u30c3\u30c9\u30c9\u30ed\u30c3\u30d7\u304c\u8fd4\u3059\u4efb\u610f\u306e\u30c9\u30e1\u30a4\u30f3\uff09<\/li>\n\n\n\n<li>\u5916\u5411\u304d\u30ea\u30af\u30a8\u30b9\u30c8\u306e HTTP \u30d8\u30c3\u30c0\u30fc&nbsp;<code>X-Token: XWiA8gZNa7NcX2XRoAEb<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">wheel \u306e\u30cf\u30c3\u30b7\u30e5\uff08SHA256\uff09<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30d5\u30a1\u30a4\u30eb<\/th><th>SHA256<\/th><\/tr><\/thead><tbody><tr><td><code>litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl<\/code><\/td><td><code>7598727f209d717041db37f7dca271d3a7d328a279890e0e1d55375729aeb86d<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl<\/code><\/td><td><code>0aaf7ba346d41ef2f40390436738b001180d5a1c03aa093f121078a9969d9a1a<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl<\/code><\/td><td><code>668169d35b87bf51324080390b1b1c5ab12bd335cfe5f1a99e3689abd5e02ae6<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl<\/code><\/td><td><code>462d0c9f67ca522d9e0e4acd245e90b36ce0d5353604a66bb7c43a1ec4a6fcf7<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl<\/code><\/td><td><code>c2e32d0ce2548aa662c18bf5001911a79fe5b30cf8357132275add02fdcde054<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl<\/code><\/td><td><code>1bbce8caa94f01c0aaa0b7ddae51553a8a32e1ce53d96d44fe583272aff7ad00<\/code><\/td><\/tr><tr><td><code>litellm-1.107.0-cp310-abi3-win_amd64.whl<\/code><\/td><td><code>12d4ccc5c6f8d35cf4f2cf233b7f3e418e863e657d81ff5f5fc9e210005b9484<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u30a4\u30e1\u30fc\u30b8\u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30a4\u30e1\u30fc\u30b8<\/th><th>linux\/amd64<\/th><th>linux\/arm64<\/th><\/tr><\/thead><tbody><tr><td><code>ghcr.io\/berriai\/litellm:v1.107.0<\/code>&nbsp;\u304a\u3088\u3073&nbsp;<code>docker.io\/litellm\/litellm<\/code><\/td><td><code>sha256:bd1aeee419ea36da9aa2b657288da4101887be468f020ac63d22ba6ed84a3ea5<\/code><\/td><td><code>sha256:56b74573eed6e4aafe4b50603dbe7853e0345f188c8e44a09f1098caf1f4bcdf<\/code><\/td><\/tr><tr><td><code>ghcr.io\/berriai\/litellm-database:v1.107.0<\/code><\/td><td><code>sha256:24581ddc30767f16ecb69d2b0517556f2cd7dea56971adb42a3d1beb97d69523<\/code><\/td><td><code>sha256:827dd893c74cf621a860a66a3a447a5c732533f087589ce905573e285c0a239c<\/code><\/td><\/tr><tr><td><code>ghcr.io\/berriai\/litellm-non_root:v1.107.0<\/code><\/td><td><code>sha256:645a67d810628252d63df85dcc8824c58bcc77cf8383f4d3e6321f0ccc3ce9e4<\/code><\/td><td><code>sha256:f75c8edae59b72b1ebfd617295833f465c85bb2fab9c1d60f21b496db86cb8da<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u30d1\u30c3\u30b1\u30fc\u30b8<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>site-packages \u306e\u30eb\u30fc\u30c8\u306b\u3042\u308b\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\uff1a<code>cook.pth<\/code>\u3001<code>cook.py<\/code>\u3001<code>sitecustomize.py<\/code><\/li>\n\n\n\n<li>wheel \u306e&nbsp;<code>RECORD<\/code>&nbsp;\u306b\u8a18\u8f09\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\uff1a<code>litellm-1.107.0.data\/purelib\/<\/code>&nbsp;\u914d\u4e0b\u306e3\u3064\u306e\u30d1\u30b9<\/li>\n\n\n\n<li>sdist \u306e&nbsp;<code>pyproject.toml<\/code>&nbsp;\u306e\u30d3\u30eb\u30c9\u8a2d\u5b9a\uff1a<code>[tool.maturin]<\/code>&nbsp;\u914d\u4e0b\u306e&nbsp;<code>data = \"cook\"<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u305d\u306e\u4ed6\u306e\u75d5\u8de1<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1\u56de\u9650\u308a\u306e\u5b9f\u884c\u30de\u30fc\u30ab\u30fc\uff1a<code>\/tmp\/.pc_once_72129118c59f5636c0bb<\/code>\u3002\u7a83\u53d6\u30de\u30eb\u30a6\u30a7\u30a2\u306f\u3001\u5916\u90e8\u9001\u4fe1\u306b\u6210\u529f\u3059\u308b\u3068\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u3001\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u304c\u76d7\u307e\u308c\u305f\u3082\u306e\u3068\u307f\u306a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u3067\u3082\u3001\u305d\u306e\u30db\u30b9\u30c8\u304c\u7121\u5bb3\u3067\u3042\u308b\u3068\u8a3c\u660e\u3055\u308c\u305f\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li>\u30ed\u30fc\u30c0\u30fc\u306e\u30ed\u30c3\u30af\u30d5\u30a1\u30a4\u30eb\uff1a<code>\/tmp\/remote_code_loader.lock<\/code><\/li>\n\n\n\n<li>\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\uff1a<code>\/tmp\/.pc_sq_*<\/code>&nbsp;\u304a\u3088\u3073&nbsp;<code>\/tmp\/.pc_e_*<\/code><\/li>\n\n\n\n<li>\u74b0\u5883\u5909\u6570\uff1a<code>PRIVCOLLECT_ACTIVE=1<\/code><\/li>\n\n\n\n<li>\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u2026\u306e\u3001\u5207\u308a\u96e2\u3055\u308c\u305f Python \u30d7\u30ed\u30bb\u30b9<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f71\u97ff\u3092\u53d7\u3051\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8b66\u544a\uff1a<\/strong>&nbsp;\u4fb5\u5bb3\u304c\u7591\u308f\u308c\u308b\u74b0\u5883\u306e\u4e2d\u3067\u3001Python \u3084 pip \u3092\u5b9f\u884c\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002Python \u304c\u8d77\u52d5\u3059\u308b\u305f\u3073\u306b\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u304c\u518d\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u78ba\u8a8d\u306f\u3001\u3059\u3079\u3066\u30b7\u30a7\u30eb\u306e\u30c4\u30fc\u30eb\u3067\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3057\u307e\u3059\u3002\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u3001\u6b63\u898f\u306e&nbsp;<code>sitecustomize.py<\/code>&nbsp;\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u8a72\u5f53\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u524a\u9664\u3059\u308b\u524d\u306b\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><code>find \/ -path \"*site-packages\/cook.pth\" -o -path \"*site-packages\/cook.py\" -o -path \"*site-packages\/sitecustomize.py\" 2&gt;\/dev\/null<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.\u30ed\u30c3\u30af\u30d5\u30a1\u30a4\u30eb\u3068 requirements \u30d5\u30a1\u30a4\u30eb\u304b\u3089\u3001\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>grep -rn \"1.107.0\" requirements*.txt poetry.lock uv.lock Pipfile.lock pyproject.toml 2&gt;\/dev\/null | grep -i litellm<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.\u30db\u30b9\u30c8\u306e\u30de\u30fc\u30ab\u30fc\u3092\u63a2\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ls -la \/tmp\/.pc_once_* \/tmp\/remote_code_loader.lock \/tmp\/.pc_sq_* \/tmp\/.pc_e_* 2&gt;\/dev\/null<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4.\u30ed\u30fc\u30c0\u30fc\u306e\u30ed\u30c3\u30af\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u6301\u3057\u3066\u3044\u308b\u30d7\u30ed\u30bb\u30b9\u3092\u63a2\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>lsof \/tmp\/remote_code_loader.lock 2&gt;\/dev\/null<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5.LiteLLM \u306e\u30a4\u30e1\u30fc\u30b8\u3092\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u4ed8\u304d\u3067\u4e00\u89a7\u3057\u3001\u4e0a\u8a18\u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u3068\u6bd4\u8f03\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>docker images --digests | grep -i litellm<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6.DNS \u3084\u30d7\u30ed\u30ad\u30b7\u306e\u30ed\u30b0\u304b\u3089\u3001<code>www.litellm[.]dev<\/code>&nbsp;\u3068\u3001\u30d1\u30b9&nbsp;<code>letters9813\/pythonclient-test<\/code>&nbsp;\u3092\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30c3\u30af\u30d5\u30a1\u30a4\u30eb\u306b\u8a72\u5f53\u304c\u3042\u3063\u305f\u5834\u5408\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c litellm \u3092 import \u3057\u3066\u3044\u306a\u304f\u3066\u3082\u3001\u8abf\u67fb\u304c\u5fc5\u8981\u3067\u3059\u3002\u30c8\u30ea\u30ac\u30fc\u306f import \u3067\u306f\u306a\u304f\u3001Python \u306e\u8d77\u52d5\u3060\u304b\u3089\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f71\u97ff\u3092\u53d7\u3051\u3066\u3044\u308b\u5834\u5408\u306b\u3001\u3044\u307e\u3059\u3050\u884c\u3046\u3053\u3068<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30db\u30b9\u30c8\u307e\u305f\u306f\u30b3\u30f3\u30c6\u30ca\u3092\u9694\u96e2\u3057\u307e\u3059\u3002<\/strong>&nbsp;\u305d\u306e\u30db\u30b9\u30c8\u304c\u5230\u9054\u3067\u304d\u305f\u3059\u3079\u3066\u306e\u8a8d\u8a3c\u60c5\u5831\u3068\u30d5\u30a1\u30a4\u30eb\u304c\u4fb5\u5bb3\u3055\u308c\u305f\u3082\u306e\u3068\u3057\u3066\u6271\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n\n\n\n<li><strong>Python \u3092\u518d\u3073\u8d77\u52d5\u3059\u308b\u524d\u306b\u3001\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002<\/strong>&nbsp;<code>cook.pth<\/code>\u3001<code>cook.py<\/code>\u3001<code>sitecustomize.py<\/code>\u3001<code>__pycache__<\/code>&nbsp;\u5185\u306e\u305d\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u3001\u304a\u3088\u3073&nbsp;<code>\/tmp<\/code>&nbsp;\u306e\u30de\u30fc\u30ab\u30fc\u3092\u3001\u30b7\u30a7\u30eb\u306e\u30c4\u30fc\u30eb\u3067\u524a\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002<code>pip uninstall<\/code>&nbsp;\u306f Python \u3092\u8d77\u52d5\u3059\u308b\u305f\u3081\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u304c\u518d\u3073\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30ed\u30fc\u30c0\u30fc\u3092\u505c\u6b62\u3057\u307e\u3059\u3002<\/strong>\u00a0<code>\/tmp\/remote_code_loader.lock<\/code>\u00a0\u3092\u4fdd\u6301\u3057\u3066\u3044\u308b\u3001\u5207\u308a\u96e2\u3055\u308c\u305f Python \u30d7\u30ed\u30bb\u30b9\u3092\u3059\u3079\u3066\u898b\u3064\u3051\u3066\u505c\u6b62\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n\n\n\n<li><strong><code>www.litellm[.]dev<\/code>\u3001\u30c7\u30c3\u30c9\u30c9\u30ed\u30c3\u30d7\u306e URL\u3001\u304a\u3088\u3073\u30c7\u30c3\u30c9\u30c9\u30ed\u30c3\u30d7\u304c\u8fd4\u3057\u305f\u3059\u3079\u3066\u306e\u30c9\u30e1\u30a4\u30f3\u3078\u306e\u5916\u5411\u304d\u901a\u4fe1\uff08\u30a8\u30b0\u30ec\u30b9\uff09\u3092\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002<\/strong>&nbsp;DNS\u3001\u30d7\u30ed\u30ad\u30b7\u3001\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3001\u30af\u30e9\u30a6\u30c9\u76e3\u67fb\u306e\u30ed\u30b0\u306f\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n\n\n\n<li><strong>\u6f0f\u3048\u3044\u3057\u305f\u53ef\u80fd\u6027\u306e\u3042\u308b\u8a8d\u8a3c\u60c5\u5831\u3092\u30ed\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3057\u307e\u3059\u3002<\/strong>&nbsp;SSH \u9375\u3068 GPG \u9375\u3001TLS \u79d8\u5bc6\u9375\u3001\u30af\u30e9\u30a6\u30c9\u3068 Kubernetes \u306e\u8a8d\u8a3c\u60c5\u5831\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u516c\u958b\u7528\u30c8\u30fc\u30af\u30f3\u3001\u30bd\u30fc\u30b9\u7ba1\u7406\u306e\u30c8\u30fc\u30af\u30f3\u3001AI \u30c4\u30fc\u30eb\u306e\u30c8\u30fc\u30af\u30f3\u3001\u30d6\u30e9\u30a6\u30b6\u306b\u4fdd\u5b58\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u3001<code>DATABASE_URL<\/code>\u3001LiteLLM \u306e\u30de\u30b9\u30bf\u30fc\u30ad\u30fc\u3068\u4eee\u60f3\u30ad\u30fc\u3001\u305d\u3057\u3066&nbsp;<code>LiteLLM_CredentialsTable<\/code>&nbsp;\u5185\u306e\u3059\u3079\u3066\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u30ad\u30fc\u304c\u5bfe\u8c61\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong><code>\/codepy<\/code>&nbsp;\u3078\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8abf\u67fb\u3057\u307e\u3059\u3002<\/strong>&nbsp;\u305d\u306e\u6bb5\u968e\u3067\u306f\u4efb\u610f\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3067\u304d\u308b\u305f\u3081\u3001\u7a83\u53d6\u30de\u30eb\u30a6\u30a7\u30a2\u306e\u6319\u52d5\u3060\u3051\u3067\u306f\u5f71\u97ff\u306e\u7bc4\u56f2\u3092\u9650\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u4eee\u60f3\u74b0\u5883\u3001\u30db\u30b9\u30c8\u3001\u30a4\u30e1\u30fc\u30b8\u3092\u3001\u691c\u8a3c\u6e08\u307f\u306e\u6210\u679c\u7269\u304b\u3089\u518d\u69cb\u7bc9\u3057\u307e\u3059\u3002<\/strong>&nbsp;\u65b0\u3057\u3044\u74b0\u5883\u3067\u306f&nbsp;<code>litellm==1.106.2<\/code>&nbsp;\u306b\u56fa\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002Docker \u30a4\u30e1\u30fc\u30b8\u306f\u3001<code>latest<\/code>&nbsp;\u30bf\u30b0\u3067\u306f\u306a\u304f\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u3067\u56fa\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Chainguard \u306e\u304a\u5ba2\u69d8\u304c\u5b88\u3089\u308c\u305f\u7406\u7531<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Chainguard Libraries \u306e\u304a\u5ba2\u69d8\u306f\u3001\u3053\u306e\u653b\u6483\u306b\u3055\u3089\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/strong>&nbsp;Chainguard \u306f\u3001\u65b0\u3057\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u3059\u3079\u3066\u3001Chainguard Repository \u304b\u3089\u63d0\u4f9b\u3059\u308b\u524d\u306b\u3001\u60aa\u610f\u3042\u308b\u6319\u52d5\u304c\u306a\u3044\u304b\u30b9\u30ad\u30e3\u30f3\u3057\u307e\u3059\u3002litellm 1.107.0 \u3092 pull \u3057\u305f\u304a\u5ba2\u69d8\u306f\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chainguard Libraries \u306f\u3001\u591a\u5c64\u306e\u9632\u5fa1\u3092\u9069\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u3046\u3061\u306e2\u3064\u304c\u3001\u3053\u306e\u653b\u6483\u3092\u6b62\u3081\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1\u3064\u76ee\uff1a<\/strong>&nbsp;Chainguard \u306e\u30de\u30eb\u30a6\u30a7\u30a2\u30b9\u30ad\u30e3\u30f3\u306f\u30012026\u5e7410\u670821\u65e5 11:55 UTC \u306b litellm 1.107.0 \u3092\u691c\u77e5\u3057\u307e\u3057\u305f\u3002\u6700\u521d\u306ewheel\u304c PyPI \u306b\u5c4a\u3044\u3066\u304b\u308916\u5206\u5f8c\u3067\u3059\u3002\u3053\u306e\u30d6\u30ed\u30c3\u30af\u306b\u3088\u308a\u3001PyPI \u306e\u30ea\u30ea\u30fc\u30b9\u306f Chainguard Repository \u306b\u5165\u3089\u305a\u3001\u30e6\u30fc\u30b6\u30fc\u304c pull \u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2\u3064\u76ee\uff1a<\/strong>&nbsp;\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30de\u30eb\u30a6\u30a7\u30a2\u30b9\u30ad\u30e3\u30f3\u304c\u6e08\u3080\u3068\u3001Chainguard \u306f Chainguard Factory \u3067 LiteLLM \u3092\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002\u653b\u6483\u8005\u306f\u30da\u30a4\u30ed\u30fc\u30c9\u3092 PyPI \u4e0a\u306e\u30d3\u30eb\u30c9\u6e08\u307fwheel\u306b\u4ed5\u8fbc\u307f\u307e\u3057\u305f\u304c\u3001v1.107.0 \u306e Git \u30bf\u30b0\u306b\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002Chainguard \u304c\u305d\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30d3\u30eb\u30c9\u3057\u305fwheel\u306b\u306f\u3001<code>cook.pth<\/code>\u3001<code>cook.py<\/code>\u3001<code>sitecustomize.py<\/code>&nbsp;\u306f\u542b\u307e\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Chainguard Containers \u306e\u304a\u5ba2\u69d8\u3082\u5f71\u97ff\u3092\u53d7\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Chainguard \u306e LiteLLM \u30a4\u30e1\u30fc\u30b8\u306f\u3001Chainguard Factory \u3067\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30d3\u30eb\u30c9\u3055\u308c\u307e\u3059\u3002\u4e0a\u6d41\u306e BerriAI \u306e\u30a4\u30e1\u30fc\u30b8\u3084\u3001PyPI \u306ewheel\u306f\u4f7f\u3044\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li>Chainguard \u306e Python \u30d3\u30eb\u30c9\u306f\u3001\u4f9d\u5b58\u95a2\u4fc2\u3092 PyPI \u304b\u3089\u76f4\u63a5\u3067\u306f\u306a\u304f Chainguard Libraries \u7d4c\u7531\u3067\u53d6\u5f97\u3059\u308b\u305f\u3081\u3001\u3055\u3089\u306b1\u5c64\u306e\u9632\u5fa1\u304c\u52a0\u308f\u308a\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u30af\u30fc\u30eb\u30c0\u30a6\u30f3\uff08cooldown\uff09\u30dd\u30ea\u30b7\u30fc\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u304a\u5ba2\u69d8\u306b\u306f\u3001\u3055\u3089\u306b\u3082\u30461\u5c64\u306e\u30ac\u30d0\u30ca\u30f3\u30b9\u304c\u3042\u308a\u307e\u3059\u3002\u30af\u30fc\u30eb\u30c0\u30a6\u30f3\u306f\u3001\u30b9\u30ad\u30e3\u30ca\u30fc\u3084\u7814\u7a76\u8005\u304c\u8abf\u3079\u308b\u6642\u9593\u3092\u78ba\u4fdd\u3059\u308b\u307e\u3067\u3001\u65b0\u3057\u3044\u30ea\u30ea\u30fc\u30b9\u3092\u5229\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">LiteLLM \u304c\u4eca\u5e74 PyPI \u306b\u30de\u30eb\u30a6\u30a7\u30a2\u3092\u914d\u5e03\u3057\u305f\u306e\u306f\u3001\u3053\u308c\u304c2\u56de\u76ee\u3067\u3059\u3002\u305d\u3057\u3066\u3001Chainguard \u306e\u304a\u5ba2\u69d8\u304c\u5f8c\u59cb\u672b\u3092\u3059\u308b\u5fc5\u8981\u304c\u306a\u304b\u3063\u305f\u306e\u30822\u56de\u76ee\u3067\u3059\u30023\u6708\u306b\u516c\u958b\u3055\u308c\u305f\u60aa\u610f\u3042\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u306f\u3001\u691c\u8a3c\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304c\u306a\u304b\u3063\u305f\u305f\u3081\u3001Chainguard \u306f\u305d\u308c\u3089\u3092\u30d3\u30eb\u30c9\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u4eca\u56de\u306e\u6559\u8a13\u3068\u4eca\u5f8c\u306e\u5c55\u671b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">LiteLLM \u304c2026\u5e74\u306b\u4fb5\u5bb3\u3055\u308c\u305f\u3053\u3068\u304c\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u306e\u306f\u3001\u3053\u308c\u304c2\u56de\u76ee\u3067\u3059\u3002\u7814\u7a76\u8005\u306f\u3001\u4eca\u56de\u306e\u653b\u6483\u3092 TeamPCP \u3084\u30013\u6708\u306e\u4fb5\u5165\u7d4c\u8def\u3068\u7d50\u3073\u3064\u3051\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f97\u3089\u308c\u308b\u6559\u8a13\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u653b\u6483\u8005\u306f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u5909\u66f4\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/strong>&nbsp;Git \u30bf\u30b0\u306f\u7f72\u540d\u4ed8\u304d\u30b3\u30df\u30c3\u30c8\u3092\u6307\u3057\u3066\u304a\u308a\u3001sdist \u306b\u3082\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3001Git \u30bf\u30b0\u3001sdist \u3060\u3051\u3092\u30ec\u30d3\u30e5\u30fc\u3059\u308b\u30c1\u30fc\u30e0\u306f\u3001\u3053\u306e\u653b\u6483\u3092\u898b\u9003\u3057\u307e\u3059\u3002\u5b9f\u884c\u3055\u308c\u308b\u306e\u306fwheel\u306a\u306e\u3067\u3001\u4fe1\u983c\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u6210\u679c\u7269\u306fwheel\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30da\u30a4\u30ed\u30fc\u30c9\u306f AI \u30a4\u30f3\u30d5\u30e9\u3092\u72d9\u3063\u3066\u3044\u307e\u3059\u3002<\/strong>&nbsp;1\u3064\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u591a\u6570\u306e AI \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30ad\u30fc\u3092\u4fdd\u6301\u3057\u3046\u308b LiteLLM \u30d7\u30ed\u30ad\u30b7\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u72d9\u3044\u300115\u4ee5\u4e0a\u306e AI \u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30c4\u30fc\u30eb\u306e\u8a2d\u5b9a\u3082\u53ce\u96c6\u3057\u307e\u3059\u3002\u4fb5\u5bb3\u3055\u308c\u305f AI \u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u304c1\u3064\u3042\u308c\u3070\u3001\u7d44\u7e54\u5168\u4f53\u306e\u30e2\u30c7\u30eb\u30a2\u30af\u30bb\u30b9\u304c\u6f0f\u3048\u3044\u3057\u304b\u306d\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u540c\u3058\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30011\u5e74\u306e\u3046\u3061\u306b2\u3064\u306e\u7570\u306a\u308b\u653b\u6483\u8005\u306b\u72d9\u308f\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/strong>&nbsp;LiteLLM \u306f3\u6708\u4ee5\u964d\u3001\u30e1\u30f3\u30c6\u30ca\u30fc\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u5165\u308c\u66ff\u3048\u307e\u3057\u305f\u3002\u305d\u308c\u3067\u3082\u65b0\u305f\u306a\u653b\u6483\u306f\u3001\u8ab0\u3082\u8aac\u660e\u3067\u304d\u3066\u3044\u306a\u3044\u7d4c\u8def\u3067 PyPI \u3068 Docker Hub \u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u3053\u308c\u307e\u3067\u306e\u5c65\u6b74\u304c\u7121\u5bb3\u3067\u3082\u3001\u6b21\u306e\u30ea\u30ea\u30fc\u30b9\u304c\u7121\u5bb3\u3067\u3042\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u3067\u306f\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.creationline.com\/service\/chainguard\/\">Chainguard\u306e\u5c0e\u5165\u30fb\u904b\u7528\u306e\u652f\u63f4<\/a>\u3092\u884c\u3063\u3066\u304a\u308a\u307e\u3059\u3002\u304a\u6c17\u8efd\u306b<a href=\"https:\/\/www.creationline.com\/contact\/\">\u304a\u554f\u3044\u5408\u308f\u305b<\/a>\u304f\u3060\u3055\u3044\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u95a2\u9023\u8a18\u4e8b\uff1a<\/strong><a href=\"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/chainguard\">chainguard\u30ab\u30c6\u30b4\u30ea\u8a18\u4e8b\u4e00\u89a7<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI and Docker Hub (October 2026)\u300d\uff082 [&#8230;]<\/p>\n","protected":false},"author":66,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[1215,1216],"tags":[358],"class_list":["post-86141","post","type-post","status-publish","format-standard","hentry","category-ai-sec-gov","category-chainguard","tag-358"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI\" \/>\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.creationline.com\/tech-blog\/ai-sec-gov\/86141\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-26T23:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"470\" \/>\n\t<meta property=\"og:image:height\" content=\"394\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"k-yamamori\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"k-yamamori\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141\"},\"author\":{\"name\":\"k-yamamori\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\"},\"headline\":\"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b\",\"datePublished\":\"2026-10-26T23:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141\"},\"wordCount\":346,\"keywords\":[\"\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\"],\"articleSection\":[\"AI Security &amp; Governance\",\"Chainguard\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141\",\"name\":\"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"datePublished\":\"2026-10-26T23:00:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\"},\"description\":\"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/86141#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Security &amp; Governance\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chainguard\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/ai-sec-gov\\\/chainguard\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/45365650dafa6b8aea08257d8f2eb9e4\",\"name\":\"k-yamamori\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Kayou-Yamamori_Profile-150x150.jpg\",\"caption\":\"k-yamamori\"},\"description\":\"MongoDB\u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u3002IT\u30a4\u30f3\u30d5\u30e9\u3084\u904b\u7528\u30fb\u76e3\u8996\u30fb\u4fdd\u5b88\u304c\u597d\u304d\u3067\u3059\u3002 \u7121\u99c4\u306e\u306a\u3044\u69cb\u6210\u3084\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u898b\u3066\u3046\u3063\u3068\u308a\u3057\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/k-yamamori\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI","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.creationline.com\/tech-blog\/ai-sec-gov\/86141","og_locale":"ja_JP","og_type":"article","og_title":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI","og_url":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2026-10-26T23:00:00+00:00","og_image":[{"width":470,"height":394,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png","type":"image\/png"}],"author":"k-yamamori","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"k-yamamori","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"4\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141"},"author":{"name":"k-yamamori","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4"},"headline":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b","datePublished":"2026-10-26T23:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141"},"wordCount":346,"keywords":["\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3"],"articleSection":["AI Security &amp; Governance","Chainguard"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141","url":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141","name":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"datePublished":"2026-10-26T23:00:00+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4"},"description":"AI Security &amp; Governance, Chainguard |\u672c\u7a3f\u306f Chainguard \u516c\u5f0f\u30d6\u30ed\u30b0\u300cLiteLLM attacked again: Malicious 1.107.0 wheels on PyPI","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/86141#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"AI Security &amp; Governance","item":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov"},{"@type":"ListItem","position":3,"name":"Chainguard","item":"https:\/\/www.creationline.com\/tech-blog\/ai-sec-gov\/chainguard"},{"@type":"ListItem","position":4,"name":"Chainguard\u306e\u672a\u7136\u9632\u5fa1\u4e8b\u4f8b\uff1aLiteLLM\u304c\u518d\u3073\u653b\u6483\u3055\u308c\u3001PyPI\u3068Docker Hub\u306b\u60aa\u610f\u3042\u308b1.107.0\u304c\u516c\u958b"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/45365650dafa6b8aea08257d8f2eb9e4","name":"k-yamamori","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/06\/Kayou-Yamamori_Profile-150x150.jpg","caption":"k-yamamori"},"description":"MongoDB\u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u62c5\u5f53\u3002IT\u30a4\u30f3\u30d5\u30e9\u3084\u904b\u7528\u30fb\u76e3\u8996\u30fb\u4fdd\u5b88\u304c\u597d\u304d\u3067\u3059\u3002 \u7121\u99c4\u306e\u306a\u3044\u69cb\u6210\u3084\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u898b\u3066\u3046\u3063\u3068\u308a\u3057\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/k-yamamori"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/86141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=86141"}],"version-history":[{"count":6,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/86141\/revisions"}],"predecessor-version":[{"id":86284,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/86141\/revisions\/86284"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=86141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=86141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=86141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}