Skip to content

feat: validate mutually exclusive authentication fields for ssh_runner#1134

Open
deepsikha-dash wants to merge 1 commit into
utksh1:mainfrom
deepsikha-dash:fix-848-ssh-runner-mutually-exclusive
Open

feat: validate mutually exclusive authentication fields for ssh_runner#1134
deepsikha-dash wants to merge 1 commit into
utksh1:mainfrom
deepsikha-dash:fix-848-ssh-runner-mutually-exclusive

Conversation

@deepsikha-dash

Copy link
Copy Markdown
Contributor

Description

  • Added support for validating mutually exclusive authentication fields in plugin metadata.
  • Extended ssh_runner metadata with password and private_key fields.
  • Added a validation rule to ensure these authentication methods are mutually exclusive.
  • Updated plugin_validator.py to validate the mutually_exclusive property and verify referenced field IDs.

Related Issues

Closes #848

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

How Has This Been Tested?

Verified the changes using:

python scripts/validate_plugins.py --plugin ssh_runner
python scripts/refresh_plugin_checksum.py --plugin ssh_runner

Validation completed successfully and the plugin checksum was confirmed to be up to date.

Checklist

  • My code follows the code style of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.

@utksh1 utksh1 added level:intermediate 35 pts difficulty label for moderate contributor PRs type:feature Feature work category bonus label area:plugins Scanner plugin metadata, schemas, or plugin runtime work area:backend Backend API, database, or service work labels Jun 20, 2026

@utksh1 utksh1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes. This adds a metadata-level mutually_exclusive declaration, but it does not add runtime input enforcement or tests proving ssh_runner rejects payloads that provide both password and private_key. Please add focused validator/runtime coverage for the mutual-exclusion contract before merge.

@deepsikha-dash deepsikha-dash force-pushed the fix-848-ssh-runner-mutually-exclusive branch from 80ede2e to 73d7ad2 Compare June 20, 2026 19:11
@deepsikha-dash deepsikha-dash force-pushed the fix-848-ssh-runner-mutually-exclusive branch from 73d7ad2 to f902942 Compare June 20, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:backend Backend API, database, or service work area:plugins Scanner plugin metadata, schemas, or plugin runtime work level:intermediate 35 pts difficulty label for moderate contributor PRs type:feature Feature work category bonus label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TASK] Validate mutually exclusive arguments in ssh_runner metadata

2 participants