
Acción de GitHub para Heisenberg SSC
Una guardia ligera para PRs en actualizaciones de dependencias.
Escanea solo las dependencias nuevas o modificadas (de tu archivo de bloqueo/manifiesto), obtiene señales de salud y riesgo (deps.dev + heurísticas), marca publicaciones recientes, comenta un informe en el PR, opcionalmente lo etiqueta para revisión de seguridad y puede fallar el trabajo si se infringe una política.
Ecosistemas compatibles: PyPI (poetry.lock, requirements.txt, uv.lock), npm/yarn (package-lock.json, yarn.lock), Go (go.mod).
security review y se ejecuta en MODO DE ADVERTENCIA (el CI se mantiene verde para mantener bajo nivel de molestia).No bloqueante por defecto: No es un bloqueo duro, solo un reductor de velocidad para que puedas ser alertado si se detecta algo sospechoso. Tu pipeline de CI no fallará, pero los riesgos de dependencia se mostrarán en el comentario. Puedes comentar
accept-risken el PR para suprimir notificaciones futuras para los paquetes marcados hasta que hagas otro commit en el manifiesto.
Flujo de trabajo mínimo para un repositorio que usa 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 ReviewSi no deseas que la acción agregue la etiqueta Security Review a los PRs con dependencias marcadas, establece add_security_label en "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"