Codex Security CLI referansı

Codex Security CLI için bağımsız değişkenler, çıktı biçimleri, tarama yapıtları, sağlayıcılar ve çıkış kodları.

Desteklenen codex-security komutlarını, bayraklarını, çıktı biçimlerini ve çıkış davranışını kontrol etmek için bu referansı kullanın. Rehberli bir ilk tarama için CLI hızlı başlangıç kılavuzuyla başlayın.

CLI'yi npx @openai/codex-security ile çalıştırın.

Komutlara genel bakış

usage: codex-security [--version] <command> [options]

CLI şu komutları sağlar:

Komut Amaç
codex-security scan Codex Security taraması çalıştırır.
codex-security install-hook Git commit öncesi güvenlik taraması yükler.
codex-security bulk-scan Depoları keşfeder ve devam ettirilebilir toplu taramalar çalıştırır.
codex-security scans Kaydedilmiş tarama günlüklerini listeler, inceler, karşılaştırır ve alır.
codex-security findings Kaydedilmiş güvenlik bulgularını inceler ve günceller.
codex-security export Tamamlanmış bulguları CSV, JSON veya SARIF olarak dışa aktarır.
codex-security publish Tamamlanmış tarama bulgularını Linear'da yayımlar.
codex-security validate Bir veya daha fazla olası güvenlik bulgusunu denetler.
codex-security patch Bir veya daha fazla güvenlik sorununa yama uygular.
codex-security login Oturum açar, kimlik bilgilerini depolar veya oturum durumunu denetler.
codex-security logout Depolanan oturumu kaldırır.
codex-security info Salt okunur SDK ve paketlenmiş eklenti meta verilerini gösterir.

CLI şu entegrasyon komutlarını da sağlar:

Komut Amaç
codex-security completions Kabuk tamamlama betikleri oluşturur.
codex-security mcp CLI'yi bir MCP server olarak kaydeder.
codex-security skills Codex Security skills öğelerini ajanlarla eşitler.

Kullanılabilir tüm komutları listeleyin:

npx @openai/codex-security --help

Bağımsız değişkenlerini ve seçeneklerini incelemek için bir komuta --help ekleyin:

npx @openai/codex-security scan --help

codex-security --version yüklü sürümü yazdırır ve çıkar. codex-security info --json SDK ve paketlenmiş eklenti sürümlerini bildirir. İki komut da Python gerektirmez.

Komutları keşfetme ve ajanları bağlama

Ajanların okuyabildiği komut manifestini yazdırın:

npx @openai/codex-security --llms

Tarama bağımsız değişkeni şemasını JSON olarak inceleyin:

npx @openai/codex-security scan --schema --format json

Bash için kabuk tamamlamaları oluşturun:

npx @openai/codex-security completions bash

Bu kabuklar için bash yerine zsh veya fish kullanın.

Tarama sonuçları --format toon|json|yaml|jsonl ve --full-output biçimlerini destekler. Bu çerçeve düzeyindeki --format, tamamlanmış bir taramadan dışa aktarılan yapıtın biçimini seçen --export-format öğesinden ayrıdır. Genel komut yardımı md seçeneğini de listeler ancak tarama sonuçları Markdown çıktısını desteklemez.

CLI'yi bir MCP server olarak kaydedin:

npx @openai/codex-security mcp add

Codex Security skills öğelerini ajanlarınızla eşitleyin:

npx @openai/codex-security skills add

MCP yalnızca salt okunur info meta veri komutunu sunar. Taramalar, dışa aktarımlar, kimlik doğrulama, doğrulama ve yama uygulama yalnızca CLI üzerinden kullanılabilir.

codex-security scan

Bir depoyu, seçilen yolları, kaydedilmiş değişiklikleri veya çalışma ağacını tarayın.

usage: codex-security scan [-h] [--auth {auto,chatgpt,api-key}]
                           [--provider {openai,openrouter,fireworks,amazon-bedrock}]
                           [--path PATH | --diff BASE | --working-tree]
                           [--head HEAD] [--base BASE]
                           [--knowledge-base PATH] [--scan-prompt-file FILE]
                           [--post-scan-prompt-file FILE]
                           [--mode {standard,deep}] [--workers N]
                           [--subagents N] [--stop-after-no-new N]
                           [--max-discovery-runs N] [--max-time-hours HOURS]
                           [--model MODEL]
                           [--effort {minimal,low,medium,high,xhigh,max}]
                           [--output-dir DIR]
                           [--archive-existing]
                           [--plugin-path PATH] [--python PATH]
                           [--codex KEY=VALUE] [--fail-on-severity LEVEL]
                           [--patch] [--patch-severity {critical,high,medium,low}]
                           [--create-pr]
                           [--max-cost USD] [--dry-run] [--headless] [--verbose]
                           [--json] [--format {toon,json,yaml,jsonl}]
                           [--full-output] [repository]

repository varsayılan olarak geçerli dizini kullanır.

Tarama kimlik doğrulamasını seçme

Kimlik bilgilerini otomatik olarak seçmek için varsayılan seçenek olan --auth auto öğesini kullanın. Hem ChatGPT oturumu hem de OPENAI_API_KEY veya CODEX_API_KEY mevcut olduğunda, metin çıktılı etkileşimli taramalar hangi kimlik bilgisinin kullanılacağını sorar. CI, JSON ve JSONL taramaları ile etkileşimli terminali olmayan diğer taramalar ortam API key değerini kullanır. Deneme çalıştırmaları istem göstermez veya kimlik bilgilerini yüklemez.

Depolanan kimlik bilgilerinizi kullanmak için --auth chatgpt geçirin:

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

Bir ortam API key değeri kullanmak için --auth api-key geçirin:

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

Depolanan kimlik bilgilerini otomatik varsayılan yapmak için unset OPENAI_API_KEY CODEX_API_KEY çalıştırın.

OpenRouter veya Fireworks kullanma

API key değeri ve açıkça belirtilen bir model ile OpenRouter'ı seçin:

export OPENROUTER_API_KEY="your-openrouter-api-key"
npx @openai/codex-security scan . \
  --provider openrouter \
  --model anthropic/claude-sonnet-4.5

API key değeri ve açıkça belirtilen bir model ile Fireworks'ü seçin:

export FIREWORKS_API_KEY="your-fireworks-api-key"
npx @openai/codex-security scan . \
  --provider fireworks \
  --model accounts/fireworks/models/qwen3-235b-a22b

Her iki sağlayıcı da bulk-scan öğesini destekler.

Amazon Bedrock kullanma

--provider amazon-bedrock ve bir Bedrock model kimliğini scan veya bulk-scan ile kullanın. AWS model erişimini sağladıktan sonra taramalar AWS kimlik bilgilerini kullanır; --auth, OpenAI oturumu veya OpenAI API key gerekmez.

Daybreak Blue ve Daybreak Red

Daybreak Blue ve Daybreak Red için Trusted Access for Cyber onayı gerekir. Erişim talep etmek için kurumsal erişim başvurusunu gönderin veya OpenAI hesap ekibinizle iletişime geçin. Onay aldıktan sonra Amazon Bedrock üzerinde model erişimini sağlamak için AWS hesap ekibinizle birlikte çalışın.

Daybreak Red onayı, GPT-5.6-Cyber erişimini kapsamaz. GPT-5.6-Cyber için ayrı bir ABD hükümeti (USG) onayı gerekir. Amazon Bedrock üzerinde GPT-5.6-Cyber erişimini sağlamadan önce OpenAI hesap ekibinizden bu ek onayı talep etmesini isteyin. Daybreak erişim gereksinimlerine bakın.

Erişim Bedrock model kimliği AWS bölgesi
Daybreak Blue openai.gpt-daybreak-blue-5.6-sol us-east-2
Daybreak Red openai.gpt-5.6-cyber us-east-2

Kullanılabilirlik bilgileri için Daybreak Blue ve Daybreak Red AWS model kartlarını kontrol edin.

Daybreak Blue ile tarama yapmak için <aws-profile-name> yerine Daybreak Blue modeline erişimi olan bir AWS profili yazın:

export AWS_PROFILE="<aws-profile-name>"
export AWS_REGION="us-east-2"
npx @openai/codex-security scan . \
  --provider amazon-bedrock \
  --model openai.gpt-daybreak-blue-5.6-sol --effort high

Daybreak Red ile tarama yapmak için GPT-5.6-Cyber erişimi olan bir AWS profili seçin. Bu profil, Daybreak Blue için kullandığınız profilden farklı olabilir:

export AWS_PROFILE="<aws-profile-name>"
export AWS_REGION="us-east-2"
npx @openai/codex-security scan . \
  --provider amazon-bedrock \
  --model openai.gpt-5.6-cyber --effort high

Kimlik doğrulaması için AWS_BEARER_TOKEN_BEDROCK veya standart AWS kimlik bilgisi zincirini de kullanabilirsiniz. Geçici erişim anahtarları için AWS_SESSION_TOKEN gerekir. Kimlik bilgilerini ve AWS_REGION değerini taramayla aynı kabukta veya CI işinde ayarlayın.

Yerel sonuçlar ve erişim kontrolleri

Kaydedilmiş yerel raporlar, scans show ve export bulut kimlik bilgileri olmadan çalışır. Bulguları Codex Security Cloud’a yüklemek için ayrıca ChatGPT ile oturum açmanız ve hedefe erişiminizin olması gerekir.

info ve scan --dry-run, AWS kimlik bilgilerini veya model erişimini test etmez. Erişimi kontrol etmek için bir tarama çalıştırın. AWS kimlik doğrulama veya erişim reddi hatalarında kimlik bilgilerinizi, bölgenizi ve model izinlerinizi kontrol edin.

Bedrock sürüm durumu

@openai/codex-security@0.1.31, Amazon Bedrock taramalarını destekler. Bu sürüm, yukarıdaki Daybreak Blue ve Daybreak Red model kimlikleri için maliyet tahmini sunmaz ve --max-cost desteği sağlamaz.

Yüklü paketinizin ve paketle birlikte gelen Codex’in sürümlerini kontrol edin:

npx @openai/codex-security --version
npx @openai/codex-security info --json

Yüklü sürümünüzde kullanılabilen seçenekleri kontrol etmek için npx @openai/codex-security scan --help kullanın.

Tarama hedefini seçme

Her tarama için bir hedef türü seçin.

Bağımsız değişken Açıklama
--path PATH Depoya göreli bir yolu tarar. Daha fazla yol için bayrağı yineleyin.
--diff BASE BASE ile --head arasındaki kaydedilmiş değişiklikleri tarar. Head varsayılan olarak HEAD değerini kullanır.
--head HEAD --diff için head revizyonunu ayarlar.
--working-tree Hazırlanmış ve hazırlanmamış değişiklikleri --base ile karşılaştırarak tarar. Base varsayılan olarak HEAD değerini kullanır.
--base BASE --working-tree için base revizyonunu ayarlar.
--mode {standard,deep} Tarama modunu seçer. Varsayılan değer standard şeklindedir.

--path, --diff ve --working-tree birbirini dışlar. --head --diff gerektirir, --base ise --working-tree gerektirir. Derin mod depo ve yol hedeflerini destekler.

Fark ve çalışma ağacı taramalarında depo bağımsız değişkeni Git worktree kökü olmalıdır. Seçilen ref'ler o çalışma kopyasında bulunmalıdır.

Tüm depoyu tarayın:

npx @openai/codex-security scan .

Seçilen yolları tarayın:

npx @openai/codex-security scan . --path src --path tests

Kaydedilmiş değişiklikleri tarayın:

npx @openai/codex-security scan . --diff origin/main --head HEAD

Hazırlanmış ve hazırlanmamış değişiklikleri tarayın:

npx @openai/codex-security scan . --working-tree --base HEAD

Depoda daha derin bir inceleme çalıştırın:

npx @openai/codex-security scan . --mode deep

Derin taramaları yapılandırma

Çalışan eşzamanlılığını ve çalışma süresini denetlemek için şu seçenekleri --mode deep ile kullanın:

Bağımsız değişken Açıklama
--workers N Eşzamanlı bağımsız standart tarama çalışanı sınırı. Varsayılan değer 4 şeklindedir.
--subagents N Her çalışanın kullanabildiği alt ajanlar. Varsayılan değer 3 şeklindedir.
--stop-after-no-new N Art arda tamamlanan N çalışan taramasında yeni sorun bulunmazsa durur. Varsayılan değer 4 şeklindedir.
--max-discovery-runs N Toplam bağımsız standart tarama çalıştırması sınırı. Varsayılan değer 40 şeklindedir.
--max-time-hours HOURS Saat cinsinden çalışan yürütme süresi sınırı. Varsayılan değer 96 şeklindedir; kesirleri kabul eder.

--subagents sıfır veya pozitif bir tam sayı kabul eder. --max-time-hours, 96 değerinden büyük olmayan pozitif bir sayı kabul eder. Kalan seçenekler pozitif bir tam sayı gerektirir. Bu seçenekler standart taramalarda kullanılamaz.

Örneğin iki çalışan kullanın, en fazla on çalıştırmaya izin verin ve çalışan yürütmesini 1,5 saat sonra durdurun:

npx @openai/codex-security scan . \
  --mode deep \
  --workers 2 \
  --subagents 0 \
  --stop-after-no-new 3 \
  --max-discovery-runs 10 \
  --max-time-hours 1.5

Süre sınırı dolduğunda tarama, tamamlanmamış çalışanları durdurur, tamamlanan arama sonuçlarını saklar ve bunları nihai raporda birleştirir. İncelenen alanlar ve ertelenen işler için raporu kontrol edin. Çıkış kodunu yalnızca son tarih belirlemez; yürütme durumu ve önem derecesi politikası belirler.

Kalıcı varsayılanları ~/.codex/codex-security/config.toml içinde veya CODEX_HOME ayarladığınızda $CODEX_HOME/codex-security/config.toml içinde belirleyin:

[deep_scan]
workers = 2
subagents = 0
stop_after_no_new = 3
max_discovery_runs = 10
max_time_hours = 1.5

Komut satırı seçenekleri bu varsayılanları geçersiz kılar. scan --workers, bir derin taramadaki bağımsız standart tarama çalışanlarını; bulk-scan --workers ise eşzamanlı depo taramalarını denetler. stop_after_consecutive_errors değerini yalnızca TOML dosyasında ayarlayın; varsayılanı 3 şeklindedir.

Güvenlik bağlamı ekleme

Mimari belgeleri, tehdit modellerini veya güvenlik politikalarını sağlamak için --knowledge-base PATH kullanın. Daha fazla dosya veya dizin için seçeneği yineleyin:

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

Desteklenen belgeler .md, .markdown, .txt, .pdf ve .docx dosyalarını içerir. CLI dizinleri özyinelemeli olarak arar, bağlantılı giriş yollarını reddeder, bağlantılı dizin girdilerini atlar ve ayıklanan belge içeriğini kaydedilmiş tarama sonuçlarının dışında tutar.

Tarama talimatları ekleme

Tarama talimatları eklemek için --scan-prompt-file ile bir metin veya Markdown dosyası sağlayın. Başarılı taramalardan ve tarama hatalarından sonra aynı kimliği doğrulanmış oturumda ek talimatları çalıştırmak için --post-scan-prompt-file kullanın:

npx @openai/codex-security scan . \
  --scan-prompt-file security-focus.md \
  --post-scan-prompt-file follow-up.md

Örneğin tarama prompt’unu yetkilendirme sınırlarına odaklanmak için kullanın ve ek talimattan tarama dizinine yeni bir post-scan-summary.md yazmasını isteyin. Ek işlem başarısız olursa CLI bir uyarı bildirir ve tamamlanmış taramayı tutar. Ek işlem, iptalden sonra veya tarama maliyet sınırına ulaştığında çalışmaz.

Çıktı ve politika seçeneklerini ayarlama

Yapıtları tutmak, önceki sonuçları korumak veya makinece okunabilir bir sonuç oluşturmak için şu seçenekleri kullanın.

Bağımsız değişken Açıklama
--output-dir DIR Tarama yapıtlarını kapsayan Git çalışma ağacının dışındaki özel bir dizine yazar. Varsayılan olarak kalıcı Codex Security durumunu kullanır.
--archive-existing Mevcut sonuçları DIR.previous-<timestamp>-<id> konumuna taşır ve boş bir çıktı diziniyle başlar. --output-dir gerektirir.
--fail-on-severity LEVEL Tamamlanmış bir tarama critical, high, medium veya low düzeyinde ya da üstünde bulgu bildirirse 1 çıkışını döndürür.
--patch Tam bir taramadan sonra seçilen bulguları düzeltir ve doğrular.
--patch-severity LEVEL critical, high, medium veya low düzeyindeki ya da üstündeki bulgulara yama uygular. Varsayılan değer low şeklindedir.
--create-pr Doğrulanmış yama dosyalarını commit eder ve bir GitHub pull request açar. --patch gerektirir.
--max-cost USD Tahmini model maliyeti belirtilen USD tutarını aştığında taramayı durdurur.
--dry-run Tarama başlatmadan depoyu, hedefi, bilgi tabanını, çıktı dizinini ve Codex yapılandırmasını denetler.
--headless Etkileşimli tarama panosu yerine düz metin ilerlemesi gösterir.
--verbose Hassas bilgileri gizlenmiş yaşam döngüsü, kimlik doğrulama, ilerleme ve maliyet tanılamalarını stderr'e yazdırır.
--json Manifesti, bulguları, kapsamı, yolları ve tur meta verilerini tek bir JSON belgesi olarak yazdırır.
--format FORMAT Tam tarama sonucunu toon, json, yaml veya jsonl olarak yazdırır.
--full-output Tam sonucu varsayılan yapılandırılmış çıktı biçiminde yazdırır.

Maliyet sınırı bir tahmindir; kesin bir harcama üst sınırı değildir. Devam eden istekler, sınırı biraz aşarak tamamlanabilir. Derin bir tarama, Codex Security tamamlanan çalışan sonuçlarını birleştirdikten sonra sınıra ulaşırsa CLI, tamamlanmış bir sonucu mühürleyip bütçe uyarısını bildirebilir. 0 veya bulgular yapılandırılan önem derecesi eşiğini karşılıyorsa 1 döndürür. Geçerli bir tamamlanmış sonuç üretemezse 2 döndürür ve mevcut çıktıları diskte bırakır.

--output-dir öğesini atladığınızda sonuçlar $CODEX_HOME/state/plugins/codex-security/scans/<repository> altında kalıcı olur. CODEX_HOME varsayılan olarak ~/.codex değerini kullanır. Sonuçları bunun yerine $CODEX_SECURITY_STATE_DIR/scans/<repository> altında tutmak için CODEX_SECURITY_STATE_DIR ayarlayın. Bu dizinler kaynak alıntıları ve güvenlik açığı ayrıntıları içerebilir; dolayısıyla izinlerini ve saklama sürelerini buna göre yönetin.

Güvenlik çalışma alanı tarama geçmişini $CODEX_HOME/state/plugins/codex-security/workbench.sqlite3 içinde tutar. CODEX_SECURITY_STATE_DIR ayarlamak Güvenlik çalışma alanı veritabanını da taşır.

Çıktı dizini taranan dizinin ve onu kapsayan tüm Git çalışma ağaçlarının dışında olmalıdır. Bir tarama, --archive-existing ile mevcut bir sonuç dizininin yerini alabilir.

Bir çıktı dizinini yeniden kullanmadan önce önceki sonuçları korumak için:

npx @openai/codex-security scan . \
  --output-dir /path/outside/repository/results \
  --archive-existing

Taramalar varsayılan olarak yalnızca rapor oluşturur. CI'da bir önem derecesi politikasını değerlendirmek için --fail-on-severity ekleyin:

npx @openai/codex-security scan . \
  --diff origin/main \
  --output-dir /path/outside/repository/results \
  --json \
  --fail-on-severity high \
  > /path/outside/repository/codex-security.json

Deneme çalıştırması, kimlik bilgilerini yüklemeden, Codex'i başlatmadan veya eklentinin Python yorumlayıcısını yoklamadan bilgi tabanı belgeleri dâhil yerel girdileri denetler:

npx @openai/codex-security scan . \
  --output-dir /path/outside/repository/results \
  --dry-run

Çalışma zamanını yapılandırma

Açıkça bir model, yorumlayıcı, eklenti veya Codex yapılandırma değeri gerektiğinde çalışma zamanı seçeneklerini kullanın.

Bağımsız değişken Açıklama
--auth {auto,chatgpt,api-key} Tarama kimlik bilgilerini seçer. Varsayılan değer auto şeklindedir.
--provider {openai,openrouter,fireworks,amazon-bedrock} Çıkarım sağlayıcısını seçer. Varsayılan değer openai şeklindedir.
--model MODEL Modeli seçer. Varsayılan değer gpt-5.6-sol şeklindedir. OpenRouter, Fireworks ve Amazon Bedrock için gereklidir.
--effort {minimal,low,medium,high,xhigh,max} Modelin akıl yürütme düzeyini seçer. Varsayılan değer xhigh şeklindedir.
--plugin-path PATH Paketlenmiş eklentiyi geçersiz kılmak için bir Codex Security eklenti dizini veya ZIP kullanır.
--python PATH Eklenti çalışma zamanı için Python yorumlayıcısını seçer.
--codex KEY=VALUE Yalıtılmış bir Codex yapılandırma değerini geçersiz kılar. Değerler TOML sözdizimini kullanır. Daha fazla değer için bayrağı yineleyin.

TOML yazmadan farklı bir model ve akıl yürütme düzeyi seçmek için kimlik bilgilerinizle erişebildiğiniz bir model seçin. ChatGPT ile oturum açıyorsanız bu örnekleri kullanmadan önce GPT-6.1 Sol kullanılabilirliğini kontrol edin:

npx @openai/codex-security scan . --model gpt-6.1-sol --effort medium

TOML ayrıştırıcısının bir dize alması için --codex üzerinden geçirilen dize değerlerini tırnak içine alın:

npx @openai/codex-security scan . --codex 'model="gpt-6.1-sol"'

codex-security install-hook

Geçerli depo için Git commit öncesi güvenlik denetimi yükleyin:

npx @openai/codex-security install-hook

Denetim, her commit öncesinde hazırlanmış ve hazırlanmamış değişiklikleri tarar; yüksek önem dereceli bulguları veya tarama hatalarını engeller. core.hooksPath değerine uyar ve mevcut bir commit öncesi betiğin yerini almaz. Gerektiğinde farklı bir önem derecesi eşiği ayarlayın:

npx @openai/codex-security install-hook . --fail-on-severity medium

codex-security bulk-scan

GitHub depolarını keşfedip tarayın veya bir depo CSV dosyasından devam ettirilebilir bir tarama çalıştırın.

GitHub keşfi, CSV envanterleri, kampanya sonuçları ve kapsayıcılaştırılmış taramalar hakkında eksiksiz bir kılavuz için Toplu güvenlik taramaları çalıştırma bölümüne bakın.

usage: codex-security bulk-scan [input] [--output-dir DIR]
                                [--workers N] [--mode {standard,deep}]
                                [--provider {openai,openrouter,fireworks,amazon-bedrock}]
                                [--model MODEL]
                                [--effort {minimal,low,medium,high,xhigh,max}]
                                [--knowledge-base PATH]
                                [--scan-prompt-file FILE]
                                [--post-scan-prompt-file FILE]
                                [--max-attempts N] [--plugin-path PATH]
                                [--python PATH] [--codex KEY=VALUE]

Depoları etkileşimli olarak seçmek için npx @openai/codex-security bulk-scan komutunu bağımsız değişken olmadan çalıştırın. Bu akış bir GitHub CLI oturumu gerektirir.

Etkileşimli keşif sırasında bir model ve akıl yürütme düzeyi seçmek için kimlik bilgilerinizle erişebildiğiniz bir model kullanın. ChatGPT ile oturum açıldığında GPT-6.1 Sol kullanılabilirliğine bakın:

npx @openai/codex-security bulk-scan --model gpt-6.1-sol --effort medium

Hazırlanmış bir depo listesi için bir CSV ve --output-dir sağlayın:

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

CSV, id, repository ve revision sütunlarını gerektirir. Revizyonlar tam commit hash'leri olmalıdır. İsteğe bağlı scope, mode ve prompt sütunları tek tek depoları yapılandırır:

id,repository,revision,scope,mode,prompt
service,https://github.com/example/service.git,0123456789abcdef0123456789abcdef01234567,src,standard,Review authorization boundaries.

Güvenlik belgelerini tüm depolarda paylaşmak için --knowledge-base PATH kullanın. Ortak tarama talimatları eklemek için --scan-prompt-file FILE kullanın; CSV dosyasındaki prompt sütunu, bu ortak prompt'un ardından depoya özgü talimatlar ekler. --post-scan-prompt-file FILE, tarama hataları da dahil olmak üzere her taramadan sonra ek talimatları çalıştırır. İptalden sonra veya tarama maliyet sınırına ulaştığında çalışmaz.

--workers, eş zamanlı depo taramalarını sınırlar ve varsayılan değeri 4 olur. --mode varsayılan olarak standard, --max-attempts ise varsayılan olarak 1 değerini alır. Depo veya tarama hatalarında yeniden denemek için --max-attempts değerini ayarlayın. Kapsam eksiklikleri veya önem derecesi politikası ihlalleri nedeniyle tamamlanmış taramalar yeniden denenmez. Bu taramaların sonuçları erişilebilir kalır.

Mevcut bir çıktı dizininden devam etmek için aynı komutu yeniden çalıştırın. CLI, kapsam eksiklikleri olanlar da dahil olmak üzere tamamlanmış taramaları atlar.

Kapsayıcılaştırılmış kampanyalar için Docker'da toplu taramalar çalıştırma bölümüne bakın.

codex-security scans

Kaydedilmiş taramaları bulma

Geçerli dizin için kaydedilmiş taramaları listeleyin:

npx @openai/codex-security scans

Farklı bir depo için taramaları listeleyin:

npx @openai/codex-security scans list /path/to/repository

Belirli bir çıktı dizini altında depolanan taramaları bulun:

npx @openai/codex-security scans list --scan-root /path/outside/repository/results

Bir taramayı inceleme veya yineleme

Kaydedilmiş bir taramanın sonuçlarını ve yapılandırmasını gösterin:

npx @openai/codex-security scans show SCAN_ID

Önceki taramalardaki bulgu bağlantılarını eklemek için --show-linked-findings ekleyin.

Özgün yapılandırmasını kullanarak taramayı geçerli çalışma kopyasında yeniden çalıştırın:

npx @openai/codex-security scans rerun SCAN_ID

Yeniden çalıştırma, özgün taramanın kaydettiği eklenti sürümünü gerektirir. Yüklü sürüm farklıysa komut farklı bir eklentiyle çalışmak yerine durur.

Kaydedilmiş tarama günlüklerini inceleme

Bir tarama ve çalışanlarına ait kaydedilmiş oturum olaylarının tamamını okuyun. Bu günlüklerde hassas bilgiler gizlenmemiştir ve kaynak kodu veya kimlik bilgileri içerebilir; bu nedenle paylaşmadan önce inceleyin:

npx @openai/codex-security scans logs SCAN_ID

Yapılandırılmış çıktı için --json ekleyin.

Bulguları eşleştirme ve karşılaştırma

Yeni, devam eden, yeniden açılan, gözlemlenmeyen, çözümlenen ve bilinmeyen bulguları belirlemek için iki taramayı karşılaştırın:

npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Karşılaştırma, aynı temel nedeni paylaşan bulguları otomatik olarak eşleştirir ve kaydedilmiş eşleşmeleri yeniden kullanır. Eşleşmeleri açıkça kaydetmek için scans match kullanın:

npx @openai/codex-security scans match PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Yolu hariç tutulduğunda veya eşleşmesi belirsiz olduğunda bir bulgu bilinmeyen olarak değerlendirilir. Sonraki tarama, taradığı kodda bulguyu bulamazsa bulgu gözlemlenmeyen olarak değerlendirilir. Yalnızca zaten düzeltilmiş olduğu açıkça belirtilerek kapatılan bir bulgu çözümlenmiş sayılır. Mevcut bir eşleşmeyi yeniden hesaplamanız gerektiğinde --force seçeneğini match komutuna ekleyin.

Diğer çalışma kopyalarındaki taramalar dâhil geçerli deponun tamamlanmış tüm taramalarını eşleştirmek için:

npx @openai/codex-security scans match --all

Aynı yapılandırmayı yeniden çalıştırsanız bile tarama sonuçları değişebilir. Eşleştirme ve karşılaştırma değişiklikleri izler; sonuçları belirlenimci yapmaz veya bir güvenlik açığının artık bulunmadığını kanıtlamaz. Güvenlik açısından kritik bir bulguyu geçerli koda göre yeniden denetlemek için validate kullanın.

codex-security findings

Geçerli deponun taramalarındaki açık bulguları listeleyin:

npx @openai/codex-security findings list

Başka bir çalışma kopyasını incelemek için bir depo yolu geçirin:

npx @openai/codex-security findings list /path/to/repository

Yapılandırılmış çıktı için --json ekleyin. Liste, son taramada görülen bulguları ve bu taramada doğrulanmamış önceki bulguları tanımlar.

Önceki bulgular, çözümlenene veya reddedilene kadar açık kalır. Son taramada görülmemeleri, düzeltildiklerini kanıtlamaz.

İncelenmiş bir bulguyu hatalı pozitif olarak kaydetmek için:

usage: codex-security findings false-positive OCCURRENCE_ID
                       --reason REASON

Bulgu oluşumunu belirlemek için kaydedilmiş taramayı inceleyin:

npx @openai/codex-security scans show SCAN_ID

Hatalı pozitif için belirli bir açıklama kaydedin:

npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
  --reason "The framework escapes this input before it reaches the query"

Gerekçe boş olmamalıdır. Codex Security kararı depo için kaydeder ve gelecekteki taramalara bağlam olarak sağlar. Her tarama geçerli kaynağı, denetimleri ve erişilebilirliği bağımsız olarak yeniden denetler. Önceki bir karar bir kuralı, yolu veya güvenlik açığı sınıfını incelemeden hariç tutmaz.

codex-security export

Tamamlanmış ve mühürlenmiş bir taramadan CSV, JSON veya SARIF dışa aktarın. Dışa aktarma, çıktıyı yazmadan önce tarama yapıtlarını doğrular; Codex çalışma zamanına ve kimlik bilgilerine dokunmaz.

usage: codex-security export [--export-format {csv,json,sarif}]
                             [--output FILE|-] [--source-root PATH]
                             [--python PATH] scan_dir

scan_dir tamamlanmış tarama dizinidir.

Bağımsız değişken Açıklama
--export-format {csv,json,sarif} Dışa aktarma biçimini seçer. Varsayılan değer sarif şeklindedir.
--output FILE|- Seçilen biçimi bir dosyaya veya stdout'a yazar. Varsayılan olarak geçerli dizindeki bir dosyayı kullanır.
--source-root PATH Bir depo çalışma kopyasını kullanarak SARIF'e kaynak satırı parmak izleri ekler.
--python PATH Paketlenmiş dışa aktarıcı için Python yorumlayıcısını seçer.

--source-root yalnızca --export-format sarif ile çalışır. JSON, mühürlenmiş bulgular belgesini korur. CSV taşınabilir bulgu sütunları içerir ve yerel Güvenlik çalışma alanı önceliklendirme durumunu içermez.

--output olmadan CLI, geçerli çalışma dizininde SARIF'i results.sarif, JSON'u findings.json ve CSV'yi findings.csv konumuna yazar. Dışa aktarımlar kaynak alıntıları ve güvenlik açığı ayrıntıları içerebilir. Komutu depo dışında çalıştırın veya taranan çalışma kopyasının dışındaki özel bir yolla --output geçirin.

SARIF'i bir dosyaya yazın:

npx @openai/codex-security export /path/to/scan \
  --export-format sarif \
  --source-root /path/to/repository \
  --output /path/outside/repository/exports/results.sarif

SARIF'i stdout'a yazın:

npx @openai/codex-security export /path/to/scan \
  --export-format sarif \
  --source-root . \
  --output -

Bulguları JSON olarak dışa aktarın:

npx @openai/codex-security export /path/to/scan \
  --export-format json \
  --output /path/outside/repository/exports/findings.json

Bulguları CSV olarak dışa aktarın:

npx @openai/codex-security export /path/to/scan \
  --export-format csv \
  --output /path/outside/repository/exports/findings.csv

codex-security publish scan

Tamamlanmış bir taramadaki her bulguyu Linear'da yayımlayın:

usage: codex-security publish scan [SCAN_DIR] --to linear
                                   [--linear-team TEAM_ID]
                                   [--project PROJECT_ID]
                                   [--linear-api-key KEY]
                                   [--linear-assignee EMAIL_OR_USER_ID]
                                   [--dry-run] [--json]

SCAN_DIR tamamlanmış ve mühürlenmiş bir tarama içermelidir. Yerel tarama geçmişinden tamamlanmış bir tarama seçmek için etkileşimli terminalde bunu atlayın. Sorun oluşturmak, taramanın ve bulgularının yerel tarama geçmişinde bulunmasını da gerektirir. Deneme çalıştırması bu kalıcılık denetimi olmadan mühürlenmiş yapıtları doğrular.

Bağımsız değişken Açıklama
--to linear Linear'da yayımlar. Bu bağımsız değişken gereklidir.
--linear-team TEAM_ID Linear ekibini seçer. Atlandığında CODEX_SECURITY_LINEAR_TEAM kullanır; bunlardan biri gereklidir.
--project PROJECT_ID Bir Linear projesi seçer. Atlandığında CODEX_SECURITY_LINEAR_PROJECT kullanır. İkisi de ayarlanmamışsa sorunlar doğrudan ekipte oluşturulur.
--linear-api-key KEY Doğrudan yayımlama için kişisel bir Linear API key kullanır. Atlandığında CODEX_SECURITY_LINEAR_API_KEY kullanır.
--linear-assignee EMAIL_OR_USER_ID Oluşturulan sorunları e-posta adresi veya Linear kullanıcı ID'siyle atar. --linear-api-key veya CODEX_SECURITY_LINEAR_API_KEY gerektirir. Atlandığında sorunlar atanmamış kalır.
--dry-run Codex'i başlatmadan, Linear ile iletişime geçmeden, sorun oluşturmadan veya yayımlama durumu yazmadan sorun yüklerini hazırlar.
--json Yapılandırılmış yayımlama sonuçlarını stdout'a yazar. İlerleme stderr'de kalır.

Deneme çalıştırması olmayan her çağrı, her bulgu için yeni bir sorun oluşturmaya çalışır. Aynı taramayı yeniden yayımlamak mevcut sorunları eşleştirmez, güncellemez veya yeniden kullanmaz. Bazı bulgular başarısız olursa komut başarıyla oluşturulan sorunları korur ve 2 çıkış kodunu döndürür. --json ile, yinelenenleri önlemek için yeniden denemeden önce created ve failed sonuçlarını inceleyin.

Yayımlamadan önce sorun yüklerini önizleyin:

npx @openai/codex-security publish scan /path/to/completed-scan \
  --to linear \
  --linear-team TEAM_ID \
  --dry-run \
  --json

Bağlı Linear uygulamasıyla yayımlama

Linear API key olmadan komut, mevcut yapılandırmanız ve bağlı Linear uygulamanızla Codex'i başlatır. Yayımlamadan önce oturum açın ve Linear'ı Codex hesabınıza bağlayın:

npx @openai/codex-security login
npx @openai/codex-security publish scan /path/to/completed-scan \
  --to linear \
  --linear-team TEAM_ID \
  --project PROJECT_ID

Linear API key ile yayımlama

--linear-api-key veya CODEX_SECURITY_LINEAR_API_KEY sağlamak, doğrudan Linear API üzerinden yayımlar ve Codex'i başlatmaz. Doğrudan yayımlamada bir atanan seçmezseniz sorunlar atanmamış kalır:

export CODEX_SECURITY_LINEAR_API_KEY=YOUR_LINEAR_PERSONAL_API_KEY
npx @openai/codex-security publish scan /path/to/completed-scan \
  --to linear \
  --linear-team TEAM_ID \
  --linear-assignee teammate@example.com

Komut satırı değerleri eşleşen ortam değişkenlerini geçersiz kılar. API key değerleri için --linear-api-key yerine CODEX_SECURITY_LINEAR_API_KEY tercih edin; çünkü komut satırı bağımsız değişkenleri kabuk geçmişinde ve işlem listelerinde görünebilir.

codex-security validate ve codex-security patch

Olası bir bulgunun geçerli olup olmadığını denetleyin:

npx @openai/codex-security validate findings.json \
  "Possible SQL injection in src/query.ts:42"

Paketlenmiş düzeltme skill öğesiyle bir düzeltme oluşturun:

npx @openai/codex-security patch findings.json \
  "Missing authorization check in src/routes.ts:18"

Her konumsal bağımsız değişken düz metin veya dosya yolu kabul eder. Bu girdiler geçerli dizini kullanır. Bir düzeltmeden sonra veya sonraki bir tarama artık bildirmediğinde bir bulguyu yeniden denetlemek için validate kullanın. Yalnızca taramaları karşılaştırmak, düzeltmenin çalıştığını kanıtlamaz.

Her iki komut için de akıl yürütme düzeyini seçmek üzere --effort kullanın:

npx @openai/codex-security validate "Possible SQL injection" --effort high

Taramadan sonra bulgulara yama uygulama

Tam bir taramadan sonra bulguları düzeltmek için scan --patch kullanın. Bunun için @openai/codex-security 0.1.15 veya üzeri gerekir. Varsayılan önem derecesi eşiği low şeklindedir. Bu komut yüksek ve kritik bulguları seçer:

npx @openai/codex-security scan . --patch --patch-severity high --json

Doğrulanmış ve zaten düzeltilmiş bulgular --fail-on-severity öğesini tetiklemez.

Kaydedilmiş bulgulara yama uygulama

Özgün depoya yama uygulamak için bir bulgu veya oluşum ID'si geçirin ya da kaydedilmiş bir taramadan bulguları seçin:

npx @openai/codex-security patch OCCURRENCE_ID
npx @openai/codex-security patch --scan SCAN_ID --severity high --json
npx @openai/codex-security patch --scan latest --severity medium

--scan latest geçerli depo için en son tamamlanan taramayı seçer. Kaydedilmiş bulgu komutları --json öğesini destekler; düz metin ve dosya girdileri desteklemez.

Yalnızca doğrulanmış yama dosyalarını commit etmek ve GitHub CLI ile pull request açmak için --create-pr ekleyin:

npx @openai/codex-security patch --scan SCAN_ID --severity high --create-pr

Push veya pull request başarısız olursa yeniden denemek için yazdırılan patch --resume-pr BRANCH komutunu aynı depoda çalıştırın.

Linear sorunlarına yama uygulama

Kişisel API key için CODEX_SECURITY_LINEAR_API_KEY veya LINEAR_API_KEY, OAuth token için LINEAR_ACCESS_TOKEN ayarlayın. Anahtarı kabuk geçmişinden uzak tutmak için --linear-api-key KEY yerine bir ortam değişkeni tercih edin.

Bir sorunu ID veya URL ile içe aktarın. Birden fazla sorun seçmek için --linear-issue öğesini yineleyin:

npx @openai/codex-security patch --linear-issue SEC-123 --linear-issue SEC-124

Bir projenin açık sorunlarını seçmek için --linear-project kullanın. Seçimi daraltmak için --linear-filter ekleyin:

npx @openai/codex-security patch --linear-project "Security backlog" \
  --linear-filter '{"labels":{"name":{"eq":"security"}}}'

Filtre state ayarlamadığı sürece CLI tamamlanmış ve iptal edilmiş sorunları dışlar. Linear sorunlarını değiştirmez.

codex-security login, logout ve info

Etkileşimli olarak 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

Geçerli oturumu denetleyin:

npx @openai/codex-security login status

Depolanan oturumu kaldırın:

npx @openai/codex-security logout

stdin üzerinden geçirerek bir API key depolayın:

printenv OPENAI_API_KEY | npx @openai/codex-security login --with-api-key

Kurumsal erişim token'ı depolayın:

printenv CODEX_ACCESS_TOKEN | npx @openai/codex-security login --with-access-token

Salt okunur SDK ve paketlenmiş eklenti meta verilerini inceleyin:

npx @openai/codex-security info --json

CLI'yi bir MCP server olarak sunduğunuzda kullanılabilen tek komut info olur. Taramalar, dışa aktarımlar, yayımlama, oturum açma, doğrulama ve yama uygulama yalnızca CLI üzerinden kullanılabilir.

Tarama çıktısını okuma

Taramalar varsayılan olarak ilerlemeyi, tamamlanma özetlerini ve hataları stderr'e gönderir; tam tarama sonucunu stdout'a yazmaz. Yapılandırılmış tarama sonuçlarını stdout'a göndermek için --json, --format veya --full-output isteyin.

Etkileşimli terminaller; geçerli tarama aşamasını, incelenen dosyaları, etkinliği, token kullanımını ve tahmini maliyeti içeren canlı bir pano gösterir. CI ve yönlendirilmiş çıktı düz metin ilerlemesi kullanır. Etkileşimli terminalde düz metin ilerlemesi kullanmak için --headless ekleyin:

npx @openai/codex-security scan . --headless

Pano canlı oturum ayrıntılarını da gösterir. Bu ayrıntılardaki hassas bilgiler gizlenmemiştir ve bunlar kaynak kodu veya kimlik bilgileri içerebilir. Paylaşmadan önce inceleyin.

Ayrıntılı tanılama

Hassas bilgileri gizlenmiş yaşam döngüsü, kimlik doğrulama, ilerleme ve maliyet tanılamalarını stderr'e yazdırmak için --verbose ekleyin:

npx @openai/codex-security scan . --verbose

Bayrak olmadan aynı tanılamaları etkinleştirmek için CODEX_SECURITY_LOG_LEVEL=debug ayarlayın. CODEX_SECURITY_LOG_LEVEL ayarlanmamışsa LOG_LEVEL=debug da tanılamayı etkinleştirir.

Tamamlanma özeti

Tamamlanan bir tarama, depodaki açık bulgu sayısını, önem derecesi dağılımını, geçen süreyi, rapor yolunu ve sonuç dizinini stderr'e yazar. Mevcut olduğunda token kullanımını ve tahmini maliyeti de içerir. Örneğin:

  REPORT    /path/to/scan/report.md

  FINDINGS  4 (3 confirmed this scan; 1 previously found; 1 critical, 2 high, 1 informational)
  ELAPSED   1s
  TOKENS    1,250 input, 200 cached, 30 output
  RESULTS   /path/to/scan

Bilgilendirme bulguları özet toplamına dâhildir. Önem derecesi politikaları, depo toplamında gösterilen önceki bulguları değil, yalnızca geçerli taramadaki critical, high, medium ve low bulgularını değerlendirir.

JSON çıktısı

scan --json stdout'a tek bir eksiksiz JSON belgesi yazar. Üst düzey yapısı şöyledir:

manifest
repositoryFindings
findings
coverage
scanDir
threadId
reportPath
artifactsDir
sarifPath
cost
turn
  id
  status
  durationMs
  finalResponse
  usage

Yama uygularken, JSON çıktısı yama sonuçlarını ve oluşturulan pull request'i de içerir.

İlerleme bilgileri, tamamlanma özetleri, arşiv bildirimleri ve hatalar stderr'de kalır. Önem derecesi politikası 1 çıkış kodunu döndürdüğünde de tamamlanan tarama tam JSON sonucunu yazdırır.

Tarama yapıtları

Tamamlanan bir tarama, okunabilir raporu ve yapılandırılmış çıktıları bir arada tutar. Mühürlenmiş bildirim dosyası, daha sonra okuyanların bu dosyaların değişmediğini doğrulayabilmesi için çıktıların karmalarını kaydeder:

<scan-directory>/
├── scan-manifest.json
├── findings.json
├── coverage.json
├── report.md
├── artifacts/
└── exports/
    └── results.sarif       # when produced

Yapılandırılmış dosyalar farklı amaçlara hizmet eder:

Dosya İçerik
scan-manifest.json Tarama kimliği, durum, hedef, kapsam, üretici ve mühürlenmiş çıktı kayıtları.
findings.json Bulgu tanımlayıcıları, önem derecesi, güven düzeyi, sınıflandırma, konumlar, kanıtlar, doğrulama, veri akışı, erişilebilirlik ve düzeltme.
coverage.json İncelenen yüzeyler, hariç tutulanlar, ertelenen işler ve açık sorular.
report.md Okunabilir tarama raporu.
artifacts/ Destekleyici tarama çıktıları.
exports/results.sarif Varsa, tarama sırasında oluşturulan SARIF.

Yürütme durumu için scan.status alanını scan-manifest.json dosyasında okuyun: completed, failed, canceled veya interrupted. Yeni sonuçlar coverage.completeness alanını içermez. Taramanın neleri incelediğini anlamak için ertelenen yüzeyleri, açıkça hariç tutulanları ve açık soruları coverage.json dosyasında inceleyin.

Çıkış kodları ve sinyaller

CLI şu çıkış kodlarını kullanır:

Çıkış Koşul
0 Bir tarama veya toplu tarama kampanyası tamamlandı ve önem derecesi politikasını karşıladı, bir yayımlama hatasız tamamlandı ya da başka bir komut başarılı oldu.
1 Tamamlanan bir tarama veya toplu tarama kampanyası, yapılandırılan önem derecesinde veya üzerinde bir bulgu bildiriyor.
2 Girdi, yürütme, sonuç bütünlüğü, zorunlu çıktı veya dışa aktarma hatası oluştu ya da yayımlamada bir veya daha fazla bulgu başarısız oldu.
130 Ctrl-C, bir taramayı veya yayımlamayı kesintiye uğrattı.
143 SIGTERM, bir taramayı veya yayımlamayı sonlandırdı.

Kapsam eksiklikleri, tamamlanan bir taramanın çıkış kodunu değiştirmez veya önem derecesi politikasını devre dışı bırakmaz. 0 çıkış kodu, her dosyanın incelendiği anlamına gelmez. Yapılandırılmış çıktı istediğinizde, tamamlanmış taramalar ve kısmen tamamlanmış yayımlamalar mevcut sonuçları yine stdout'a yazar. CLI, bir kesinti veya çalışma zamanı hatasından sonra kısmi çıktıların konumunu yazdırır.

Yerel tarama izinleri

CLI ve SDK taramaları yerel işletim sistemi izinlerinizle çalışır. Her tarama codex_security_scan dosya sistemi profilini kullanır ve approvalPolicy değerini "never" olarak ayarlar. Profil, yerel dosya sisteminin okunmasına ve çalışma alanı kökleri ile seçilen tarama durumu dizinine yazılmasına izin verir. Taramalar etkileşimli onay istemek için durmaz.

CLI --codex veya SDK codexOverrides üzerinden sağlanan ayarlar; approval_policy, sandbox_mode ve dosya sistemi izinleri dâhil olmak üzere bu tarama denetimlerinin yerini alamaz veya bunları kısıtlayamaz. Ana makine ve ağ kısıtlamaları uygulanmaya devam eder.

Tarama ve çalışma alanı süreçleri, ilgisiz API token'ları ve bulut kimlik bilgileri dahil olmak üzere ortamınızı devralabilir. Tarama başlatmadan önce ilgisiz kimlik bilgilerini kaldırın.

Kimlik doğrulama ve ön koşullar

OPENAI_API_KEY veya CODEX_API_KEY ayarlayın, npx @openai/codex-security login ile oturum açın ya da dosya destekli mevcut bir Codex oturumu kullanın. OpenRouter veya Fireworks için sağlayıcının API key değerini ayarlayın ve bir model seçin. Amazon Bedrock için bunun yerine bir Bedrock API key veya standart AWS kimlik bilgisi zincirini kullanın.

Kimlik bilgisi seçimi için Tarama kimlik doğrulamasını seçme bölümüne bakın.

CI için API key kapsamını tarama adımıyla sınırlayın ve güvenilir bir iş akışı kullanın.

CLI, Node.js 24 veya 26 ya da 22.13.0'dan itibaren Node.js 22 gerektirir. Taramalar, toplu taramalar, dışa aktarma işlemleri, tarama geçmişi ve kayıtlı bulgular ayrıca Python 3.10 veya üzerini gerektirir. Python 3.10 ayrıca tomli gerektirir. --python seçeneğini scan, bulk-scan veya export ile kullanın ya da Python kullanan herhangi bir komut için PYTHON değerini ayarlayın.

CLI hızlı başlangıç kılavuzu, toplu tarama kılavuzu, CLI SSS, CI kılavuzu veya TypeScript SDK kılavuzu ile devam edin.

Düz metin diğer adları

  • --output FILE|-