Skip to content

LTS-5452: README step to set credentials as env vars - #8

Open
MihirR-BS wants to merge 5 commits into
mainfrom
LTS-5452-readme-credentials
Open

MihirR-BS wants to merge 5 commits into
mainfrom
LTS-5452-readme-credentials

Conversation

@MihirR-BS

@MihirR-BS MihirR-BS commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Adds a Set your credentials step to the README. It covers exporting BROWSERSTACK_USERNAME / BROWSERSTACK_ACCESS_KEY in the shell (macOS/Linux and PowerShell) and never committing them. The CLI reads both from the environment.

Asked for in BrowserStack Security's retest of LTS-5452: the sample READMEs had no step for setting credentials.

JIRA: https://browserstack.atlassian.net/browse/LTS-5452

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added Windows-specific instructions for downloading and running the CLI across the setup guides.
    • Added macOS, Linux, and Windows instructions for setting BrowserStack credentials in the current terminal session, including guidance on keeping credentials out of committed files.
    • Updated test-running and results steps.

Export BROWSERSTACK_USERNAME / BROWSERSTACK_ACCESS_KEY in the shell and
never commit them; the CLI reads them from the environment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MihirR-BS
MihirR-BS requested a review from a team as a code owner November 6, 2026 01:13
@MihirR-BS
MihirR-BS requested a review from anupam-s-20 November 6, 2026 01:13
@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Explain Change →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

Review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Central YAML (base), Organization UI (inherited), Workspace UI (inherited); Enforced overrides: Organization
  • Review profile: ASSERTIVE
  • Plan: Enterprise
  • Run ID: e3d51322-fa1e-468e-8dfe-2ff79fa9cbcd
Commits

Reviewing files that changed from the base of the PR and between a9d5ff4 and 082fb74.

Files selected for processing: 7

  • README.md
  • java/README.md
  • jest/README.md
  • junit-4/README.md
  • junit-5/README.md
  • serenity-cucumber/README.md
  • testng/README.md

No actionable comments were generated in the recent review.

Walkthrough

The repository documentation now identifies the Windows CLI binary, explains how to set BrowserStack credentials in macOS/Linux shells and PowerShell, and includes Windows commands for running tests. The ignore rules also exclude browserstack-cli.exe.

Changes: Windows CLI setup

Layer / File(s) Summary
Windows binary setup
.gitignore, README.md, java/README.md, jest/README.md, junit-4/README.md, junit-5/README.md, serenity-cucumber/README.md, testng/README.md
The READMEs identify browserstack-cli.exe as the Windows binary. .gitignore excludes files with that name at any directory depth.
Credential setup
README.md, java/README.md, jest/README.md, junit-4/README.md, junit-5/README.md, serenity-cucumber/README.md, testng/README.md
The READMEs document shell-specific commands for setting BrowserStack credentials. They note that the variables last for the current terminal session and warn against committing or exposing credentials.
CLI test commands
README.md, java/README.md, jest/README.md, junit-4/README.md, junit-5/README.md, serenity-cucumber/README.md, testng/README.md
The READMEs add Windows PowerShell commands to run the CLI and update the run and results step numbering.

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Other

Merge Risk: Minimal · previous review a9d5f

The updated setup guidance is mergeable after normal checks.

Security architecture risk: Low · up to cdf70

The instructions keep credentials out of committed configuration, but entering an access key directly into an interactive command can leave it in shell history. Exposure requires access to that history or a copy; no new service privileges or network entrypoints are introduced.

Retained concerns

  • Low · security · inferred: The newly prescribed literal-key commands can persist a BrowserStack access key in shell history, extending its lifetime beyond the intended process environment. Another principal must obtain that history or a copy to exploit the exposure; the available evidence does not establish the key's full authority.
Security review details

Security Blast Radius

  • inferred — The supported exposure is a user's BrowserStack credential retained on the execution workstation or in a history copy. Successful misuse would inherit that credential's permissions; the evidence does not establish cross-tenant access, organization-wide authority, or production-data access.

Security Findings and Attack Paths

  • inferred — The two retained findings describe the same conditional path: a user substitutes a real key into the new command examples, shell history retains the command, and someone with access to that history or a copy obtains the key. History settings or filtering can interrupt this path; the README does not prescribe such protection.

Trust Boundaries and Controls

  • inferred — The relevant boundary is between transient credential use and durable command-history storage. Keeping keys out of repository files does not by itself protect this separate storage location, and ending the shell session does not necessarily remove a retained command.
Pre-merge checks: Passed 4

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: README instructions for setting credentials as environment variables.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

A rabbit reads the setup guide,
Then sets the keys with care.
The Windows CLI joins the run,
With PowerShell commands there.
No secrets tucked in files,
The steps now lead the way.

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Central YAML (base), Organization UI (inherited), Workspace UI (inherited); Enforced overrides: Organization
  • Review profile: ASSERTIVE
  • Plan: Enterprise
  • Run ID: 58edece3-96f2-4c28-b6f1-afa931c13451
Commits

Reviewing files that changed from the base of the PR and between cdf70c5 and a9d5ff4.

Files selected for processing: 8

  • .gitignore
  • README.md
  • java/README.md
  • jest/README.md
  • junit-4/README.md
  • junit-5/README.md
  • serenity-cucumber/README.md
  • testng/README.md

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 0 remain after this review.

@MihirR-BS

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Hidden prompt for the access key so it stays out of bash/zsh and
PSReadLine history (CodeRabbit); note the variables last for the current
session and how to spot an unset one; per-repo fixes from the code review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MihirR-BS

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@MihirR-BS

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

MihirR-BS and others added 2 commits November 6, 2026 07:32
Prompt and export on one line, so pasting the block can't feed the export line to read. Robot: per-OS signature check, .gitignore for the CLI binary. Selenium: ignore browserstack-cli.exe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zsh (macOS default) has interactive_comments off, so pasted '#' lines printed errors; the labels now sit outside the sh fences. The placement note names browserstack-cli.exe for Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MihirR-BS

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

codesign -dv's TeamIdentifier can be forged on an ad hoc signature; require an Apple-anchored leaf cert with OU YQ5FZQ855D instead (checked against the current macOS arm64 build: passes; a wrong OU fails). Add chmod +x after unzip (CodeRabbit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MihirR-BS

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 6, 2026

Copy link
Copy Markdown
Action performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

1 participant