关于 aris-kg
aris-kg 将编码 Agent 和开发者连接到每日更新的知识图谱,内容涵盖安全公告、CVE、框架版本和参考代码。它提供 MCP 服务、检查锁文件的命令行工具,以及用于依赖检查的 GitHub Action。
主要功能
- 01检查依赖是否存在已知 CVE
- 02搜索 CVE 和安全公告
- 03查询最新框架知识与缓解方案
- 04搜索参考代码
- 05锁文件审计命令行工具
- 06检查易受攻击依赖的 GitHub Action
适用场景
- 01检查固定版本依赖的漏洞
- 02编码时查询 CVE 或公告
- 03查找当前框架版本和配置指南
- 04阻止引入易受攻击软件包的拉取请求
MCP 相关
MCP 服务提供五种工具,用于依赖检查以及 CVE、知识、代码和网页搜索。编码 Agent 可在添加依赖或编写安全敏感代码前调用这些工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 6 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 默认值为 10。 |
| query | string | 是 |
详细介绍
aris-kg
编码 Agent 的回答基于训练数据,而这些数据在你使用它们前数月就已停止更新。aris-kg 将它们连接到 Aris 知识图谱:涵盖超过 1,500 万个概念,每日从 NVD、OSV、GitHub 安全公告、MITRE ATT&CK、OWASP 和框架版本中更新。
它提供三种使用方式:
- MCP 服务,适用于 Claude Code、Cursor、Codex、Windsurf 和任何其他 MCP 客户端。
- 命令行工具,用于根据已知 CVE 检查锁文件中的每个固定版本。
- GitHub Action,在拉取请求新增易受攻击的依赖项时使其检查失败。
代码采用 MIT 许可证开源。知识图谱是付费 API:你需要从 youraris.com/account 获取密钥,每次调用都会扣除你的 Aris 额度。
| 调用 | 价格 |
|---|---|
| CVE、知识或代码搜索 | 1¢ |
| 依赖项检查 | 每个包 1¢ |
| 网页搜索 | 2¢ |
每个账户每分钟最多可调用 120 次。
MCP 服务
该服务为你的 Agent 提供五种工具,并会指示它主动使用这些工具,无需等待你提出要求:添加依赖项前、遇到任何 CVE 时、选择库版本时,以及编写身份验证、加密、SQL 或文件路径代码前。
| 工具 | 功能 |
|---|---|
aris_check_dependencies | 检查确切的包版本:CVE ID、严重程度、CVSS、受影响和已修复的版本,以及 CVE 是否正在现实中被利用 |
aris_search_cve | 按 ID 或描述查找 CVE 和 GitHub 公告 |
aris_search_knowledge | 当前主要版本和设置模式、攻击技术、缓解措施及已知陷阱 |
aris_search_code | 已发布软件包中的参考代码 |
aris_web_search | 搜索比知识图谱更新的信息,并提供来源 URL |
Claude Code
claude mcp add aris -e ARIS_API_KEY=your-key -- npx -y aris-kg mcp
Cursor、Windsurf 和其他使用 JSON 配置的客户端
{
"mcpServers": {
"aris": {
"command": "npx",
"args": ["-y", "aris-kg", "mcp"],
"env": { "ARIS_API_KEY": "your-key" }
}
}
}
Codex
在 ~/.codex/config.toml 中:
[mcp_servers.aris]
command = "npx"
args = ["-y", "aris-kg", "mcp"]
env = { ARIS_API_KEY = "your-key" }
命令行工具
export ARIS_API_KEY=your-key
npx aris-kg audit # lockfiles in the current folder
npx aris-kg audit ./service --fail-on critical
npx aris-kg audit --json > report.json
npx aris-kg search cve CVE-2024-3094
audit 会读取以下锁文件。它只检查确切版本,因此请使用锁文件,而非包含版本范围的清单文件。
| 生态系统 | 锁文件 |
|---|---|
| npm | package-lock.json、pnpm-lock.yaml、yarn.lock |
| Python | poetry.lock、uv.lock、Pipfile.lock、requirements.txt(固定的 == 行) |
| Rust | Cargo.lock |
| Go | go.mod |
| Java 和 Kotlin(Maven) | gradle.lockfile |
| Ruby | Gemfile.lock |
| PHP | composer.lock |
| .NET | packages.lock.json |
| Elixir | mix.lock |
| Dart 和 Flutter | pubspec.lock |
| Swift | Package.resolved |
aris_check_dependencies 和 API 接受以下任一生态系统:npm、pypi、crates、go、
maven、rubygems、packagist、nuget、hex、pub 和 swift。知识图谱还涵盖 OSV 的
Hackage、CRAN、ConanCenter、Linux 内核和 GitHub Actions 公告,可通过
aris_search_cve 搜索。
当漏洞严重程度达到或超过 --fail-on(默认为 high),或漏洞正在现实中被利用(无论严重程度如何)时,程序以 1 退出。--fail-on none 表示永不失败。发生错误时以 2 退出。
GitHub Action
name: Dependency audit
on: [pull_request]
jobs:
aris:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: kennysarnoski-jarvis/aris-kg@v0
with:
api-key: ${{ secrets.ARIS_API_KEY }}
fail-on: high
作为库使用
import { ArisClient } from "aris-kg";
const aris = new ArisClient({ apiKey: process.env.ARIS_API_KEY! });
const report = await aris.checkDependencies([{ name: "lodash", version: "4.17.20", ecosystem: "npm" }]);
开发
npm install
npm test
npm run build
node dist/bin.js --help
将 ARIS_BASE_URL 设置为其他服务的地址,以便客户端连接到该服务。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。