Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Safe Outputs Conformance] SEC-005: Cross-repo target-repo field flagged without allowlist check

オープン 初心者向け
#71,058 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
67/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, shell

調査の方向性

scripts/check-safe-outputs-conformance.sh、特に check_cross_repo を読み、actions/setup/js/unified_session_payload.cjs と actions/setup/js/unified_session_render.cjs の targetRepo マッピングを調べてください。これらのファイルがメタデータを通過させるか表示するだけであることを確認し、その後、マッピングの近くに文書化された SEC-005 の例外を追加してください。bash scripts/check-safe-outputs-conformance.sh を実行し、両方のファイルがチェックに合格することを確認してください。

索引モデルが issue の本文から書いたものです。

説明

automated conformance safe-outputs security
Conformance Check Failure

Check ID: SEC-005
Severity: HIGH
Category: Security

Problem Description

The conformance checker flags two files for supporting a target-repo-shaped field without a visible allowlist validation call:

  • actions/setup/js/unified_session_payload.cjs (line ~453): maps targetRepo/target_repo into the unified session payload field extraction table.
  • actions/setup/js/unified_session_render.cjs (line ~276): includes targetRepo in a list of fields rendered into a human-readable session log line.

Both usages are read-only: they copy an already-resolved targetRepo value from session metadata into an observability payload or log line for display. Neither file makes a GitHub API call against a different repository, so SEC-005s allowlist requirement (allowed.*[Rr]epos, validateTargetRepo, checkAllowedRepo) does not apply to them the way it does to a true cross-repo write handler.

Affected Components
  • Files: actions/setup/js/unified_session_payload.cjs, actions/setup/js/unified_session_render.cjs
  • Check: scripts/check-safe-outputs-conformance.sh function check_cross_repo (SEC-005)
<b>Current vs Expected Behavior</b>
Current Behavior

The SEC-005 regex (\btarget-repo\b|\btargetRepo\b|\btarget_repo\b) matches any file that merely references a targetRepo identifier, including pure display/metadata-mapping code, and then requires an allowlist-check pattern in that same file or logs a HIGH failure.

Expected Behavior

SEC-005 is intended to catch handlers that use target-repo to perform a cross-repository GitHub API write without validating against allowed-repos. Pure metadata pass-through/rendering code that never calls the GitHub API should not trip this check. The script already supports a documented exemption via an @safe-outputs-exempt SEC-005 annotation for exactly this situation.

Remediation Steps
  1. Confirm unified_session_payload.cjs and unified_session_render.cjs never pass targetRepo to an octokit call or any cross-repo write path (only read/display it).
  2. If confirmed, add a documented exemption comment (// @safe-outputs-exempt SEC-005: <reason>) near the targetRepo field mapping in both files, explaining that the field is display/telemetry-only metadata, not a cross-repo write target.
  3. If either file is later changed to perform an actual cross-repo API call using this field, remove the exemption and add a real allowlist check at that call site instead.
Verification

After remediation, verify the fix by running:

bash scripts/check-safe-outputs-conformance.sh

SEC-005 should report PASS for both files.

References
  • Safe Outputs Specification: docs/src/content/docs/specs/safe-outputs-specification.md
  • Conformance Checker: scripts/check-safe-outputs-conformance.sh
  • Run: §39729823556
  • Date: 2026-10-22

Generated by ✅ Daily Safe Outputs Conformance Checker · claude · agent · 132.9 AIC · ⌖ 0.552 AIC · ⊞ 5.4K · ◷

  • expires on Oct 22, 2026, 9:54 PM UTC-08:00
主要言語
Go
スター
5.4k
フォーク
596
平均マージ
3時間 41分
マージ済み PR(30日)
829

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/gh-aw のほかの issue

github/gh-aw の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。