argusappsec/argus

GitHub: argusappsec/argus

Argus 是一个开源的应用安全 agent,将真实扫描器结果与组织上下文和 AI 推理结合,以对话方式替代传统海量扫描报告。

Stars: 5 | Forks: 0

Argus — application security agent

不是 400 条扫描结果,而是一场与了解你代码库的专家的对话。

CI Latest release Container image Go version License

Argus 是一个开源的**应用安全 agent**,它像安全分析师一样审查代码:运行真实的扫描器,阅读扫描结果,结合你所在组织的上下文进行权衡,并用通俗的语言告诉你哪些问题才是真正重要的。然后你可以提出质疑——Argus 会进行回复。每个组织运行一个长期存活的 daemon,可以在你的团队已经习惯的工作环境中访问它:终端聊天、GitHub pull request,以及通过你自己 AI 工具的 MCP。 ## 为什么选择 Argus 确定性扫描器虽然精确但很表面——缺失的权限检查没有可用于模式匹配的特征。语言模型可以阅读和推理代码,但如果单独使用,它们会将真实信号淹没在误报之中。Argus 将两者结合起来,并添加了缺失的第三种成分:**你的组织**。扫描器被封装为结构化的工具,模型受到精选方法论的约束,每次审查都基于你公司的技术栈、风险容忍度和积累的知识。这就是没人看的报告和你可以追问的同事之间的区别。 ## 快速开始 ``` git clone https://github.com/argusappsec/argus.git && cd argus make build ./argus init # pick a provider, set the API key, shape your org's SOUL ./argus doctor # verify scanners and configuration ./argus # chat with your security engineer ``` 更倾向于使用容器?这个开箱即用的镜像预装了 `semgrep`、`gitleaks` 和 `osv-scanner`: ``` docker run -it -v argus-data:/data -p 8080:8080 ghcr.io/argusappsec/argus ``` 要审查 pull request,请通过 `./argus codehost setup` 连接 GitHub App 并打开一个 PR:审查会自动进行,你可以直接在对话线程中回复——*“Argus,这个发现是真的吗?”*。 刚接触这里?请从 **[入门指南](docs/guide/getting-started.md)** 开始。 ## 功能 - **可交流的审查。** 在聊天中提问、通过 MCP 调用,或让 GitHub webhook 自动触发它们——然后讨论扫描结果,而不是去 grep 一个 SARIF 文件。 - **真实扫描器,无 shell 逃逸。** `semgrep`、`gitleaks` 和 `osv-scanner` 作为经过代码审查的结构化 Go 工具运行;故意没有向模型提供通用的 `bash`/`exec` 权限。 - **了解你的组织。** SOUL 文件(公司简介、技术栈、合规姿态、人员画像)会伴随每一次模型调用;精心维护的记忆和专题知识库可在不同会话间携带上下文。 - **技能。** 打包为 markdown 的多步方法论,通过 `/` 触发——包含四个内置技能,你也可以通过 `SKILL.md` 带来你自己的技能。 - **统一的信任模型。** 每个渠道的每一个操作都归属于一个具有角色的主体,并记录在只能追加的审计日志中。 - **针对 prompt 注入进行了加固。** 被审查的代码被视为数据,而不是指令:自动审查以最小权限运行,文件访问限制在 checkout 范围内,并且对 Argus 发布的内容强制执行保密性。 ## 工作原理 Argus 作为**每个组织一个共享的 daemon**(`argusd`)运行。每个 channel 都是单个进程内的一个 goroutine,共享同一个 provider、同一个工具注册表、同一个知识库和同一个审计日志。 | Channel | Transport | Identity | | --- | --- | --- | | **TUI** | 本地 Unix socket | `local:$USER`(持有 socket = 认证) | | **MCP** | HTTP(Model Context Protocol) | `mcp:` | | **GitHub** | 签名的 webhook 事件 | Service principal(webhook),`github:`(评论) | | **Slack** *(计划中)* | Socket Mode 机器人 | `slack:` | ## 内置技能 | Skill | 功能说明 | | --- | --- | | `authz-audit` | 白盒寻找损坏的授权(BOLA/IDOR、BFLA)——在 VAmPI 上以 100% 召回率 / 100% 精确率进行了验证 | | `pr-quick-check` | 对 pull request diff 进行快速安全检查 | | `secret-rotation-plan` | 查找已提交的密钥并起草优先级的轮换计划 | | `threat-modeling` | 为代码库构建 STRIDE 威胁模型 | ## 文档 - **[入门指南](docs/guide/getting-started.md)** — 安装、引导、首次聊天 - **[配置](docs/guide/configuration.md)** — 完整的 `argus.yaml` 参考 - **[GitHub channel](docs/guide/channels/github.md)** — 自动 PR 审查并在对话线程中与 Argus 交流 - **[MCP channel](docs/guide/channels/mcp.md)** — Argus 作为你 AI 工具的可咨询同事 - **[技能](docs/guide/skills.md)** — 使用、编写和覆盖技能 - **[Kubernetes 部署](docs/guide/deployment/kubernetes.md)** — 在 cluster 上托管 Argus 想知道它的设计原理吗?领域词汇位于 [CONTEXT.md](CONTEXT.md),每一个架构决策都记录在 [docs/adr/](docs/adr/) 下,更深层次的设计原理则位于 [docs/design/](docs/design/) 下。 ## 状态 Argus 目前处于 **1.0 版本之前**,迭代非常快。默认值和配置 schema 可能在次要版本之间发生变化——但总会明确提示,并通过启动错误指出其替代方案,绝不静默更改。 ## 安全性 在 Argus 本身发现了漏洞?请私下报告:发送邮件至 [security@argusappsec.com](mailto:security@argusappsec.com) 或使用 GitHub 的 [私密漏洞报告](https://github.com/argusappsec/argus/security/advisories/new)。 有关哪些在范围内以及披露如何运作的信息,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 Argus 采用 [Apache License 2.0](LICENSE) 授权。Argus 的徽标和品牌资产采用 [CC BY 4.0](brand/LICENSE) 授权。
标签:EVTX分析, Go, Ruby工具, 子域名突变, 日志审计, 请求拦截, 错误基检测, 静态代码分析