fix: V-006 security vulnerability

Automated security fix generated by Orbis Security AI
pull/977/head
orbisai0security 5 months ago
parent c67ab53142
commit fa0db63daa

@ -1,10 +1,26 @@
import hashlib
import os
import numpy as np import numpy as np
from flask import Flask, request, render_template from flask import Flask, request, render_template
import pickle import joblib
app = Flask(__name__) app = Flask(__name__)
model = pickle.load(open("../ufo-model.pkl", "rb")) def _verify_model_integrity(path):
expected = os.environ.get("MODEL_SHA256", "")
if not expected:
raise RuntimeError("MODEL_SHA256 environment variable must be set to the expected SHA-256 hex digest of the model file")
sha256 = hashlib.sha256()
with open(path, "rb") as f:
for chunk in iter(lambda: f.read(8192), b""):
sha256.update(chunk)
digest = sha256.hexdigest()
if digest != expected:
raise RuntimeError("Model integrity check failed: file hash does not match MODEL_SHA256")
_MODEL_PATH = "../ufo-model.pkl"
_verify_model_integrity(_MODEL_PATH)
model = joblib.load(_MODEL_PATH)
@app.route("/") @app.route("/")
@ -29,4 +45,4 @@ def predict():
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True) app.run(debug=False)

Loading…
Cancel
Save