Unverified Commit c896b841 authored by Lucain's avatar Lucain Committed by GitHub
Browse files

Set `usedforsecurity=False` in hashlib methods (FIPS compliance) (#5790)

* Set usedforsecurity=False in hashlib methods (FIPS compliance)

* update version dependency

* bump hfh version

* bump hfh version
parent 69412d0a
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
import argparse import argparse
import hashlib
import itertools import itertools
import json import json
import logging import logging
...@@ -35,6 +34,7 @@ from accelerate import Accelerator ...@@ -35,6 +34,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import HfApi, create_repo from huggingface_hub import HfApi, create_repo
from huggingface_hub.utils import insecure_hashlib
from packaging import version from packaging import version
from PIL import Image from PIL import Image
from torch.utils.data import Dataset from torch.utils.data import Dataset
...@@ -760,7 +760,7 @@ def main(args): ...@@ -760,7 +760,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = ( image_filename = (
class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
) )
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
import argparse import argparse
import copy import copy
import gc import gc
import hashlib
import importlib import importlib
import itertools import itertools
import logging import logging
...@@ -35,6 +34,7 @@ from accelerate import Accelerator ...@@ -35,6 +34,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import create_repo, model_info, upload_folder from huggingface_hub import create_repo, model_info, upload_folder
from huggingface_hub.utils import insecure_hashlib
from packaging import version from packaging import version
from PIL import Image from PIL import Image
from PIL.ImageOps import exif_transpose from PIL.ImageOps import exif_transpose
...@@ -877,7 +877,7 @@ def main(args): ...@@ -877,7 +877,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
import argparse import argparse
import hashlib
import logging import logging
import math import math
import os import os
...@@ -16,6 +15,7 @@ from flax import jax_utils ...@@ -16,6 +15,7 @@ from flax import jax_utils
from flax.training import train_state from flax.training import train_state
from flax.training.common_utils import shard from flax.training.common_utils import shard
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from jax.experimental.compilation_cache import compilation_cache as cc from jax.experimental.compilation_cache import compilation_cache as cc
from PIL import Image from PIL import Image
from torch.utils.data import Dataset from torch.utils.data import Dataset
...@@ -373,7 +373,7 @@ def main(): ...@@ -373,7 +373,7 @@ def main():
images = pipeline.numpy_to_pil(np.array(images)) images = pipeline.numpy_to_pil(np.array(images))
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
import argparse import argparse
import copy import copy
import gc import gc
import hashlib
import itertools import itertools
import logging import logging
import math import math
...@@ -34,6 +33,7 @@ from accelerate import Accelerator ...@@ -34,6 +33,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from packaging import version from packaging import version
from PIL import Image from PIL import Image
from PIL.ImageOps import exif_transpose from PIL.ImageOps import exif_transpose
...@@ -735,7 +735,7 @@ def main(args): ...@@ -735,7 +735,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
import argparse import argparse
import gc import gc
import hashlib
import itertools import itertools
import logging import logging
import math import math
...@@ -33,6 +32,7 @@ from accelerate import Accelerator ...@@ -33,6 +32,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import DistributedDataParallelKwargs, ProjectConfiguration, set_seed from accelerate.utils import DistributedDataParallelKwargs, ProjectConfiguration, set_seed
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from packaging import version from packaging import version
from PIL import Image from PIL import Image
from PIL.ImageOps import exif_transpose from PIL.ImageOps import exif_transpose
...@@ -648,7 +648,7 @@ def main(args): ...@@ -648,7 +648,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
import argparse import argparse
import hashlib
import math import math
import os import os
from pathlib import Path from pathlib import Path
...@@ -16,6 +15,7 @@ from colossalai.nn.parallel.utils import get_static_torch_model ...@@ -16,6 +15,7 @@ from colossalai.nn.parallel.utils import get_static_torch_model
from colossalai.utils import get_current_device from colossalai.utils import get_current_device
from colossalai.utils.model.colo_init_context import ColoInitContext from colossalai.utils.model.colo_init_context import ColoInitContext
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from PIL import Image from PIL import Image
from torch.utils.data import Dataset from torch.utils.data import Dataset
from torchvision import transforms from torchvision import transforms
...@@ -394,7 +394,7 @@ def main(args): ...@@ -394,7 +394,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
import argparse import argparse
import hashlib
import itertools import itertools
import math import math
import os import os
...@@ -14,6 +13,7 @@ from accelerate import Accelerator ...@@ -14,6 +13,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
from torch.utils.data import Dataset from torch.utils.data import Dataset
from torchvision import transforms from torchvision import transforms
...@@ -465,7 +465,7 @@ def main(): ...@@ -465,7 +465,7 @@ def main():
images = pipeline(prompt=example["prompt"], mask_image=fake_mask, image=fake_pil_images).images images = pipeline(prompt=example["prompt"], mask_image=fake_mask, image=fake_pil_images).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
import argparse import argparse
import hashlib
import math import math
import os import os
import random import random
...@@ -13,6 +12,7 @@ from accelerate import Accelerator ...@@ -13,6 +12,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
from torch.utils.data import Dataset from torch.utils.data import Dataset
from torchvision import transforms from torchvision import transforms
...@@ -464,7 +464,7 @@ def main(): ...@@ -464,7 +464,7 @@ def main():
images = pipeline(prompt=example["prompt"], mask_image=fake_mask, image=fake_pil_images).images images = pipeline(prompt=example["prompt"], mask_image=fake_mask, image=fake_pil_images).images
for i, image in enumerate(images): for i, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg" image_filename = class_images_dir / f"{example['index'][i] + cur_class_images}-{hash_image}.jpg"
image.save(image_filename) image.save(image_filename)
......
import argparse import argparse
import hashlib
import itertools import itertools
import json import json
import logging import logging
...@@ -21,6 +20,7 @@ from accelerate import Accelerator ...@@ -21,6 +20,7 @@ from accelerate import Accelerator
from accelerate.logging import get_logger from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration, set_seed from accelerate.utils import ProjectConfiguration, set_seed
from huggingface_hub import create_repo, upload_folder from huggingface_hub import create_repo, upload_folder
from huggingface_hub.utils import insecure_hashlib
from PIL import Image from PIL import Image
from torch import dtype from torch import dtype
from torch.nn import Module from torch.nn import Module
...@@ -843,7 +843,7 @@ def main(args): ...@@ -843,7 +843,7 @@ def main(args):
images = pipeline(example["prompt"]).images images = pipeline(example["prompt"]).images
for ii, image in enumerate(images): for ii, image in enumerate(images):
hash_image = hashlib.sha1(image.tobytes()).hexdigest() hash_image = insecure_hashlib.sha1(image.tobytes()).hexdigest()
image_filename = ( image_filename = (
class_images_dir / f"{example['index'][ii] + cur_class_images}-{hash_image}.jpg" class_images_dir / f"{example['index'][ii] + cur_class_images}-{hash_image}.jpg"
) )
......
import hashlib
import math import math
import os import os
import urllib import urllib
...@@ -8,6 +7,7 @@ from argparse import ArgumentParser ...@@ -8,6 +7,7 @@ from argparse import ArgumentParser
import torch import torch
import torch.nn as nn import torch.nn as nn
import torch.nn.functional as F import torch.nn.functional as F
from huggingface_hub.utils import insecure_hashlib
from safetensors.torch import load_file as stl from safetensors.torch import load_file as stl
from tqdm import tqdm from tqdm import tqdm
...@@ -51,7 +51,7 @@ def _download(url: str, root: str): ...@@ -51,7 +51,7 @@ def _download(url: str, root: str):
raise RuntimeError(f"{download_target} exists and is not a regular file") raise RuntimeError(f"{download_target} exists and is not a regular file")
if os.path.isfile(download_target): if os.path.isfile(download_target):
if hashlib.sha256(open(download_target, "rb").read()).hexdigest() == expected_sha256: if insecure_hashlib.sha256(open(download_target, "rb").read()).hexdigest() == expected_sha256:
return download_target return download_target
else: else:
warnings.warn(f"{download_target} exists, but the SHA256 checksum does not match; re-downloading the file") warnings.warn(f"{download_target} exists, but the SHA256 checksum does not match; re-downloading the file")
...@@ -72,7 +72,7 @@ def _download(url: str, root: str): ...@@ -72,7 +72,7 @@ def _download(url: str, root: str):
output.write(buffer) output.write(buffer)
loop.update(len(buffer)) loop.update(len(buffer))
if hashlib.sha256(open(download_target, "rb").read()).hexdigest() != expected_sha256: if insecure_hashlib.sha256(open(download_target, "rb").read()).hexdigest() != expected_sha256:
raise RuntimeError("Model has been downloaded but the SHA256 checksum does not not match") raise RuntimeError("Model has been downloaded but the SHA256 checksum does not not match")
return download_target return download_target
......
...@@ -98,7 +98,7 @@ _deps = [ ...@@ -98,7 +98,7 @@ _deps = [
"filelock", "filelock",
"flax>=0.4.1", "flax>=0.4.1",
"hf-doc-builder>=0.3.0", "hf-doc-builder>=0.3.0",
"huggingface-hub>=0.13.2", "huggingface-hub>=0.19.4",
"requests-mock==1.10.0", "requests-mock==1.10.0",
"importlib_metadata", "importlib_metadata",
"invisible-watermark>=0.2.0", "invisible-watermark>=0.2.0",
......
...@@ -10,7 +10,7 @@ deps = { ...@@ -10,7 +10,7 @@ deps = {
"filelock": "filelock", "filelock": "filelock",
"flax": "flax>=0.4.1", "flax": "flax>=0.4.1",
"hf-doc-builder": "hf-doc-builder>=0.3.0", "hf-doc-builder": "hf-doc-builder>=0.3.0",
"huggingface-hub": "huggingface-hub>=0.13.2", "huggingface-hub": "huggingface-hub>=0.19.4",
"requests-mock": "requests-mock==1.10.0", "requests-mock": "requests-mock==1.10.0",
"importlib_metadata": "importlib_metadata", "importlib_metadata": "importlib_metadata",
"invisible-watermark": "invisible-watermark>=0.2.0", "invisible-watermark": "invisible-watermark>=0.2.0",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment