安全软件
点击放大

<p align="center">
<img src="docs/logo.png" alt="Xpsd" width="420">
</p>
![Discord]()
One command that decides whether a reported is actually
reachable in a gi tree.
Feed it a C, or a whole scan report, and it runs
an LLM-dri analysis over your code, then writes structured
, markdown reports, and SARIF that GitHub code scanning reads.
To keep the cost low, the agent does not read your repository into the model's context.
It works through a toolset instead: ast-grep for structural code na,
OSV.de and page rendering to pull the ad and the fixing commit;
and dependency fetching to bring a pinned upstream into the sandbox when
the affected component is built rather than .
The action runs on GitHub Copilot through the workflow's built-inGITHUB_TOKEN. Grant copilot-requests: write and there is nothing else to
arrange. Xpsd usage bills to the organization along with the rest of your Copilot
spend.
If you would rather bring your own model, pro and api-key switch
the run to Anthropic, OpenAI, or Azure without changing anything else.
Swap the scanner for whichever one you already run. Xpsd auto-detects the
report format:
| Producer | Format |
|----------|--------|
| Grype | grype -o json, or SARIF |
| Trivy | trivy -f json, or SARIF |
| OS | --format json |
| Snyk | snyk test --json, single or --all-projects |
| any SARIF producer | SARIF 2.1.0 |
| | Alert | Se |
|---------|-------|----------|
| reachable (medium/high confidence) | error | from CVSS |
| reachable (low confidence), uncertain, analysis failed | warning, needs manual review | from CVSS |
| not reachable | note, informational | lowered to low |
A ruled-out finding is filed as low rather than keeping its C, because
the score describes the and not the risk it poses to your code. A
critical that nothing can reach is what buries the one that can. The real score
stays in the alert, along with the reasoning and the e.
Each alert carries the model's rationale, the call path from entry point to
use, and e links into the implicated source lines. Re-runs
refresh the same alerts in place, and findings that disappear from a later
upload close automatically.
Cost is per finding, one agentic session each, so filtering is how you keep a
run small: min-se, min-cvss, max-findings, and only select what to
look at, while is-remote keeps only findings shown to be network-reachable (CVSSAV:N) and is-exploited keeps only those the C dataset lists as
exploited. Both need positi, so a finding they cannot confirm is
dropped. fail-on turns a reachable into a failed step when you want the
build gated.
Reachability also depends on facts that are not in the code, like what actually
gets compiled or what is exposed to a network. The guidance input passes
those in as ground truth for the analysis.
Bug reports and pull requests are welcome; see
CONTRIBUTING.md. Report pri as
described in SECURITY.md, which also documents the threat model
and known limitations.
For community discussion, setup help, and general questions, join our
Discord server.
For project work that should stay disco and actionable on GitHub, please use:
Apache License 2.0, see LICENSE. Copyright 2026 ByteRay Ltd.
开发语言:Go
Star 数:15
该项目属于安全软件方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Reachability triage for vulnerability scans. Feeds scanner findings to an LLM agent that reads your source and decides which CVEs are actually reachable.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | Xpsd - Reachability triage for vulnerability scans. Feeds |
| 所属分类 | 安全软件 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 22:57:20 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 109 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |