audn-ai/audn-cli
GitHub: audn-ai/audn-cli
面向 AI 代理的红队安全测试 CLI,提供 CI/CD 安全门禁与活动管理。
Stars: 2 | Forks: 0
# audn-cli
[Audn.ai](https://audn.ai) 的命令行接口 — 语音和文本 AI 代理安全测试。运行对抗性活动,管控 CI/CD 管道,并从终端管理代理。
## 安装
**macOS / Linux:**
```
curl -L https://audn.ai/cli/install.sh | sh
```
**Windows:**
```
iwr -useb https://audn.ai/cli/install.ps1 | iex
```
**从源码构建:**
```
go install github.com/audn-ai/audn-cli@latest
```
**或本地编译:**
```
git clone https://github.com/audn-ai/audn-cli.git
cd audn-cli
make build
```
## 认证
```
# 交互式登录(通过设备代码流程打开浏览器)
audn-cli login
# 或使用 PKCE 流程
audn-cli login --pkce
# 查看当前登录用户
audn-cli whoami
# 登出
audn-cli logout
```
**CI/CD 认证**(无需浏览器):
```
# 选项 1:API 密钥
export AUDN_API_SECRET="sk_your_secret_key"
# 选项 2:Auth0 M2M 凭据
export AUTH0_M2M_CLIENT_ID="your-client-id"
export AUTH0_M2M_CLIENT_SECRET="your-client-secret"
# 选项 3:预获取的承载令牌
export AUDN_BEARER_TOKEN="your-token"
```
## 命令
### 网关检查(CI/CD)
运行安全网关检查 — 执行活动,等待完成,如果网关失败则退出并返回非零状态码。
```
# 执行活动并对结果进行门禁
audn-cli gate check --campaign-id 675e383f-aab3-4545-bc19-3eea543abd31
# 如果存在高或严重严重性发现则失败
audn-cli gate check --campaign-id $CAMPAIGN_ID --fail-on-severity high
# 要求最低 VAST 等级
audn-cli gate check --campaign-id $CAMPAIGN_ID --min-grade B
# 用于机器解析的 JSON 输出
audn-cli gate check --campaign-id $CAMPAIGN_ID --json
# 不等待完成
audn-cli gate check --campaign-id $CAMPAIGN_ID --wait=false
```
### 活动
```
# 列出活动
audn-cli campaigns list
# 创建活动
audn-cli campaigns create --name "Q1 Audit" --agent-id $AGENT_ID
# 获取活动详情
audn-cli campaigns get --id $CAMPAIGN_ID
# 执行活动
audn-cli campaigns execute --id $CAMPAIGN_ID
# 删除活动
audn-cli campaigns delete --id $CAMPAIGN_ID
```
### 代理
```
# 列出代理
audn-cli agents list
# 创建代理
audn-cli agents create --name "IVR Bot" --platform twilio --phone +14155551234
# 获取代理详情
audn-cli agents get --id $AGENT_ID
# 删除代理
audn-cli agents delete --id $AGENT_ID
```
## CI/CD 集成
### GitHub Actions
```
name: Voice Agent Security Test
on: [push]
jobs:
security-test:
runs-on: ubuntu-latest
steps:
- name: Install Audn CLI
run: curl -L https://audn.ai/cli/install.sh | sh
- name: Run Security Gate
env:
AUDN_API_SECRET: ${{ secrets.AUDN_API_SECRET }}
run: |
audn-cli gate check \
--campaign-id ${{ vars.CAMPAIGN_ID }} \
--fail-on-severity high \
--min-grade B
```
### GitLab CI
```
security-test:
image: golang:1.22
script:
- curl -L https://audn.ai/cli/install.sh | sh
- audn-cli gate check --campaign-id $CAMPAIGN_ID --fail-on-severity high
variables:
AUDN_API_SECRET: $AUDN_API_SECRET
```
### Jenkins
```
pipeline {
agent any
environment {
AUDN_API_SECRET = credentials('audn-api-secret')
}
stages {
stage('Security Test') {
steps {
sh 'curl -L https://audn.ai/cli/install.sh | sh'
sh 'audn-cli gate check --campaign-id ${CAMPAIGN_ID} --fail-on-severity high'
}
}
}
}
```
## 全局标志
| 标志 | 环境变量 | 描述 |
|------|-------------|-------------|
| `--api-secret` | `AUDN_API_SECRET` | API 密钥(sk_...) |
| `--bearer-token` | `AUDN_BEARER_TOKEN` | 预获取的承载令牌 |
| `--m2m-client-id` | `AUTH0_M2M_CLIENT_ID` | Auth0 M2M 客户端 ID |
| `--m2m-client-secret` | `AUTH0_M2M_CLIENT_SECRET` | Auth0 M2M 客户端密钥 |
| `--api-url` | `AUDN_API_URL` | API 基础 URL(默认:https://audn.ai) |
| `--json` | `AUDN_OUTPUT_JSON` | JSON 输出 |
## 网关检查标志
| 标志 | 环境变量 | 默认值 | 描述 |
|------|-------------|---------|-------------|
| `--campaign-id` | - | - | 要执行的活动 |
| `--agent-id` | `AUDN_AGENT_ID` | - | 要测试的代理(遗留) |
| `--fail-on-severity` | `AUDN_FAIL_ON_SEVERITY` | `critical` | 失败阈值 |
| `--min-grade` | `AUDN_MIN_GRADE` | - | 最低 VAST 等级(A-F) |
| `--wait` | `AUDN_WAIT` | `true` | 等待完成 |
| `--timeout` | `AUDN_TIMEOUT` | `600` | 超时时间(秒) |
## 凭证存储
通过 `audn-cli login` 获取的凭证存储在:
| 操作系统 | 路径 |
|----------|------|
| macOS / Linux | `~/.config/audn/credentials.json` |
| Windows | `%APPDATA%\audn\credentials.json` |
文件权限设置为 `600`(仅所有者可读写)。
## 直接下载
| 平台 | 架构 | 下载 |
|------|-------------|------|
| macOS | Apple Silicon(arm64) | [audn-darwin-arm64](https://audn.ai/cli/latest/audn-darwin-arm64) |
| macOS | Intel(amd64) | [audn-darwin-amd64](https://audn.ai/cli/latest/audn-darwin-amd64) |
| Linux | x86_64 | [audn-linux-amd64](https://audn.ai/cli/latest/audn-linux-amd64) |
| Linux | arm64 | [audn-linux-arm64](https://audn.ai/cli/latest/audn-linux-arm64) |
| Windows | x86_64 | [audn-windows-amd64.exe](https://audn.ai/cli/latest/audn-windows-amd64.exe) |
## 开发
```
# 构建
make build
# 构建所有平台
make build-all
# 运行测试
make test
# 代码检查
make lint
# 完整 CI 检查
make ci
```
## 许可证
GPL-3.0 — 见 [LICENSE](LICENSE)。该 CLI 为开源软件。Audn.ai API 受 [Audn.ai 服务条款](https://audn.ai/terms) 约束。
**[audn.ai](https://audn.ai)** — AI 代理的持续安全测试。
标签:AI代理, API安全, API密钥认证, Auth0 M2M, CI/CD安全, DevSecOps, DNS解析, EVTX分析, Go语言, JSON输出, Llama, Makefile构建, PKCE, SEO: AI安全测试, SEO: audn-cli, SEO: CI/CD安全门, Shell脚本, 上游代理, 命令行界面, 安全测试, 安全门禁, 对抗性活动, 开发者工作流, 开源项目, 承载令牌, 攻击性安全, 文本AI安全, 文档结构分析, 日志审计, 源码安装, 程序破解, 结构化查询, 自动化安全, 认证登录, 设备码流程, 语音AI安全