Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

环境变量

环境变量配置提供商凭据并切换运行时行为——适用于 CI/CD 和容器化环境。

Info

Cyberstrike 不会从环境变量读取模型、代理或主题等设置。这些在配置文件中设置(参见配置参考)。下面的 CYBERSTRIKE_* 变量仅限于凭据、配置路径和行为开关。

📸 SCREENSHOT: env-vars-terminal.png

在终端中设置环境变量

提供商 API 密钥

提供商密钥使用 SDK 的标准变量名称。完整列表请参阅 AI 提供商。

Anthropic

Terminal window
export ANTHROPIC_API_KEY="sk-ant-api03-..."

OpenAI

Terminal window
export OPENAI_API_KEY="sk-proj-..."

Google (Gemini)

Terminal window
export GOOGLE_GENERATIVE_AI_API_KEY="AI..."
# GEMINI_API_KEY 也被接受

OpenRouter

Terminal window
export OPENROUTER_API_KEY="sk-or-..."

Groq

Terminal window
export GROQ_API_KEY="gsk_..."

Azure OpenAI

Terminal window
export AZURE_RESOURCE_NAME="your-resource"
export AZURE_API_KEY="..."

AWS Bedrock

Terminal window
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# 或使用 bearer token:
export AWS_BEARER_TOKEN_BEDROCK="..."

配置路径变量

变量描述
CYBERSTRIKE_CONFIG自定义配置文件的完整路径
CYBERSTRIKE_CONFIG_DIR要扫描的附加 .cyberstrike 目录
CYBERSTRIKE_CONFIG_CONTENT内联 JSON 配置(覆盖文件源)
CYBERSTRIKE_DISABLE_PROJECT_CONFIG设为真值则跳过加载项目配置
CYBERSTRIKE_PERMISSION作为 JSON 字符串的权限覆盖

行为标志

这些变量切换运行时行为。布尔标志在设为真值(1、true)时启用。

变量描述
CYBERSTRIKE_AUTO_SHARE自动分享新创建的会话
CYBERSTRIKE_DISABLE_AUTOUPDATE禁用自动更新
CYBERSTRIKE_DISABLE_AUTOCOMPACT禁用自动上下文压缩
CYBERSTRIKE_DISABLE_PRUNE禁用旧工具输出的修剪
CYBERSTRIKE_DISABLE_TERMINAL_TITLE不更新终端标题
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINS跳过加载内置插件
CYBERSTRIKE_DISABLE_LSP_DOWNLOAD不下载 LSP 服务器
CYBERSTRIKE_DISABLE_MODELS_FETCH不获取远程模型目录
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLS跳过加载外部技能
CYBERSTRIKE_ENABLE_EXA启用基于 Exa 的 Web 搜索
CYBERSTRIKE_MODELS_URL覆盖模型目录 URL
CYBERSTRIKE_MODELS_PATH从本地路径加载模型目录

服务器凭据

由 cyberstrike serve 和 cyberstrike web 使用:

Terminal window
export CYBERSTRIKE_SERVER_PASSWORD="..." # 启动服务器必需
export CYBERSTRIKE_SERVER_USERNAME="admin" # 可选,有默认值

在配置中引用变量

配置文件支持两种替换——且仅这两种:

环境变量——{env:VAR}

~/.config/cyberstrike/cyberstrike.jsonc
{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

{env:VAR} 被替换为 VAR 的值,如果未设置则为空字符串。Shell 风格的 ${VAR}、$VAR 和默认值语法({env:VAR:-default})不受支持。

文件内容——{file:path}

{
"instructions": ["{file:./SECURITY.md}"]
}

路径可以是相对于配置文件、绝对路径,或以 ~/ 开头表示主目录。

自动化权限覆盖

cyberstrike run(非交互)会自动拒绝任何本应提示的工具调用。要在 CI 中预批准工具,通过 CYBERSTRIKE_PERMISSION 传递 JSON 权限映射:

Terminal window
export CYBERSTRIKE_PERMISSION='{"bash":"allow","edit":"allow","read":"allow"}'

值遵循与配置 permission 字段相同的结构。参见权限。

Shell 配置

Bash / Zsh

~/.bashrc / ~/.zshrc
export ANTHROPIC_API_KEY="sk-ant-..."
export CYBERSTRIKE_AUTO_SHARE=1

Fish

~/.config/fish/config.fish
set -gx ANTHROPIC_API_KEY "sk-ant-..."
set -gx CYBERSTRIKE_AUTO_SHARE 1

.env 文件

.env
ANTHROPIC_API_KEY=sk-ant-...
CYBERSTRIKE_PERMISSION={"bash":"allow"}
Terminal window
# 启动前加载
source .env && cyberstrike

Caution

切勿将 .env 文件提交到版本控制。将 .env 添加到 .gitignore。

CI/CD 集成

GitHub Actions

env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow","edit":"allow"}'
steps:
- name: Security Scan
run: cyberstrike run "scan for vulnerabilities"

GitLab CI

variables:
CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow"}'
security_scan:
script:
- cyberstrike run "analyze code for security issues"

Docker

Docker Run

Terminal window
docker run -it \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
-e CYBERSTRIKE_PERMISSION='{"bash":"allow"}' \
cyberstrike/cyberstrike

Docker Compose

docker-compose.yml
services:
cyberstrike:
image: cyberstrike/cyberstrike
environment:
- ANTHROPIC_API_KEY
- CYBERSTRIKE_AUTO_SHARE=1
env_file:
- .env

优先级顺序

配置源按此顺序合并(最高优先级胜出):

1. 命令行参数
2. 企业托管配置
3. CYBERSTRIKE_CONFIG_CONTENT(内联 JSON)
4. .cyberstrike/ 目录配置
5. 项目配置(cyberstrike.json / .jsonc)
6. CYBERSTRIKE_CONFIG(自定义文件)
7. 全局配置(~/.config/cyberstrike/)
8. 远程 .well-known/cyberstrike
9. 默认值

详情请参阅配置参考。

检查变量

Terminal window
# 列出活跃的 Cyberstrike 变量
env | grep CYBERSTRIKE
# 检查提供商密钥是否已设置(不完整打印)
echo "${ANTHROPIC_API_KEY:0:12}..."

安全

  1. 永远不要输出完整的 API 密钥
  2. 在 CI/CD 中使用密钥管理
  3. 定期轮换密钥
  4. 限制 .env 权限:chmod 600 .env

Tip

在生产环境中使用 HashiCorp Vault、AWS Secrets Manager 或 1Password CLI 等密钥管理器。

相关文档