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トークン:
export AWS_BEARER_TOKEN_BEDROCK="..."

設定パス変数

変数説明
CYBERSTRIKE_CONFIGカスタム設定ファイルへのフルパス
CYBERSTRIKE_CONFIG_DIR追加の .cyberstrike ディレクトリをスキャン
CYBERSTRIKE_CONFIG_CONTENTインラインJSON設定(ファイルソースを上書き)
CYBERSTRIKE_DISABLE_PROJECT_CONFIGtruthyに設定するとプロジェクト設定の読み込みをスキップ
CYBERSTRIKE_PERMISSIONJSON文字列としてのパーミッションオーバーライド

動作フラグ

これらの変数はランタイム動作を切り替えます。ブールフラグはtruthy値(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_DOWNLOADLSPサーバーをダウンロードしない
CYBERSTRIKE_DISABLE_MODELS_FETCHリモートモデルカタログを取得しない
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLS外部スキルの読み込みをスキップ
CYBERSTRIKE_ENABLE_EXAExaベースのWeb検索を有効化
CYBERSTRIKE_MODELS_URLモデルカタログURLを上書き
CYBERSTRIKE_MODELS_PATHローカルパスからモデルカタログを読み込み

サーバー認証情報

cyberstrike serve と cyberstrike web で使用します:

Terminal window
export CYBERSTRIKE_SERVER_PASSWORD="..." # サーバー起動に必須
export CYBERSTRIKE_SERVER_USERNAME="admin" # 任意、デフォルトあり

設定での変数参照

設定ファイルは2つの置換のみをサポートします:

環境変数 — {env:VAR}

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

{env:VAR} は VAR の値に置換されます。未設定の場合は空文字列になります。シェルスタイルの ${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 フィールドと同じ形式です。パーミッションを参照してください。

シェル設定

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 ファイルをバージョン管理にコミットしないでください。.gitignore に .env を追加してください。

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キー全体をechoしない
  2. CI/CDではシークレット管理を使用
  3. キーを定期的にローテーション
  4. .env のパーミッションを制限:chmod 600 .env

Tip

本番環境ではHashiCorp Vault、AWS Secrets Manager、1Password CLIなどのシークレットマネージャーを使用してください。

関連ドキュメント