Skip to main content

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

プロジェクト設定

プロジェクト設定は特定のプロジェクトに対するCyberstrikeの動作をカスタマイズし、グローバル設定を上書きします。

📸 SCREENSHOT: project-config.png

プロジェクト設定ファイルの構造

ファイルの場所

プロジェクト設定はプロジェクトルートの cyberstrike.json(または cyberstrike.jsonc)に保存します。Cyberstrikeは作業ディレクトリから上方向に探索するため、親フォルダにある設定も検出されます:

my-project/
├── cyberstrike.json ← プロジェクト設定
├── src/
├── package.json
└── ...

プロジェクト設定の作成

initコマンドはありません — ファイルを手動で作成してください:

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}

基本設定

モデル選択

{
"model": "anthropic/claude-opus-4-5-20251101"
}

デフォルトエージェント

{
"default_agent": "cyberstrike"
}

default_agent はプライマリエージェントである必要があります。未設定または無効な場合は cyberstrike にフォールバックします。

カスタムインストラクション

instructions はシステムプロンプトに追加されるファイルまたはglobパターンのリストです(インラインのテキストではありません)。リストはグローバル設定とユニオンマージされます:

{
"instructions": [
"SECURITY.md",
"docs/security-guidelines.md",
".cursor/rules/*.md"
]
}

プロバイダー設定

provider の下でプロバイダーを設定します。provider.default キーはありません — アクティブなプロバイダーは model(provider/model)から決まります:

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}

プロバイダー別の詳細はAIプロバイダーを参照してください。

パーミッション

パーミッションはツール名をアクション(ask、allow、deny)にマッピングするか、glob -> アクションのマップにマッピングします。allowリスト・denyリストの配列やパーミッション「モード」はありません:

{
"permission": {
"read": "allow",
"bash": {
"npm test": "allow",
"npm run lint": "allow",
"rm -rf *": "deny"
},
"edit": {
"reports/**": "allow",
".env*": "deny"
}
}
}

ワイルドカードは * と ? のみサポートされます。完全なモデルとパーミッションキーのリストはパーミッションを参照してください。

MCPサーバー

MCPサーバーは mcp の下にフラットマップとして宣言し、サーバー名をキーとします。ローカルサーバーは type: "local" と単一の command 配列を使用します:

{
"mcp": {
"project-tools": {
"type": "local",
"command": ["node", "./tools/mcp-server.js"],
"enabled": true
}
}
}

プロジェクトの mcp エントリはグローバルの上にマージされます。継承したサーバーをオフにするには、enabled を false に設定します:

{
"mcp": {
"some-global-server": { "enabled": false }
}
}

カスタムエージェント

.cyberstrike/agents/ の下にMarkdownファイルとしてプロジェクトエージェントを定義し(カスタムエージェントを参照)、デフォルトとして選択します:

{
"default_agent": "project-scanner"
}

完全な例

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"default_agent": "cyberstrike",
"instructions": ["docs/SECURITY.md"],
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
},
"permission": {
"read": "allow",
"bash": { "npm *": "allow", "git status": "allow", "rm *": "deny" },
"edit": { "reports/**": "allow", ".env*": "deny" }
},
"mcp": {
"db-tools": {
"type": "local",
"command": ["node", "./tools/db-mcp.js"],
"enabled": true
}
}
}

設定の継承

プロジェクト設定はグローバルおよびリモート設定の上にマージされます:

リモート / well-known設定(ベース)
↓
グローバル設定(~/.config/cyberstrike/)
↓
カスタム設定(CYBERSTRIKE_CONFIG)
↓
プロジェクト設定(cyberstrike.json)
↓
.cyberstrike/ ディレクトリ設定
↓
CYBERSTRIKE_CONFIG_CONTENT / マネージド設定 / CLI引数(オーバーライド)

完全な優先順位は設定リファレンスを参照してください。

マージ動作

設定動作
スカラー値置換
オブジェクトディープマージ
配列置換 — plugin と instructions のみユニオンマージ

スキーマバリデーション

IDEの自動補完とバリデーション用にスキーマ参照を追加します:

{
"$schema": "https://cyberstrike.io/config.json"
}

Git連携

プロジェクト設定のコミット

Terminal window
git add cyberstrike.json
git commit -m "Add Cyberstrike project configuration"

機密データの除外

.gitignore
# ローカルセッションデータを除外
.cyberstrike/sessions/

ベストプラクティス

  1. バージョン管理 - チーム共有のためにプロジェクト設定をコミット
  2. 環境変数参照を使用 - APIキーをハードコードしない({env:VAR})
  3. インストラクションを文書化 - instructions でセキュリティドキュメントを参照
  4. 最小限のパーミッション - 必要なものだけ許可
  5. 個人的な上書き - コミットすべきでない設定には CYBERSTRIKE_CONFIG を使用

Tip

チーム共有のために cyberstrike.json をコミットしてください。コミットすべきでない個人的な上書きには環境変数または CYBERSTRIKE_CONFIG を使用してください。

関連ドキュメント