You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fc535b4
Browse filesBrowse the repository at this point in the historyBrowse files
Pravali Uppugunduri
committed
fix: Add HMAC integrity verification for Triton inference handler
Addresses P400136088 Bug 1 and V2146375387 (Triton path).
Three changes:
1. check_integrity.py: Switch from HMAC-SHA256 to plain SHA-256.
- Remove generate_secret_key() — no longer needed
- compute_hash() now uses hashlib.sha256() instead of hmac.new()
- perform_integrity_check() no longer reads SAGEMAKER_SERVE_SECRET_KEY
from environment
2. triton/model.py: Add integrity check in initialize() BEFORE
cloudpickle deserialization. Previously the handler called
cloudpickle.load() with no verification (acknowledged by a TODO
comment). Now reads the file into a buffer, runs
perform_integrity_check(), then deserializes with cloudpickle.loads().
3. triton/server.py: Remove SAGEMAKER_SERVE_SECRET_KEY from container
environment variables in both local and SageMaker deployment modes.
The key is no longer needed since integrity checking uses plain
SHA-256.
4. model_builder_utils.py: Update _hmac_signing() to use plain SHA-256
and stop generating/storing a secret key. Remove generate_secret_key
import.
The integrity check still detects accidental corruption of model
artifacts in S3. The HMAC was providing a false sense of security since
the key was exposed via DescribeModel/DescribeEndpointConfig APIs.
0 commit comments