Codex Security CLI SSS
Codex Security taramaları, bulgular, yanlış pozitifler, kapsam, maliyet ve CI hakkındaki yanıtlar.
Depoları tarama ve güvenlik bulgularını terminalden yönetme hakkındaki yaygın soruların yanıtlarını bulun. Yükleme ve ilk tarama için CLI hızlı başlangıç kılavuzuyla başlayın.
Depo taramaları
CLI'ı kimler kullanabilir
@openai/codex-security paketi herkese açıktır.
Taramaları çalıştırmak Codex Security erişimi gerektirir. En iyi sonuçlar için Trusted Access for Cyber kapsamında doğrulanmış bir hesap kullanın.
Tarama, oturum açtıktan sonra neden bir API key kullanıyor
Ortamınız OPENAI_API_KEY veya CODEX_API_KEY içerdiğinde etkileşimli terminali olmayan taramalar ile
JSON ve JSONL taramaları, başarılı bir ChatGPT veya erişim belirteci oturumundan sonra bile varsayılan olarak
ortamdaki API key'i kullanır. ChatGPT oturumu da mevcut olduğunda metin çıktılı
etkileşimli taramalar seçim yapmanızı ister. Deneme çalıştırmaları istem göstermez veya kimlik bilgilerini yüklemez.
Bir taramada saklanan kimlik bilgilerinizi kullanmak için bunları açıkça seçin:
npx @openai/codex-security scan . --auth chatgptOPENAI_API_KEY veya CODEX_API_KEY üzerinden bir API key gerektirmek için:
npx @openai/codex-security scan . --auth api-keySaklanan kimlik bilgilerinizi otomatik varsayılan yapmak için
unset OPENAI_API_KEY CODEX_API_KEY komutunu çalıştırın. Desteklenen tüm kimlik doğrulama modları için
CLI referansına bakın.
Toplu depo taraması nasıl çalışır
GitHub CLI ile oturum açın:
gh auth loginBir GitHub hesabındaki veya kuruluşundaki depoları keşfedin ve seçin:
npx @openai/codex-security bulk-scanHazırlanmış bir liste için bir depo CSV'si ve çıktı dizini sağlayın:
npx @openai/codex-security bulk-scan repositories.csv \
--output-dir /path/outside/repositories/security-scans \
--workers 4GitHub keşfi, CSV biçimi, kampanya sonuçları ve kullanılabilir seçenekler için Toplu güvenlik taramaları çalıştırma bölümüne bakın.
Kesintiye uğrayan toplu tarama sürdürülebilir mi
Evet. Aynı bulk-scan komutunu özgün CSV ve çıktı diziniyle çalıştırın. Codex Security tamamlanmış depoları atlar.
Geçici depo veya tarama hatalarını yeniden denemek için --max-attempts 3 ekleyin:
npx @openai/codex-security bulk-scan repositories.csv \
--output-dir /path/outside/repositories/security-scans \
--workers 4 \
--max-attempts 3partial veya unknown kapsamıyla tamamlanan bir tarama sonuçlarını korur ve
kampanyanın 2 koduyla sonlanmasına neden olur. --max-attempts kullanılsa bile
yeniden denenmez.
Bir tarama mimari ve güvenlik politikalarını nasıl kullanabilir
Mimari belgeleri, tehdit modellerini veya güvenlik politikalarını
--knowledge-base ile iletin:
npx @openai/codex-security scan . \
--knowledge-base /path/to/architecture.md \
--knowledge-base /path/to/security-policiesCodex Security bu belgeleri geçerli tarama için bağlam olarak kullanır. Desteklenen dosya türleri ve dizin davranışı için Güvenlik bağlamı ekleme bölümüne bakın.
Bulgular ve kapsam
Ekipler önceki tarama sonuçlarını nerede bulabilir
Deponuz için kaydedilmiş taramaları listeleyin:
npx @openai/codex-security scans list /path/to/repositoryBulguları incelemek için sonuçlardaki bir tarama kimliğini kullanın:
npx @openai/codex-security scans show SCAN_IDTamamlanmış her tarama raporunu, bulgularını, kapsamını ve destekleyici yapıtlarını birlikte tutar. Tam düzen için Tarama yapıtları bölümüne bakın.
Kaydedilmiş tarama ve çalışan olaylarını incelemek için scans logs SCAN_ID komutunu çalıştırın. Bu günlüklerde
hassas bilgiler gizlenmez; günlükler kaynak kod veya kimlik bilgileri içerebilir.
CLI tarama geçmişini kaydedemezse ne olur
Codex Security tarama geçmişini bir çalışma alanı veritabanında tutar. Varsayılan durum dizini yazılabilir değilse deponun dışında özel bir dizin seçin:
export CODEX_SECURITY_STATE_DIR=/path/outside/repository/codex-security-stateTaramalar yeni ve bilinen bulguları nasıl ayırt eder
Bir deponun tüm taramalarındaki açık bulguları listeleyin:
npx @openai/codex-security findings list /path/to/repositoryListe, en son taramada doğrulanan bulguları ve taramanın doğrulamadığı daha önceki açık bulguları belirtir.
İki taramadaki bulguları karşılaştırın:
npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_IDKarşılaştırma, bulguları temel nedene göre otomatik olarak eşleştirir, kaydedilmiş eşleşmeleri yeniden kullanır ve yeni, devam eden, yeniden açılan, çözümlenen ve bilinmeyen bulguları belirler. Bir bulgu yalnızca sonraki tarama, özgün hedefini ve etkilenen yolu kapsam boşlukları olmadan kapsadığında çözümlenmiş sayılır.
Yanlış pozitif geri bildirimi nasıl çalışır
Oluşum kimliğini bulmak için kaydedilmiş taramayı inceleyin:
npx @openai/codex-security scans show SCAN_IDBu bulgunun neden geçerli olmadığını kaydedin:
npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
--reason "The framework escapes this input before it reaches the query"Aynı deponun gelecek taramaları bu açıklamayı bağlam olarak alır. Yine de geçerli kaynağı, denetimleri ve erişilebilirliği bağımsız olarak kontrol ederler. Bir reddetme, kuralı, yolu veya güvenlik açığı sınıfını engellemez.
Komut ayrıntıları için bulgular referansına bakın.
Yinelenen taramalar neden farklı bulgular döndürebilir
Yapay zekâ destekli taramalar, aynı tarama yapılandırmasıyla bile değişebilir. Önce temel taramanızı yeniden çalıştırın:
npx @openai/codex-security scans rerun BASELINE_SCAN_IDYeniden çalıştırma, özgün tarama yapılandırmasını korur ve aynı eklenti sürümünü gerektirir. Yüklü eklenti değişmişse komut durur.
Temel taramayı yeni taramayla karşılaştırın:
npx @openai/codex-security scans compare BASELINE_SCAN_ID REPEAT_SCAN_IDEksik bağlam değişkenliğe katkıda bulunabiliyorsa ortak mimari ve güvenlik rehberliği sağlayın. Eşleştirme, çalıştırmalar arasında aynı temel bulguyu belirleyebilir ancak taramaları belirlenimci yapmaz. Kaybolan tüm önemli bulguları doğrudan yeniden kontrol edin.
Bir ekip düzeltmenin işe yaradığını nasıl doğrulayabilir
Bir düzeltmeyi uyguladıktan sonra özgün taramayı yeniden çalıştırın:
npx @openai/codex-security scans rerun BEFORE_SCAN_IDÖzgün bulguları yeni taramayla karşılaştırın:
npx @openai/codex-security scans compare BEFORE_SCAN_ID AFTER_SCAN_IDYeni taramanın özgün hedefi ve etkilenen yolu kapsam boşlukları olmadan kapsadığını doğrulayın. Ardından özgün bulguyu geçerli çalışma kopyasına göre doğrudan yeniden kontrol edin:
npx @openai/codex-security validate /path/to/original/findings.json \
"Recheck the SQL injection in src/orders.ts:42 against the current code"Tek başına eksik bir bulgu veya tarama karşılaştırması, düzeltmenin işe yaradığını kanıtlamaz.
Eksik kapsam ne anlama gelir
Kapsam complete, partial veya unknown olabilir. Bir taramayı inceleme kanıtı olarak
kabul etmeden önce hariç tutulan yollar, ertelenen yüzeyler ve açık sorular için coverage.json içeriğini inceleyin.
Kısmi veya bilinmeyen kapsama sahip taramalar, önem derecesi politikası olmasa bile 2 çıkış kodunu döndürür.
Yine de kullanılabilir tüm bulguları ve kapsamı tutarlar. Sonraki bir tarama,
bulgunun özgün yolunu kapsamıyorsa önceki bir bulgunun artık mevcut olmadığını gösteremez.
Otomasyon ve maliyet
Derin tarama süre sınırları nasıl çalışır
Derin tarama başlatırken bir çalışan süre sınırı belirleyin:
npx @openai/codex-security scan . --mode deep --max-time-hours 1.5Varsayılan değer 96 saattir. Kesirli değerler dâhil olmak üzere 96 değerine kadar
herhangi bir pozitif değer kullanın. Süre sınırına ulaşıldığında Codex Security tamamlanmamış çalışanları durdurur, tamamlanan
standart tarama sonuçlarını korur ve bunları nihai raporda birleştirir. Hiçbir
çalışan kaynak incelemesini tamamlamazsa rapor kısmi kapsamı kaydeder ve
CLI 2 çıkış kodunu döndürür.
Kalıcı ayarlar veya toplu kampanyalar için derin tarama
yapılandırmasında [deep_scan] altında
max_time_hours değerini ayarlayın.
Tarama maliyeti sınırları nasıl çalışır
Taramayı başlatmadan önce USD cinsinden tahmini bir maliyet sınırı ayarlayın:
npx @openai/codex-security scan . --max-cost 5Sınır bir tahmindir, kesin bir harcama üst sınırı değildir. Hâlihazırda devam eden
istekler bu sınırı aşarak tamamlanabilir. Codex Security tamamlanan çalışan
sonuçlarını birleştirdikten sonra derin tarama sınıra ulaşırsa CLI, tamamlanan
raporu kısmi kapsamla kaydeder ve 2 koduyla çıkar. Aksi takdirde mevcut
kısmi çıktıları korur.
Taramalar commit'leri ve pull request'leri kontrol edebilir mi
Hazırlanmış ve hazırlanmamış değişiklikler için commit öncesi bir güvenlik denetimi yükleyin:
npx @openai/codex-security install-hookPull request denetimleri için kaydedilmiş değişiklikleri tarayın ve bir önem derecesi eşiği ayarlayın:
npx @openai/codex-security scan . \
--diff origin/main \
--fail-on-severity highTam bir tarama, seçilen önem derecesinde veya üzerinde bir sorun bulduğunda
1 çıkış kodunu döndürür. Eksiksiz GitHub Actions iş akışı, yapıt işleme
ve SARIF dışa aktarma için Taramaları CI'da çalıştırma bölümüne bakın.
Başka bir uygulama taramaları doğrudan çalıştırabilir mi
Evet. Bir uygulamadan veya geliştirici aracından tarama başlatmak, hedefleri seçmek, bulguları ve kapsamı incelemek, ilerlemeyi izlemek ve maliyet denetimleri uygulamak için TypeScript SDK'yı kullanın.