upload-sarif: token input doesn't work
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- github-actions, typescript
調査の方向性
upload-sarif action のトークン入力と、SARIF のアップロードに使用される GitHub API リクエストから始めます。そのリクエストを、リポジトリの code-scanning エンドポイントへの成功した curl 呼び出しと比較します。提供された workflow で失敗を再現し、設定済みのトークンによって Not Found エラーなしでアップロードを完了できることを確認します。
索引モデルが issue の本文から書いたものです。
説明
I have this step in a workflow and it works:
- name: "Upload Trivy scan results to GitHub Security tab"
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: '${{ env.trivy_output_file }}'
category: 'trivy-image-${{ matrix.image }}'
but it doesn't work if add the token argument:
- name: "Upload Trivy scan results to GitHub Security tab"
uses: github/codeql-action/upload-sarif@v3
with:
token: ${{ secrets.MY_TOKEN }}
sarif_file: '${{ env.trivy_output_file }}'
category: 'trivy-image-${{ matrix.image }}'
This is the error:
Uploading results
Processing sarif files: ["trivy-test-yellow.sarif"]
Validating trivy-test-yellow.sarif
Combining SARIF files using the CodeQL CLI
Adding fingerprints to SARIF file. For more information, see https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs
Uploading results
Warning: Not Found
Error: Not Found
Debug
Uploading results
Processing sarif files: ["trivy-test-yellow.sarif"]
Validating trivy-test-yellow.sarif
Combining SARIF files using the CodeQL CLI
Adding fingerprints to SARIF file. For more information, see https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs
##[debug]Validating that each SARIF run has a unique category
##[debug]Serializing SARIF for upload
##[debug]Compressing serialized SARIF
##[debug]Raw upload size: 542 bytes
##[debug]Base64 zipped upload size: 472 bytes
##[debug]Number of results in upload: 0
Uploading results
Warning: Not Found
Error: Not Found
##[debug]Sending status report: {"action_name":"upload-sarif","action_oid":"unknown","action_ref":"v3","action_started_at":"2024-07-24T13:50:22.018Z","action_version":"3.25.13","analysis_key":".github/workflows/build new.yml:build","commit_oid":"f26f5724a7c97d43f52ce8d4c9c0ed09b5eeba51","first_party_analysis":false,"job_name":"build","job_run_uuid":"","ref":"refs/heads/main","runner_os":"Linux","started_at":"2024-07-24T13:50:22.018Z","status":"failure","steady_state_default_setup":false,"testing_environment":"","workflow_name":"builed new","workflow_run_attempt":1,"workflow_run_id":100[77](https://github.com/my..repo.../actions/runs/10077937806/job/27861647308#step:9:78)937806,"actions_event_name":"workflow_dispatch","runner_available_disk_space_bytes":21029244928,"runner_total_disk_space_bytes":7[78](https://github.com/my..repo.../actions/runs/10077937806/job/27861647308#step:9:79)51254784,"cause":"Not Found","exception":"HttpError: Not Found\n at /home/runner/work/_actions/github/codeql-action/v3/node_modules/@octokit/request/dist-node/index.js:86:21\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async requestWithGraphqlErrorHandling (/home/runner/work/_actions/github/codeql-action/v3/node_modules/@octokit/plugin-retry/dist-node/index.js:71:20)\n at async Job.doExecute (/home/runner/work/_actions/github/codeql-action/v3/node_modules/bottleneck/light.js:405:18)","completed_at":"2024-07-24T13:50:22.[81](https://github.com/my..repo.../actions/runs/10077937806/job/27861647308#step:9:82)3Z","matrix_vars":"{\n \"dockerfile\": \"Dockerfile-ok\",\n \"image\": \"test/yellow\"\n}","runner_arch":"X64","runner_image_version":"20240721.1.0"}
##[debug]Node Action run completed with exit code 1
##[debug]CODEQL_ACTION_FEATURE_MULTI_LANGUAGE='false'
##[debug]CODEQL_ACTION_FEATURE_SANDWICH='false'
##[debug]CODEQL_ACTION_FEATURE_SARIF_COMBINE='true'
##[debug]CODEQL_ACTION_FEATURE_WILL_UPLOAD='true'
##[debug]CODEQL_ACTION_VERSION='3.25.13'
##[debug]CODEQL_ACTION_ANALYSIS_KEY='.github/workflows/build new.yml:build'
##[debug]CODEQL_WORKFLOW_STARTED_AT='2024-07-24T13:50:22.018Z'
##[debug]CODEQL_UPLOAD_SARIF_TRIVY_IMAGE_TEST_YELLOW__TRIVY='CODEQL_UPLOAD_SARIF_TRIVY_IMAGE_TEST_YELLOW__TRIVY'
##[debug]CODEQL_ACTION_JOB_STATUS='JOB_STATUS_FAILURE'
##[debug]Finishing: Upload Trivy scan results to GitHub Security tab
The secret is properly configured. If I change the secret value, I got "Bad credentials". I created this step to check the token and it works:
- name: testing secrets
env:
MY_TOKEN: ${{ secrets.MY_TOKEN }}
run: |
REPOSITORY=".../..."
# Variables
BASE_URL="https://api.github.com/repos/$REPOSITORY/code-scanning"
HEADERS=(
-H "Accept: application/vnd.github+json"
-H "Authorization: Bearer $MY_TOKEN"
-H "X-GitHub-Api-Version: 2022-11-28"
)
curl -Ls \
-X GET \
"${HEADERS[@]}" \
"$BASE_URL/analyses?per_page=1"
- 主要言語
- TypeScript
- スター
- 1.6k
- フォーク
- 493
- 平均マージ
- 1日 13時間
- マージ済み PR(30日)
- 44
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/codeql-action のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
github/codeql-action#4052 · コメント 4 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
github/codeql-action#4078 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
github/codeql-action#4008 · コメント 9 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
github/codeql-action#3978 · コメント 4 件 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
github/codeql-action#3915 · コメント 6 件 · リアクション 3 件 ·
github/codeql-action の issue をすべて見る
似ている issue
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
supermomonga/zcode-acp#24 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
growthbook/growthbook#7100 ·
-
triage
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100