Skip to content

[Security] Remove actions/download-artifact Buffer deprecation warning #199

@seonghobae

Description

@seonghobae

현재 역할

과업 / O3: default-branch zero-warning stabilization under #194.

Symptom

Post-merge develop OSSF Scorecard run logs a Node deprecation warning while downloading the Scorecard SARIF artifact:

(node:2495) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

Observed in run: https://github.com/seonghobae/bandscope/actions/runs/25212295544
Step owner: .github/workflows/ossf-scorecard.yml scorecard-sarif-upload job, actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c.

Root-cause hypothesis

actions/download-artifact@v8.0.1 decompresses artifact zips through its bundled Node dependency chain (@actions/artifact -> unzip stack) that still emits new Buffer(...) under Node 24. This is externally owned by the GitHub action dependency stack, but BandScope can avoid the warning-producing decompression path by using skip-decompress: true and a repo-owned safe extractor.

Relationships

Acceptance criteria

  • OSSF Scorecard artifact download no longer emits [DEP0005] Buffer() in default-branch verification.
  • Artifact digest validation and SHA-pinned action controls remain intact.
  • Safe extraction rejects traversal, absolute paths, unexpected members, malformed zip, and missing results.sarif.
  • Supply-chain verifier prevents regression to warning-producing Scorecard artifact decompression.
  • PR checks pass and robot reviewer approval/skip evidence is current-head.
  • Post-merge develop OSSF Scorecard run is successful and warning evidence is recorded back on [Security] Post-#192 default-branch PR queue stabilization and dependency gate closure #194.

Security Notes

Artifact zip contents are untrusted CI artifacts. The extractor must only accept a narrow expected member, reject path traversal/symlink-like/archive shape anomalies, avoid broad filesystem writes, and fail closed before normalization/upload.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions