From 86d1f9c6617a1b79a9ffce7212f047ef7a2abf76 Mon Sep 17 00:00:00 2001 From: orbisai0security Date: Sun, 17 May 2026 03:42:07 +0000 Subject: [PATCH] fix: V-003 security vulnerability Automated security fix generated by Orbis Security AI --- .../08-TransferLearning/TransferLearningTF.ipynb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb b/lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb index 82c97d9b..c7f0a7dd 100644 --- a/lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb +++ b/lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb @@ -497,7 +497,23 @@ } ], "source": [ + "import hashlib, os, warnings\n", + "\n", + "# SHA-256 of VGG16 weights (with top) - verify at https://github.com/keras-team/keras\n", + "VGG16_WEIGHTS_SHA256 = \"64373286793e3c8b2b4e3219cbf3544bce2f55ab4682710a29f5e7af8f5e4f61\"\n", + "\n", + "def _sha256(path):\n", + " h = hashlib.sha256()\n", + " with open(path, \"rb\") as f:\n", + " for chunk in iter(lambda: f.read(65536), b\"\"):\n", + " h.update(chunk)\n", + " return h.hexdigest()\n", + "\n", "vgg = keras.applications.VGG16()\n", + "_weights_path = os.path.join(os.path.expanduser(\"~\"), \".keras\", \"models\",\n", + " \"vgg16_weights_tf_dim_ordering_tf_kernels.h5\")\n", + "if _sha256(_weights_path) != VGG16_WEIGHTS_SHA256:\n", + " warnings.warn(\"VGG16 weights SHA-256 mismatch - verify file integrity before use\")\n", "inp = keras.applications.vgg16.preprocess_input(x_sample[:1])\n", "\n", "res = vgg(inp)\n",