Skip to content

feat: add ignore_https_errors input for scanning self-signed SSL environments - #294

Closed
abdulahmad307 with Copilot wants to merge 3 commits into
mainfrom
copy-pr-224
Closed

abdulahmad307 with Copilot wants to merge 3 commits into
mainfrom
copy-pr-224

Conversation

Copilot AI commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds an ignore_https_errors input so the scanner can run against environments with self-signed or otherwise invalid certificates, e.g. internal staging hosts (#150). Off by default; nothing changes unless explicitly opted in.

Changes

  • action.yml: new optional ignore_https_errors input (default false), documented in the README.
  • index.ts: reads the input (loadIgnoreHttpsErrors) and threads it through to the scan.
  • findForUrl.ts: when enabled, sets Playwright's ignoreHTTPSErrors: true on the browser context; when disabled the context options are untouched.

Note: this touches the same file as #223 (the SPA networkidle wait), so whichever lands second may need a trivial rebase; the changes are logically independent.

Testing

vitest run tests/findForUrl.test.ts — 8 passed, including new cases asserting the context gets ignoreHTTPSErrors only when the input is enabled.

Closes #150

AI was used for assistance.

mvanhorn and others added 3 commits June 7, 2026 09:03
Opt-in input that sets Playwright's ignoreHTTPSErrors on the browser
context so the scanner can run against staging hosts with self-signed or
invalid certs. Default off; behavior unchanged unless enabled.

Closes #150

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s-errors-self-signed-ssl

# Conflicts:
#	.github/actions/find/action.yml
#	.github/actions/find/tests/findForUrl.test.ts
#	README.md
The built-in login flow ran in a browser context without
ignoreHTTPSErrors, so login failed on self-signed hosts before Find
could run. Auth now takes the same input and the root action passes it
through. The find index test expects the new sixth argument.
Comment on lines +24 to +26
#### `ignore_https_errors`

**Optional** Bool - whether to ignore HTTPS errors when logging in to hosts with self-signed certificates.
@abdulahmad307
abdulahmad307 marked this pull request as ready for review October 30, 2026 18:54
Copilot AI auto review requested due to automatic review settings October 30, 2026 18:54
@abdulahmad307
abdulahmad307 requested a review from a team as a code owner October 30, 2026 18:54
@abdulahmad307

Copy link
Copy Markdown
Contributor

workflows passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Remaining findings identify gaps in ignore_https_errors input coverage and documentation of its login scope, certificate-validation risks, and recommended restriction to trusted test environments.

2 open issues
What changed in this PR

Adds opt-in HTTPS certificate-error handling so the accessibility scanner can scan self-signed test environments, addressing #150. The setting is disabled by default and applies to both authentication and scanning.

Changes:

  • Expose and forward ignore_https_errors through the composite, authentication, and scan actions.
  • Conditionally enable Playwright’s ignoreHTTPSErrors browser-context option.
  • Document the input and add tests for enabled, disabled, and default scan-context behavior.
File Description
README.md Documents the public input and workflow usage.
action.yml Declares the input and forwards it to authentication and scanning.
.github/​actions/​find/​tests/​index.test.ts Updates the entry-point assertion for the new argument.
.github/​actions/​find/​tests/​findForUrl.test.ts Tests enabled, disabled, and default context options.
.github/​actions/​find/​src/​index.ts Parses the input and passes it to each scan.
.github/​actions/​find/​src/​findForUrl.ts Conditionally enables HTTPS-error handling in scan contexts.
.github/​actions/​find/​README.md Documents the scan action’s input.
.github/​actions/​find/​action.yml Declares the scan input with a false default.
.github/​actions/​auth/​src/​index.ts Applies the option to the login browser context.
.github/​actions/​auth/​README.md Documents the authentication input.
.github/​actions/​auth/​action.yml Declares the authentication input with a false default.

Review effort: Max (auto)

await find()

expect(mocks.findForUrl).toHaveBeenCalledWith(urlConfig, expect.anything(), false, undefined, undefined)
expect(mocks.findForUrl).toHaveBeenCalledWith(urlConfig, expect.anything(), false, undefined, undefined, false)
Comment thread README.md
| `file_experimental_issues` | No | Whether to file issues for experimental findings (checks that are not yet stable). Set to `false` to suppress new experimental issues; existing ones are left untouched. Default: `true` | `false` |
| `reduced_motion` | No | Playwright `reducedMotion` setting for scan contexts. Allowed values: `reduce`, `no-preference` | `reduce` |
| `color_scheme` | No | Playwright `colorScheme` setting for scan contexts. Allowed values: `light`, `dark`, `no-preference` | `dark` |
| `ignore_https_errors` | No | Whether to ignore HTTPS errors when scanning URLs with self-signed certificates. Default: `false` | `true` |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot scan sites with self-signed SSL certs

5 participants