Skip to content

Commit 87b7f4f

Browse files
committed
fix: remove sensitive tokens from history items
Sanitize history items returned by get_history() to strip auth_token_comfy_org and api_key_comfy_org from prompt inputs. This prevents tokens from being exposed if history is ever persisted to disk or accessed over open networks. Closes Comfy-Org#8889
1 parent bdead4b commit 87b7f4f

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

execution.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1253,7 +1253,22 @@ def delete_queue_item(self, function):
12531253
return True
12541254
return False
12551255

1256+
def _sanitize_history_item(self, item: dict) -> dict:
1257+
"""Remove sensitive keys from prompt inputs in history items.
1258+
Prevents tokens from being exposed if history is ever persisted to disk."""
1259+
item = copy.deepcopy(item)
1260+
prompt = item.get("prompt", {})
1261+
if isinstance(prompt, dict):
1262+
for node_id, node_data in prompt.items():
1263+
if isinstance(node_data, dict):
1264+
inputs = node_data.get("inputs", {})
1265+
if isinstance(inputs, dict):
1266+
inputs.pop("auth_token_comfy_org", None)
1267+
inputs.pop("api_key_comfy_org", None)
1268+
return item
1269+
12561270
def get_history(self, prompt_id=None, max_items=None, offset=-1, map_function=None):
1271+
sanitize = self._sanitize_history_item
12571272
with self.mutex:
12581273
if prompt_id is None:
12591274
out = {}
@@ -1265,6 +1280,8 @@ def get_history(self, prompt_id=None, max_items=None, offset=-1, map_function=No
12651280
p = self.history[k]
12661281
if map_function is not None:
12671282
p = map_function(p)
1283+
else:
1284+
p = sanitize(p)
12681285
out[k] = p
12691286
if max_items is not None and len(out) >= max_items:
12701287
break
@@ -1273,7 +1290,7 @@ def get_history(self, prompt_id=None, max_items=None, offset=-1, map_function=No
12731290
elif prompt_id in self.history:
12741291
p = self.history[prompt_id]
12751292
if map_function is None:
1276-
p = copy.deepcopy(p)
1293+
p = sanitize(p)
12771294
else:
12781295
p = map_function(p)
12791296
return {prompt_id: p}

0 commit comments

Comments
 (0)