opendatahub-io/Miasma Detect
Scans GitHub PR/issue/comment event payloads and changed files for Shai-Hulud/Miasma-family supply-chain worm IOCs, generic family-technique heuristics, and prompt-injection payloads. Fails the check on detection so downstream automation (including coding agents) stops processing.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| min-severity | Failure threshold: low | medium | high | critical | no | medium |
| categories | Comma-separated rule categories to apply (default: all). Options: campaign-ioc,supply-chain,prompt-injection,package | no | "" |
| ioc-packs | Newline- or comma-separated paths to extra IOC pack JSON files (adds new campaigns without code changes) | no | "" |
| large-diff-lines | Flag changed files whose diff meets/exceeds this many lines (collapsed by the GitHub UI, hidden from human review). 0 disables. | no | 1000 |
| exclude | Newline-separated gitignore-style patterns to skip (a .miasmaignore file at the repo root is also honored for directory scans) | no | "" |
| scan-changed-files | Also scan files changed in the PR/push (requires actions/checkout with fetch-depth: 0) | no | true |
| paths | Additional newline-separated paths to scan | no | "" |
| signoff-command | Comment command a maintainer (write/admin) posts on the PR to acknowledge reviewed findings and waive the block. Approval must postdate the latest commit. Empty string disables waivers. | no | /miasma-approve |
| signoff-max-severity | Highest finding severity a sign-off can waive. Critical findings (confirmed IOCs) can never be waived when this is at its default. | no | high |
| trusted-bots | Newline-separated GitHub usernames or numeric user IDs whose PRs get structural findings (SC-WORKFLOW-ADDED, PI-UNICODE-TRICKERY, SC-COLLAPSED-DIFF) downgraded to "low" so they fall below the default medium threshold. Numeric entries match user.id (immutable), text entries match user.login (case-insensitive). Campaign IOCs and critical findings still block. This prevents verified bots from needing /miasma-approve on every dependency bump. | no | "" |
| pr-comment | Post/update a report comment on the PR or issue explaining findings, required human intervention, and how to unblock (needs pull-requests: write, which also covers issue comments) | no | true |
| github-token | Token used to post the PR report comment | no | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| verdict | "clean" or "blocked" |
| findings | JSON array of findings |