Merge pull request #724 from jersobh/hide-sensitive-inputs-from-controller-logs

Avoid logging sensitive information on input_text logs in controller
This commit is contained in:
Magnus Müller
2025-02-14 06:48:38 -08:00
committed by GitHub
2 changed files with 7 additions and 2 deletions

View File

@@ -122,6 +122,8 @@ class Registry:
extra_args['page_extraction_llm'] = page_extraction_llm
if 'available_file_paths' in parameter_names:
extra_args['available_file_paths'] = available_file_paths
if action_name == 'input_text' and sensitive_data:
extra_args['has_sensitive_data'] = True
if is_pydantic:
return await action.function(validated_params, **extra_args)
return await action.function(**validated_params.model_dump(), **extra_args)

View File

@@ -125,7 +125,7 @@ class Controller:
'Input text into a input interactive element',
param_model=InputTextAction,
)
async def input_text(params: InputTextAction, browser: BrowserContext):
async def input_text(params: InputTextAction, browser: BrowserContext, has_sensitive_data: bool = False):
session = await browser.get_session()
state = session.cached_state
@@ -134,7 +134,10 @@ class Controller:
element_node = state.selector_map[params.index]
await browser._input_text_element_node(element_node, params.text)
msg = f'⌨️ Input {params.text} into index {params.index}'
if not has_sensitive_data:
msg = f'⌨️ Input {params.text} into index {params.index}'
else:
msg = f'⌨️ Input sensitive data into index {params.index}'
logger.info(msg)
logger.debug(f'Element xpath: {element_node.xpath}')
return ActionResult(extracted_content=msg, include_in_memory=True)