Quick Start

Add to your workflow file
name: Binary Dependency Check
on: [pull_request]

jobs:
  binshield:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ashlrai/binshield-action@v1
        with:
          fail-on: high
          github-token: ${{ secrets.GITHUB_TOKEN }}

Inputs

All action inputs and their defaults
InputDescriptionDefault
api-base-urlBinShield API URLhttps://binshieldapi-production.up.railway.app
api-keyAPI key for authenticated scans-
github-tokenToken for PR comments-
working-directoryRepo path to inspect.
scan-modenative-only or all-dependenciesnative-only
fail-onRisk threshold: critical, high, medium, low, neverhigh
comment-modesummary, pr-comment, both, offsummary
include-dev-dependenciesScan devDependencies toofalse
poll-interval-msPolling delay in ms1500
timeout-msPolling timeout in ms120000
max-targetsMax packages to scan50

Scan Modes

native-only default

Only scan packages identified as native binary candidates. Fast, focused on the highest-risk dependencies.

all-dependencies

Scan every dependency in the lockfile. Use for compliance audits where full coverage is required.

Risk Levels

How BinShield classifies binary behavior risk
LevelScoreMeaning
none0No binaries or behaviors detected
low1-29Expected behaviors only
medium30-59Review-worthy behaviors present
high60-79Multiple risk signals, manual review required
critical80-100Severe indicators, block until validated

Example PR Comment

What your team sees on each pull request
## BinShield -- Binary Dependency Scan

3 native binaries found in 2 packages

| Package        | Risk     | Evidence                    |
|----------------|----------|-----------------------------|
| bcrypt@6.0.0   | MEDIUM   | 10 binaries, crypto, fs     |
| sharp@0.34.5   | LOW      | 1 binary, filesystem        |

All binaries passed the HIGH threshold.