{
 "schema_version": 1,
 "generated": "2026-10-24",
 "id": "mah3sec-forgeguardian--gate-ci-builds-on-high-severity-findings",
 "repo": "Mah3Sec/ForgeGuardian",
 "repo_url": "https://github.com/Mah3Sec/ForgeGuardian",
 "repo_slug": "mah3sec-forgeguardian",
 "title": "Fail CI builds on high-severity dependency findings",
 "page_title": "How to fail CI builds on high-severity dependency findings with Forge Guardian",
 "summary": "Add a GitHub Actions step that scans on every run, fails at high severity, and uploads SARIF to GitHub Security.",
 "who": "A platform or DevOps engineer who maintains a GitHub Actions pipeline and must stop risky dependencies from merging.",
 "problem": "Vulnerable or malicious dependencies reach main because no automated check runs on pull requests.",
 "outcome": "Each CI run scans the project, blocks the build at high severity, and posts findings to the GitHub Security tab.",
 "steps": [
  "Add a step that runs `curl -sSfL https://raw.githubusercontent.com/Mah3Sec/ForgeGuardian/main/install.sh | bash` and appends `$HOME/.local/bin` to `GITHUB_PATH`",
  "Add a scan step with `fgctl scan . --ci --fail-on=high --format=sarif > results.sarif`",
  "Add the `github/codeql-action/upload-sarif@v3` step with `sarif_file: results.sarif`",
  "Commit the workflow and open a test pull request to confirm the scan runs",
  "Check that the build fails when a high-severity finding is present"
 ],
 "agent_prompt": "For the repo Mah3Sec/ForgeGuardian, add the README's GitHub Actions snippet to the workflow file <workflow-path> in <target-repo>. Expected output is a workflow that runs `fgctl scan . --ci --fail-on=high --format=sarif` and uploads results.sarif. Verify the YAML parses and the upload step references results.sarif.",
 "agents": [
  "any"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "The README shows the SARIF upload step but does not say which GitHub permissions it needs, so check your repository settings before the first run.",
 "category": "Security and science",
 "tags": [
  "Security and science"
 ],
 "lang": "go",
 "requirements": [
  "A terminal (bash on Linux or macOS, or PowerShell on Windows), or Docker",
  "A project directory with dependencies to scan",
  "Git and make only if building from source"
 ],
 "risk": "none",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "remote-script",
   "notice": "The CI step downloads and runs install.sh from the main branch, so pin a release or review the script if your pipeline requires it."
  }
 ],
 "best": false,
 "score": 0.9,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/mah3sec-forgeguardian/gate-ci-builds-on-high-severity-findings/",
 "md": "https://dedupedai.com/use-cases/mah3sec-forgeguardian/gate-ci-builds-on-high-severity-findings/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/mah3sec-forgeguardian--gate-ci-builds-on-high-severity-findings.json",
 "api_version": "v1"
}
