Türkçe

Codex Security CLI hızlı başlangıç

Codex Security'yi kurun, yerel bir tarama çalıştırın ve raporu, bulguları ve kapsamı inceleyin.

Codex Security, güvenlik ve mühendislik ekiplerinin güvenlik açıklarını bulmasına, doğrulamasına ve gidermesine yardımcı olur. Sahibi olduğunuz veya değerlendirme izniniz bulunan depoları taramak, bulguları zaman içinde incelemek ve değişiklikleri kullanıma alınmadan önce kontrol etmek için komut satırı arayüzünü (CLI) kullanın.

Ön koşulları kontrol etme

CLI için Node.js 22 veya sonraki bir sürümü gerekir. Tarama çalıştırmak ya da bulguları dışa aktarmak için ayrıca Python 3.10 veya sonraki bir sürümü gerekir. Ayrıntılı bilgi için Kimlik doğrulama ve ön koşullar bölümüne bakın.

CLI'ı kurma ve doğrulama

Yayımlanan paketi yükleyin:

npm install @openai/codex-security

Kullanılabilir komutları listeleyin:

npx @openai/codex-security --help

Ayrıca CLI referansına bakın.

Oturum açma

Yerel kullanım için ChatGPT hesabınızla oturum açın:

npx @openai/codex-security login

Uzak veya ekransız bir makinede cihaz kimlik doğrulamasını kullanın:

npx @openai/codex-security login --device-auth

CI ve diğer otomatik iş akışları için bir OpenAI API key ayarlayın:

export OPENAI_API_KEY="<your-api-key>"

AWS kimlik bilgileri için Amazon Bedrock kurulumu bölümüne bakın.

Bir API key de ayarlanmışken ChatGPT oturumunuzu kullanmak için bunu açıkça seçin:

npx @openai/codex-security scan . --auth chatgpt

Ortam API key'inin kullanılmasını zorunlu tutmak için API-key kimlik doğrulamasını seçin:

npx @openai/codex-security scan . --auth api-key

Hesabınıza ve deponuza bağlı olarak tam depo taramaları ayrıca Trusted Access for Cyber gerektirebilir.

Tarama hazırlama

Taranacak bir depo ve sonuçların yazılacağı bir dizin seçin.

REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-results

--output-dir değerini belirtmezseniz Codex Security sonuçları kendi kalıcı durum dizinine kaydeder. Sonuçlar kaynak alıntıları ve güvenlik açığı ayrıntıları içerebilir; bu nedenle özel bir konum ve uygun bir saklama politikası seçin.

Varsayılan durum dizinine yazılamıyorsa taranan deponun dışında yazılabilir bir dizin seçin:

export CODEX_SECURITY_STATE_DIR=/path/outside/repository/codex-security-state

Taramayı başlatmadan önce depoyu, hedefi ve çıktı dizinini kontrol edin:

npx @openai/codex-security scan "$REPOSITORY" --output-dir "$SCAN_DIR" --dry-run

Deneme çalıştırması; Codex'i başlatmadan, kimlik bilgilerini yüklemeden veya eklentinin Python yorumlayıcısını yoklamadan yerel girdileri kontrol eder.

İlk taramanızı çalıştırma

Standart bir tarama çalıştırın ve sonuçlarını seçilen dizinde tutun:

npx @openai/codex-security scan "$REPOSITORY" --output-dir "$SCAN_DIR"

CLI, varsayılan olarak tarama ilerlemesini ve tamamlanma özetini stderr'e yazar. Tam tarama sonucunu stdout'a yazdırmaz. Tamamlanan bir tarama şuna benzer bir özet yazdırır:

codex-security: Findings: 2 (1 high, 1 medium). Coverage: complete.
codex-security: Elapsed: 42s.
codex-security: Report: /path/outside/repository/codex-security-results/report.md
codex-security: Results: /path/outside/repository/codex-security-results

Token kullanımı ve tahmini maliyet, mevcut olduğunda gösterilir. Tam sonucu makine tarafından okunabilir JSON olarak yazdırmak için yapılandırılmış çıktıyı açıkça isteyin:

npx @openai/codex-security scan "$REPOSITORY" --output-dir "$SCAN_DIR" --json

Taramalar varsayılan olarak yalnızca rapor üretir; dolayısıyla bulgular yerel inceleme için kullanılabilir durumda kalır. CI'da tarama çalıştırmaya hazır olduğunuzda bir önem derecesi eşiği eklemek isteyebilirsiniz.

Model ve akıl yürütme çabası seçme

Taramalar varsayılan olarak gpt-5.6-sol modelini xhigh akıl yürütme çabasıyla kullanır. Görev gerektirdiğinde farklı bir model ve çaba seçin:

npx @openai/codex-security scan "$REPOSITORY" \
  --model gpt-5.6-terra \
  --effort high

Desteklenen çaba düzeyleri minimal, low, medium, high ve xhigh değerleridir.

Sonuçları inceleme

Okunabilir sonuç için report.md dosyasını açın. Tarama dizini ayrıca otomasyonun kullandığı yapılandırılmış dosyaları içerir:

codex-security-results/
├── scan-manifest.json
├── findings.json
├── coverage.json
├── report.md
├── artifacts/
└── exports/
    └── results.sarif       # when produced
  • scan-manifest.json; hedefi, kapsamı, üreticiyi ve mühürlenmiş yapıtları kaydeder.
  • findings.json; her bulgunun önem derecesini, güven düzeyini, konumlarını, kanıtlarını ve düzeltme yöntemini kaydeder.
  • coverage.json; incelenen yüzeyleri, hariç tutulanları, ertelenen işleri, açık soruları ve kapsamın eksiksizliğini kaydeder.

Kapsam complete, partial veya unknown olabilir. Taramayı inceleme kanıtı olarak kabul etmeden önce ertelenen tüm alanları ve açık soruları okuyun. CLI referansı, yapıt ve çıktı sözleşmesinin tamamını açıklar.

Sonraki taramayı seçme

Bir depo ayrı hizmetler veya paketler içeriyorsa yol taraması kullanın:

npx @openai/codex-security scan "$REPOSITORY" \
  --path services/billing \
  --path packages/auth

Temel revizyon ile HEAD arasındaki kaydedilmiş değişiklikleri inceleyin:

npx @openai/codex-security scan "$REPOSITORY" --diff origin/main --head HEAD

Hazırlanmış ve hazırlanmamış değişiklikleri HEAD ile karşılaştırarak inceleyin:

npx @openai/codex-security scan "$REPOSITORY" --working-tree --base HEAD

Fark ve çalışma ağacı taramalarında depo bağımsız değişkeninin Git çalışma ağacı kökü olması beklenir. Fark taramasını başlatmadan önce seçilen revizyonları getirin.

Bir depo veya yolun daha kapsamlı incelenmesi gerektiğinde derin modu kullanın:

npx @openai/codex-security scan "$REPOSITORY" --mode deep

Derin mod, fark veya çalışma ağacı taramalarını değil, depo ve yol hedeflerini destekler.

Mimari ve güvenlik bağlamı ekleme

Mimari belgeleri, tehdit modellerini veya güvenlik politikalarını tarama bağlamı olarak sağlayın. Bu, Codex Security'nin bulguları sisteminizin gerçekte nasıl çalıştığına göre değerlendirmesine yardımcı olur:

npx @openai/codex-security scan "$REPOSITORY" \
  --knowledge-base /path/to/architecture.md \
  --knowledge-base /path/to/security-policies

Tarama bütçesi belirleme

Tahmini model maliyeti USD cinsinden bir sınırı aştığında taramayı durdurmak için --max-cost kullanın:

npx @openai/codex-security scan "$REPOSITORY" --max-cost 5

Devam etmekte olan istekler sınırı aşarak tamamlanabilir. Codex Security, tarama durduğunda mevcut sonuçları korur.

Her kayıttan önce değişiklikleri tarama

Deponuz için bir Git kayıt öncesi güvenlik kontrolü yükleyin:

npx @openai/codex-security install-hook

Kontrol, her kayıttan önce hazırlanmış ve hazırlanmamış değişiklikleri tarar. Mevcut bir kayıt öncesi betiğini değiştirmeden yüksek önem dereceli bulguları ve tarama hatalarını engeller.

Depoları toplu olarak tarama

Depoları keşfetmeden önce GitHub'da oturum açın:

gh auth login

GitHub hesabınızdaki veya kuruluşunuzdaki depoları keşfedip seçin:

npx @openai/codex-security bulk-scan

Etkileşimli akış, arşivlenmiş depoları ve çatalları hariç tutar. Taramadan önce seçilen depoları onaylamanızı ister.

Hazırlanmış bir depo listesini taramak için bir CSV ve çıktı dizini sağlayın:

npx @openai/codex-security bulk-scan repositories.csv \
  --output-dir /path/outside/repositories/security-scans \
  --workers 4

Mevcut bir toplu taramayı sürdürmek için aynı komutu yeniden çalıştırın. Sonuç yapıtları sağlam olan tamamlanmış depolar yeniden taranmaz. Geçici depo veya tarama hatalarını yeniden denemek istediğinizde --max-attempts 3 ekleyin.

GitHub keşfi, CSV hazırlama, kampanya sonuçları ve Docker kurulumu için Toplu güvenlik taramaları çalıştırma bölümüne bakın.

Docker'da toplu taramalar çalıştırma

Erişiminiz Codex Security Docker görüntüsünü içeriyorsa sağlanan güçlendirilmiş Compose yapılandırmasını ve güvenlik profilini bir Linux Docker ana makinesinde kullanın. Ana makine, ayrıcalıksız kullanıcı ad alanı oluşturmayı desteklemelidir. Bir depo CSV'si sağlayın, sonuçları ve oturum açma durumunu kalıcı bağlı dizinlerde tutun ve kimlik bilgilerini ortamınız veya bir gizli bilgi yöneticisi aracılığıyla sağlayın:

docker compose run --rm codex-security \
  bulk-scan /input/repositories.csv \
  --output-dir /output \
  --workers 4

Kapsayıcı, toplu taramaları istem göstermeden çalıştırır. Depoları etkileşimli olarak keşfetmek istediğinizde CLI'ı Docker dışında kullanın. Özel depolar için GH_TOKEN veya GITHUB_TOKEN değerini ortamınız ya da gizli bilgi yöneticiniz aracılığıyla sağlayın. Hesap ve depo erişimi dâhil oturum açma gereksinimleri, kapsayıcı içinde çalıştırılan taramalar için de geçerlidir.

Kaydedilmiş bir taramayı yeniden inceleme

Deponuz için kaydedilmiş taramaları listeleyin:

npx @openai/codex-security scans list "$REPOSITORY"

Bulgularını ve yapılandırmasını incelemek için sonuçlardan bir tarama kimliği kopyalayın:

npx @openai/codex-security scans show SCAN_ID

İncelenmiş bir bulguyu yanlış pozitif olarak işaretlemek için bulgunun neden geçerli olmadığını açıklayın:

npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
  --reason "The route already checks permissions"

Sonraki taramalar bu açıklamayı dikkate alır ancak güncel kodu yine de yeniden kontrol eder.

Aynı taramayı özgün yapılandırmasıyla güncel çalışma kopyasında çalıştırın:

npx @openai/codex-security scans rerun SCAN_ID

İki taramayı karşılaştırmak için önce aynı kök nedeni paylaşan bulguları eşleştirin:

npx @openai/codex-security scans match PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Ardından hangi bulguların yeni, devam eden, yeniden açılmış, çözülmüş veya bilinmeyen olduğunu kontrol edin:

npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Toplu tarama CSV biçimi, tarama geçmişi filtreleri ve komut seçenekleri için CLI referansına bakın.

Hedefinize uygun iş akışıyla devam edin: