Skip to content

Conversation

@pkaeding
Copy link
Contributor

@pkaeding pkaeding commented Sep 11, 2025

Summary

Add dependency-scan GitHub Actions workflow to generate Node.js Software Bill of Materials (SBOM) for SEC-7263 security initiative.

This workflow:

  • Generates SBOM for Node.js dependencies using launchdarkly/gh-actions (appropriate for public repositories)
  • Evaluates generated SBOM against defined security policies
  • Runs on pull requests and pushes to main branch
  • Uses standard ubuntu-latest runner for public repository

How did you test this change?

This change adds a new GitHub Actions workflow that will be tested when the PR is created. The workflow follows the established pattern from other LaunchDarkly repositories, using launchdarkly/gh-actions for public repositories.

Key items for reviewer to verify:

  • Workflow runs successfully without authentication errors
  • Node.js SBOM generation is appropriate for this repository's dependencies
  • Generated artifacts (bom-*) are properly created and evaluated
  • Triggers (PR and main branch push) are suitable for this repository

Are there any deployment considerations?

No deployment considerations - this only adds CI workflow for security scanning. The workflow will begin running automatically on future PRs and main branch pushes.


Link to Devin run: https://app.devin.ai/sessions/434bb14b7bac4d81b9979b88965be92b
Requested by: @pkaeding


Note

Adds a GitHub Actions workflow to generate a Node.js SBOM and evaluate it against policy on PRs and main pushes.

  • CI:
    • New Workflow: /.github/workflows/dependency-scan.yml
      • Generates Node.js SBOM via launchdarkly/gh-actions.
      • Evaluates SBOM against policy using bom.nodejs.json.
      • Triggers on pull_request and pushes to main; runs on ubuntu-latest with read-only contents permissions.

Written by Cursor Bugbot for commit 2d538fa. This will update automatically on new commits. Configure here.


Related Jira issue: SEC-7263: Investigate impact of compromised NPM packages: debug and chalk

Generate Node.js SBOM using launchdarkly/gh-actions for SEC-7263.
Add policy evaluation step with bom-* artifacts pattern.
Configure triggers for pull requests and main branch pushes.

Co-Authored-By: Patrick Kaeding <[email protected]>
@pkaeding pkaeding requested a review from a team as a code owner September 11, 2025 14:07
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@pkaeding pkaeding changed the title [SEC-7263] Add dependency-scan GitHub Actions workflow chore: [SEC-7263] Add dependency-scan GitHub Actions workflow Sep 11, 2025
pkaeding and others added 8 commits September 11, 2025 10:13
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Fix YAML formatting issues to resolve Build Yarn Turborepo CI failure.
Apply consistent indentation and spacing per repository standards.

Co-Authored-By: Patrick Kaeding <[email protected]>
Address formatting check failure in Build Yarn Turborepo workflow.
Run prettier --write to fix code style issues for SEC-7263.

Co-Authored-By: Patrick Kaeding <[email protected]>
The evaluate-policy job needs actions/checkout@v4 to properly download
SBOM artifacts from the generate-nodejs-sbom job. This resolves the
'0 artifact(s)' error in the policy evaluation step.

Co-Authored-By: Patrick Kaeding <[email protected]>
- Add NODE_OPTIONS with 6GB memory limit to prevent cdxgen timeout
- Add 10-minute timeout to generate-sbom step
- Verified locally that cdxgen creates 3.7MB SBOM with 4458 components

Co-Authored-By: Patrick Kaeding <[email protected]>
Target only sdk/ directory with recurse=false to avoid scanning 9,287
package.json files in rrweb submodule that cause cdxgen to timeout.

Co-Authored-By: Patrick Kaeding <[email protected]>
…cy analysis

- Remove rrweb submodule exclusion to generate full SBOM as requested
- Upgrade to ubuntu-latest-8-cores runner for better performance
- Increase memory allocation to 8192MB for large monorepo processing
- Extend timeout to 20 minutes for comprehensive SBOM generation
- Fix formatting issues with yarn format:all

Co-Authored-By: Patrick Kaeding <[email protected]>
Address GitHub comment from kinyoklion requesting correct SHA.
Update to use 08eba0b27e820071cde6df949e0beb9ba4906955 instead of
692973e3d937129bcbf40652eb9f2f61becf3332.

Co-Authored-By: Patrick Kaeding <[email protected]>
cursor[bot]

This comment was marked as outdated.

devin-ai-integration bot and others added 2 commits October 7, 2025 01:29
…ion memory issue

- Update to use launchdarkly/gh-actions/.github/workflows/dependency-scan.yml@main
- Specify ubuntu-latest-8-cores runner to handle large repository size
- Resolves evaluate-policy job failure due to missing SBOM artifacts
- Addresses SEC-7263 dependency scan standardization

Co-Authored-By: Patrick Kaeding <[email protected]>
cursor[bot]

This comment was marked as outdated.

pkaeding and others added 4 commits October 14, 2025 19:19
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
cursor[bot]

This comment was marked as outdated.

@Vadman97
Copy link
Contributor

fixed lint

@pkaeding pkaeding enabled auto-merge (squash) October 16, 2025 11:46
@BehnH BehnH disabled auto-merge October 16, 2025 14:47
@BehnH BehnH enabled auto-merge (squash) October 16, 2025 14:48
@BehnH BehnH merged commit b75031a into main Oct 16, 2025
23 checks passed
@BehnH BehnH deleted the devin/1757599614-add-dependency-scan-workflow branch October 16, 2025 14:49
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.

5 participants