Türkçe

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 sürdürülebilir 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 sunucusu olarak kaydeder.
codex-security skills Codex Security becerilerini 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 sunucusu olarak kaydedin:

npx @openai/codex-security mcp add

Codex Security becerilerini 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 ile Amazon Bedrock'ı seçin ve --model ile açıkça bir Bedrock modeli belirtin:

npx @openai/codex-security scan . \
  --provider amazon-bedrock \
  --model openai.gpt-5.6-sol

AWS_REGION değerini ayarlayın ve AWS_BEARER_TOKEN_BEDROCK, standart AWS erişim anahtarları, bir AWS profili, web kimliği, kapsayıcı kimlik bilgileri veya varsayılan AWS kimlik bilgisi zinciri ile kimlik doğrulayın. Bedrock taramaları --auth, ChatGPT oturumu veya bir OpenAI API key yerine AWS kimlik bilgilerini kullanır. Hem scan hem de bulk-scan --provider öğesini destekler.

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 çalışma ağacı 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, tamamlanmış tarama sonuçlarını tutar ve nihai raporda birleştirir. Hiçbir çalışan kaynak incelemesini tamamlamazsa tarama kısmi kapsam kaydeder ve 2 çıkış kodunu döndürür.

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 eksik kapsamlı veya hatalı taramalardan 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 istemini 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 Düzeltilmiş 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. Hâlihazırda devam eden istekler sınırın biraz üzerinde tamamlanabilir. Bir derin tarama, Codex Security tamamlanmış çalışan sonuçlarını birleştirdikten sonra sınıra ulaşırsa CLI mevcut sonuçları mühürler, kapsamı partial olarak işaretler ve 2 çıkış kodunu döndürür. Aksi takdirde 2 döndürür ve mevcut kısmi çı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.

Workbench tarama geçmişini $CODEX_HOME/state/plugins/codex-security/workbench.sqlite3 içinde tutar. CODEX_SECURITY_STATE_DIR ayarlamak Workbench 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:

npx @openai/codex-security scan . --model gpt-5.6-terra --effort high

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-5.6-terra"'

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'sinden sürdürülebilir 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 model ve akıl yürütme düzeyi seçmek için:

npx @openai/codex-security bulk-scan --model gpt-5.6-terra --effort high

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 depolar arasında paylaşmak için --knowledge-base PATH kullanın. Paylaşılan tarama talimatları eklemek için --scan-prompt-file FILE kullanın; CSV'nin prompt sütunu, paylaşılan istemden sonra depoya özel talimatlar ekler. --post-scan-prompt-file FILE, eksik kapsamlı veya hatalı taramalar dâhil 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 olarak 4 değerini kullanır. --mode varsayılan olarak standard, --max-attempts ise 1 değerini kullanır. Depo veya tarama hatalarını yeniden denemek için --max-attempts ayarlayın. Eksik kapsamla tamamlanan taramalar yeniden denenmez. Sonuçları kullanılabilir kalır ve komut 2 çıkış kodunu döndürür.

Mevcut bir çıktı dizininden sürdürmek için aynı komutu tekrar çalıştırın. CLI, eksik kapsamlı taramalar dâhil 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ükler düzeltilmemiştir ve kaynak kodu veya kimlik bilgileri içerebilir; bu nedenle paylaşmadan önce inceleyin:

npx @openai/codex-security scans logs SCAN_ID

Tam bilgi içeren, makine biçimli bir sonuç için --json ekleyin.

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

Yeni, devam eden, yeniden açılan, çözümlenen ve bilinmeyen bulguları saptamak 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

Sonraki tarama eksik kapsama sahipse veya bulgunun özgün konumunu kapsamıyorsa bulgu bilinmeyendir. Mevcut bir eşleşmeyi yeniden hesaplamanız gerektiğinde match komutuna --force 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 bulunmamaları, düzeltildiklerinin kanıtı olarak yorumlanmaz).

İ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ı engellemez.

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 Workbench ö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 becerisiyle 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 sunucusu 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. Bunlar düzeltilmemiştir ve kaynak kodu veya kimlik bilgileri içerebilir. Paylaşmadan önce inceleyin.

Ayrıntılı tanılama

Düzeltilmiş 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

Tamamlanmış bir tarama; deponun açık bulgu sayısını, önem derecesi dağılımını, kapsamı, geçen süreyi, rapor yolunu ve sonuç dizinini stderr'e yazar. Varsa token kullanımını ve tahmini maliyeti içerir:

  REPORT    /path/to/scan/report.md

  FINDINGS  4 (3 confirmed this scan; 1 previously found; 1 critical, 2 high, 1 informational)
  COVERAGE  complete
  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, tamamlanma özetleri, arşiv bildirimleri ve hatalar stderr'de kalır. Tamamlanmış bir tarama, önem derecesi politikası 1 çıkışını veya eksik kapsam 2 çıkışını döndürdüğünde bile tam JSON sonucunu yazdırır.

Tarama yapıtları

Tamamlanmış bir tarama, okunabilir raporu ve yapılandırılmış yapıtları birlikte tutar:

<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, durumu, hedefi, kapsamı, üreticisi ve mühürlenmiş yapıt kayıtları.
findings.json Bulgu tanımlayıcıları, önem derecesi, güven, sınıflandırma, konumlar, kanıt, doğrulama, veri akışı, erişilebilirlik ve düzeltme.
coverage.json İncelenen yüzeyler, dışlamalar, ertelenen işler, açık sorular ve kapsam eksiksizliği.
report.md Okunabilir tarama raporu.
artifacts/ Destekleyici tarama yapıtları.
exports/results.sarif Mevcut olduğunda tarama sırasında oluşturulan SARIF.

Kapsam eksiksizliği üç değere sahiptir:

  • complete: Tarama, seçilen kapsamı için tam kapsam kaydeder.
  • partial: Tarama, ertelenmiş işleri veya diğer kapsam sınırlarını kaydeder.
  • unknown: Tarama, kapsam eksiksizliğini bilinmiyor olarak bildirir.

Kapsamı bir güvenlik kararına kanıt olarak kullanmadan önce ertelenmiş yüzeyleri, açık dışlamaları ve açık soruları inceleyin.

Çıkış kodları ve sinyaller

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

Çıkış Koşul
0 Bir tarama tam kapsamla tamamlanıp önem derecesi politikasını geçti, toplu tarama veya yayımlama hatasız tamamlandı ya da başka bir komut başarılı oldu.
1 Tamamlanmış bir tarama, yapılandırılan önem derecesinde veya üzerinde bir bulgu bildiriyor.
2 CLI bir girdi, çalışma zamanı veya dışa aktarma hatası buldu; bir tarama eksik kapsama sahip; toplu taramadaki depolarda hatalar var 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ı.

partial veya unknown kapsamına sahip tüm taramalar, önem derecesi politikası olmasa bile 2 döndürür. Yapılandırılmış çıktı istediğinizde tamamlanmış taramalar ve kısmi yayımlamalar yine de mevcut sonuçları stdout'a yazar. CLI, bir kesinti veya çalışma zamanı hatasından sonra kısmi çıktı varsa 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 Workbench işlemleri, ilgisiz API token'ları ve bulut kimlik bilgileri dâhil ortamınızı devralabilir. Yalnızca güvendiğiniz ve değerlendirme izniniz olan depoları tarayın; yalnızca taramanın gerektirdiği kimlik bilgilerini sağlayı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 22 (22.13.0 veya üzeri), 24 ya da 26 gerektirir. Taramalar, toplu taramalar, dışa aktarımlar, tarama geçmişi ve kaydedilmiş bulgular ayrıca Python 3.10 veya üzerini gerektirir. Python 3.10 ayrıca tomli gerektirir. scan, bulk-scan veya export ile --python kullanın ya da Python destekli herhangi bir komut için PYTHON 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|-