
Heisenberg SSC 用の GitHub Action
軽量な依存関係更新用のPRガードレールです。
ロックファイルやマニフェストから新しく追加・変更された依存関係のみをスキャンし、deps.devとヒューリスティックによる健全性・リスクシグナルを取得、新規公開をフラグ付けし、PRにレポートをコメントし、オプションでセキュリティレビュー用のラベルを付け、ポリシーに違反した場合にジョブを失敗させることもできます。
対応エコシステム: PyPI (poetry.lock, requirements.txt, uv.lock), npm/yarn (package-lock.json, yarn.lock), Go (go.mod)
security review**ラベルを追加し、警告モードで実行します(CIはグリーンのままで、煩わしさを軽減)。デフォルトでは非ブロッキング: これはハードブロックではなく、スピードバンプのようなもので、不審なものが検出された場合に警告を受け取れます。CIパイプラインは失敗しませんが、依存関係のリスクはコメントに表示されます。PRに
accept-riskとコメントすると、フラグが付けられたパッケージに対する今後の通知を、マニフェストに別のコミットを行うまで抑制できます。
Poetry / npm / Yarn / Go を使用するリポジトリ向けの最小限のワークフロー:
name: Heisenberg Health Check
on:
pull_request:
paths:
- "**/poetry.lock"
- "**/uv.lock"
- "**/package-lock.json"
- "**/yarn.lock"
- "**/requirements.txt"
- "**/go.mod"
permissions:
contents: read
pull-requests: write # PR comment
issues: write # create label (only needed if add_security_label is true)
jobs:
deps-health:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Detect changed manifest
id: detect
run: |
git fetch origin ${{ github.base_ref }} --depth=1
LOCK_PATH=$(git diff --name-only origin/${{ github.base_ref }} | \
grep -E 'poetry.lock$|uv.lock$|package-lock.json$|yarn.lock$|requirements.txt$|go.mod$' | head -n1 || true)
echo "lock_path=$LOCK_PATH" >> $GITHUB_OUTPUT
- name: Heisenberg Dependency Health Check
uses: AppOmni-Labs/heisenberg-ssc-gha@v1
with:
package_file: ${{ steps.detect.outputs.lock_path }}
Security Reviewラベルを無効にするアクションがフラグ付き依存関係のあるPRにSecurity Reviewラベルを追加したくない場合は、add_security_labelを"false"に設定してください:
- name: Heisenberg Dependency Health Check
uses: AppOmni-Labs/heisenberg-ssc-gha@v1
with:
package_file: ${{ steps.detect.outputs.lock_path }}
add_security_label: "false"