মূল কনটেন্টে যান
OpenAI

OpenAI-এ নিরাপদে Codex চালানো

বাস্তব ওয়ার্কফ্লোতে কোডিং এজেন্ট পরিচালনায় OpenAI যে নিয়ন্ত্রণ, সীমা ও টেলিমেট্রি ব্যবহার করে, তার একটি পর্যালোচনা.

লোডিং…

AI সিস্টেমগুলো যত বেশি সক্ষম হচ্ছে, ততই তারা ব্যবহারকারীদের হয়ে কাজ করছে. কোডিং এজেন্টগুলো স্বয়ংক্রিয়ভাবে রিপোজিটরি পর্যালোচনা করতে, কমান্ড চালাতে এবং ডেভেলপমেন্ট টুলের সঙ্গে ইন্টারঅ্যাক্ট করতে পারে. আগে এসব কাজ সরাসরি মানুষের দ্বারা সম্পন্ন করতে হতো.

Codex-এর ক্ষেত্রে, আমরা এই সক্ষমতাগুলোকে নিরাপদ ডিপ্লয়মেন্টের জন্য প্রতিষ্ঠানগুলোর প্রয়োজনীয় নিয়ন্ত্রণের সঙ্গে মিলিয়ে নকশা করেছি. সিকিউরিটি টিমের এমন উপায় দরকার যাতে তারা এজেন্ট কিভাবে কাজ করবে তা পরিচালনা করতে পারে: তারা কোথায় অ্যাক্সেস পাবে, কখন মানুষের অনুমোদন লাগবে, কোন সিস্টেমের সঙ্গে তারা ইন্টারঅ্যাক্ট করতে পারবে, এবং তাদের আচরণ ব্যাখ্যা করতে কী ধরনের টেলিমেট্রি আছে.

OpenAI-তে আমরা কয়েকটি সুস্পষ্ট লক্ষ্য নিয়ে Codex প্রয়োগ করি: এজেন্টকে সুস্পষ্ট প্রযুক্তিগত সীমার মধ্যে রাখা, ডেভেলপারদের কম-ঝুঁকিপূর্ণ কাজগুলো দ্রুত করতে দেওয়া এবং উচ্চ-ঝুঁকিপূর্ণ কাজগুলোকে সুস্পষ্ট করে তোলা. আমরা এজেন্টের নিজস্ব টেলিমেট্রিও সংরক্ষণ করি, যাতে এজেন্ট কী করেছে তা আমরা বুঝতে ও নিরীক্ষা করতে পারি. বাস্তবে, এর অর্থ হলো নিয়ন্ত্রিত কনফিগারেশন, সীমিত কার্যসম্পাদন, নেটওয়ার্ক পলিসি এবং এজেন্টের নিজস্ব লগ.

Codex কিভাবে কাজ করে তা নিয়ন্ত্রণ করা

আমরা Codex-কে একটি সহজ নীতিতে ডিপ্লয় করি: সীমাবদ্ধ পরিবেশের মধ্যে এটি যেন কার্যকর থাকে, কম-ঝুঁকির দৈনন্দিন কাজগুলো যেন বাধাহীন হয়, আর বেশি-ঝুঁকির কাজগুলো যেন পর্যালোচনার জন্য থামে.

স্যান্ডবক্সিং এবং অনুমোদন

অনুমোদন ও স্যান্ডবক্সিং একসঙ্গে কাজ করে. স্যান্ডবক্স প্রযুক্তিগত এক্সিকিউশনের সীমা নির্ধারণ করে, যার মধ্যে রয়েছে Codex কোথায় লিখতে পারবে, এটি নেটওয়ার্কে পৌঁছাতে পারবে কি না, এবং কোন কোন পথ সুরক্ষিত থাকবে. অনুমোদন নীতি নির্ধারণ করে কখন Codex-কে কোনো কাজ করতে অনুমতি চাইতে হবে, যেমন স্যান্ডবক্সের বাইরে কিছু করতে হলে. ব্যবহারকারীরা একবারের জন্য কাজটি অনুমোদন করতে পারেন অথবা ঐ সেশনের জন্য ঐ ধরনের কাজ অনুমোদন করতে পারেন.

স্যান্ডবক্সের সীমানা অতিক্রম করে এমন অনুরোধগুলোর জন্য আমরা Auto-review mode(একটি নতুন উইন্ডোতে খোলে) ব্যবহার করি. এটি এমন একটি ফিচার, যা চালু থাকলে নির্দিষ্ট ধরনের অনুরোধ স্বয়ংক্রিয়ভাবে অনুমোদন করে, ফলে ব্যবহারকারীদের কম ঘনঘন থেমে Codex-এর কাজ অনুমোদন করতে হয়. Codex পরিকল্পিত কাজ এবং সাম্প্রতিক প্রেক্ষাপট স্বয়ংক্রিয়-অনুমোদন সাবএজেন্টের কাছে পাঠায়, যা ব্যবহারকারীকে বাধা না দিয়ে কম-ঝুঁকির কাজগুলো—অথবা ব্যবহারকারীর অনুমোদনের পর্যাপ্ত স্তর থাকলে উচ্চ-ঝুঁকির কাজগুলো—স্বয়ংক্রিয়ভাবে অনুমোদন করতে পারে. এতে Codex নিয়মিত কাজ এগিয়ে নিতে পারে, আবার বেশি-ঝুঁকির বা অনিচ্ছাকৃত পরিণতি হতে পারে এমন কাজগুলো পর্যালোচনার জন্য থামানো হয়.

TOML

1
# config.toml
2

3
# Turn on auto_review
4
approvals_reviewer = "auto_review"
5
# Add known development directories to the sandbox automatically
6
sandbox_workspace_write.writable_roots = ["~/development"]
7

8
# requirements.toml
9

10
# Require Codex to operate inside the sandbox
11
allowed_sandbox_modes = ["read-only", "workspace-write"]

নেটওয়ার্ক অ্যাক্সেস

আমরা Codex-কে উন্মুক্ত বহির্গামী অ্যাক্সেস দিয়ে চালাই না. আমাদের ম্যানেজড নেটওয়ার্ক নীতি প্রত্যাশিত গন্তব্যগুলো অনুমোদন করে, যেসব গন্তব্যে Codex-এর পৌঁছানো আমরা চাই না সেগুলো ব্লক করে এবং অপরিচিত ডোমেইনের জন্য অনুমোদন চায়. এতে Codex-কে বিস্তৃত নেটওয়ার্ক অ্যাক্সেস না দিয়েও সাধারণ, পরিচিত ও নিরাপদ ওয়ার্কফ্লো সম্পন্ন করতে দেওয়া যায়.

TOML

1
# requirements.toml
2

3
# Ensure web fetch only comes from OpenAI's cache
4
allowed_web_search_modes = ["cached"]
5

6
[experimental_network]
7
# Turn on Network Proxy
8
enabled = true
9
# Allow Codex to interact with localhost
10
allow_local_binding = true
11
# Block all requests to this domain
12
denied_domains = ["pastebin.com"]
13
# Auto-allow requests to these domains
14
allowed_domains = ["login.microsoftonline.com", "*.openai.com"]

পরিচয় এবং ক্রেডেনশিয়াল

Codex কিভাবে প্রমাণীকরণ করে, তাও আমরা নিয়ন্ত্রণ করি. CLI এবং MCP OAuth ক্রেডেনশিয়ালগুলো সুরক্ষিত OS কী-রিং-এ সংরক্ষিত থাকে, ChatGPT‑এর মাধ্যমে লগইন বাধ্যতামূলক করা হয় এবং আমাদের ChatGPT এন্টারপ্রাইজ ওয়ার্কস্পেসে অ্যাক্সেস নির্দিষ্ট করে রাখা হয়. এর ফলে Codex-এর ব্যবহার আমাদের ওয়ার্কস্পেস-স্তরের নিয়ন্ত্রণের সাথে সংযুক্ত থাকে এবং আমাদের এন্টারপ্রাইজ ওয়ার্কস্পেসের জন্য ChatGPT কমপ্লায়েন্স লগস প্ল্যাটফর্মে Codex-এর কার্যকলাপ উপলব্ধ হয়.

TOML

1
# config.toml
2

3
# Store CLI Auth Creds in OS Keychain
4
cli_auth_credentials_store = "keyring"
5
# Store MCP Creds in OS Keychain
6
mcp_oauth_credentials_store = "keyring"
7
# Require Auth via ChatGPT
8
forced_login_method = "chatgpt"
9
# Require Auth to Specific ChatGPT Workspace
10
forced_chatgpt_workspace_id = "<workspace-uuid>"

নিয়ম

আমরা কিছু নিয়ম ব্যবহার করি, যাতে Codex প্রতিটি শেল কমান্ডকে সমানভাবে নিরাপদ বলে মনে না করে. প্রকৌশলীরা দৈনন্দিন উন্নয়নে যে সাধারণ নিরীহ কমান্ডগুলো ব্যবহার করেন, সেগুলো স্যান্ডবক্সের বাইরে অনুমোদন ছাড়াই চালানোর অনুমতি দেওয়া হয় এবং নির্দিষ্ট বিপজ্জনক কমান্ড ব্লক করা বা অনুমোদনের প্রয়োজন হতে পারে. এর ফলে Codex সাধারণ প্রকৌশলগত কাজগুলো দ্রুত সম্পন্ন করতে পারে, এবং একই সাথে এমন প্যাটার্নগুলো পর্যালোচনা করতে বাধ্য করে বা ব্লক করে যা আমরা স্যান্ডবক্সের বাইরে চালাতে চাই না.

Starlark

1
# default.rules
2

3
prefix_rule(
4
pattern = ["gh", "pr", ["view", "list"]],
5
decision = "allow",
6
justification = "Allows read-only GitHub PR inspection via gh CLI.",
7
)
8
prefix_rule(
9
pattern = ["kubectl", ["get", "describe", "logs"]],
10
decision = "allow",
11
justification = "Allows Kubernetes resource inspection for debugging.",
12
)

পরিচালিত কনফিগারেশন

আমরা ক্লাউড-পরিচালিত রিকোয়ারমেন্টস, macOS-পরিচালিত প্রেফারেন্সেস এবং লোকাল রিকোয়ারমেন্টস ফাইলের সমন্বয়ে এই পদ্ধতিটি প্রয়োগ করি. রিকোয়ারমেন্টস হলো অ্যাডমিন-প্রবর্তিত নিয়ন্ত্রণ, যা ব্যবহারকারীরা অগ্রাহ্য করতে পারে না. macOS-পরিচালিত প্রেফারেন্সেস এবং লোকাল রিকোয়ারমেন্টস ফাইলগুলো আমাদের একটি সামঞ্জস্যপূর্ণ বেসলাইন বজায় রাখতে সাহায্য করে এবং একই সাথে টিম, ইউজার গ্রুপ বা এনভায়রনমেন্ট অনুযায়ী বিভিন্ন কনফিগারেশন পরীক্ষা করার সুযোগ দেয়. এই কনফিগারেশনগুলো ডেস্কটপ অ্যাপ, CLI এবং IDE এক্সটেনশন সহ লোকাল Codex সারফেস জুড়ে প্রযোজ্য.

এজেন্ট-নেটিভ টেলিমেট্রি এবং অডিট ট্রেইল

নিয়ন্ত্রণ করাটা কাজের অর্ধেক মাত্র. এজেন্টগুলো একবার স্থাপন করা হয়ে গেলে, নিরাপত্তা দলগুলোর এই এজেন্টগুলো কী করছে এবং কেন করছে, সে সম্পর্কে স্বচ্ছ ধারণা থাকা প্রয়োজন. Codex-এর নেওয়া পদক্ষেপগুলো দেখার জন্য প্রচলিত নিরাপত্তা লগগুলো এখনও কার্যকর, কিন্তু সেগুলো মূলত কী ঘটেছে তার উত্তর দেয়: যেমন একটি প্রসেস চালু হয়েছে, একটি ফাইল পরিবর্তিত হয়েছে বা একটি নেটওয়ার্ক সংযোগের চেষ্টা করা হয়েছে. Codex কেন কিছু একটা করল বা ব্যবহারকারীর উদ্দেশ্য কী ছিল, তা ডিফেন্ডারদের তখনও খুঁজে বের করতে হয়.

Codex নিরাপত্তা দলগুলোকে এজেন্ট-সচেতন একটি চিত্র প্রদান করতে পারে. Codex বিভিন্ন ইভেন্টের জন্য OpenTelemetry লগ এক্সপোর্ট সমর্থন করে, যেমন—ইউজার প্রম্পট, টুল অনুমোদনের সিদ্ধান্ত, টুল এক্সিকিউশনের ফলাফল, MCP সার্ভার ব্যবহার এবং নেটওয়ার্ক প্রক্সি অনুমোদন বা প্রত্যাখ্যান ইভেন্ট. Enterprise এবং Edu গ্রাহকদের জন্য OpenAI কমপ্লায়েন্স প্ল্যাটফর্মের মাধ্যমেও Codex অ্যাক্টিভিটি লগগুলো পাওয়া যায়.

TOML

1
# config.toml
2

3
[otel]
4
log_user_prompt = true
5
environment = "prod"
6

7
[otel.exporter.otlp-http]
8
endpoint = "http://localhost:14318/v1/logs"
9
protocol = "binary"

OpenAI-তে আমরা আমাদের AI-চালিত সিকিউরিটি ট্রায়েজ এজেন্টের পাশাপাশি Codex লগ ব্যবহার করি. যখন কোনো এন্ডপয়েন্ট অ্যালার্টে বলা হয় যে Codex অস্বাভাবিক কিছু করেছে, তখন এন্ডপয়েন্ট সিকিউরিটি টুলটি আমাদের জানায় যে একটি সন্দেহজনক ঘটনা ঘটেছে. এরপর Codex লগ ব্যবহারকারী এবং এজেন্টের পারিপার্শ্বিক উদ্দেশ্য ব্যাখ্যা করতে সাহায্য করে. আমাদের AI সিকিউরিটি ট্রায়েজ এজেন্ট মূল অনুরোধ, টুলের কার্যকলাপ, অনুমোদনের সিদ্ধান্ত, টুলের ফলাফল এবং যেকোনো প্রাসঙ্গিক নেটওয়ার্ক পলিসি সিদ্ধান্ত বা ব্লক পরীক্ষা করার জন্য Codex লগ ব্যবহার করে. AI সিকিউরিটি ট্রায়েজ এজেন্ট তার বিশ্লেষণ আমাদের সিকিউরিটি টিমের কাছে পর্যালোচনার জন্য উপস্থাপন করে, যাতে এজেন্টের প্রত্যাশিত আচরণ, নিরীহ ভুল এবং সত্যিই ঊর্ধ্বতন কর্তৃপক্ষের কাছে বিষয়টি জানানোর মতো কার্যকলাপের মধ্যে পার্থক্য করা যায়.

আমরা কার্যপরিচালনার কাজেও একই টেলিমেট্রি ব্যবহার করি. অভ্যন্তরীণভাবে এর ব্যবহার কিভাবে পরিবর্তিত হচ্ছে, কোন টুল এবং MCP সার্ভার ব্যবহৃত হচ্ছে, নেটওয়ার্ক স্যান্ডবক্স কত ঘন ঘন ব্লক বা প্রম্পট করছে এবং রোলআউটে কোথায় এখনও সমন্বয়ের প্রয়োজন রয়েছে, তা বোঝার জন্য আমরা এই লগগুলো ব্যবহার করি. এই OpenTelemetry লগগুলো SIEM এবং কমপ্লায়েন্স লগিং সিস্টেমে কেন্দ্রীভূত করা যেতে পারে.

ভবিষ্যতের কথা বিবেচনা করে

Codex-এর মতো কোডিং এজেন্টগুলো ডেভেলপমেন্ট ওয়ার্কফ্লোতে একীভূত হতে থাকায়, এই পরিবর্তন পরিচালনার জন্য সিকিউরিটি টিমের বিশেষভাবে নকশা করা টুল দরকার. নিরাপদ গ্রহণ নিশ্চিত করার জন্য প্রয়োজনীয় কন্ট্রোল সারফেস, কনফিগারেশন ম্যানেজমেন্ট, স্যান্ডবক্সিং এবং বিস্তারিত এজেন্ট-সচেতন টেলিমেট্রি Codex প্রদান করে. এই সক্ষমতাগুলো থাকলে, সিকিউরিটি টিম এন্টারপ্রাইজ সিকিউরিটির জন্য প্রয়োজনীয় দৃশ্যমানতা ও নিয়ন্ত্রণের সঙ্গে ডেভেলপার উৎপাদনশীলতার ভারসাম্য বজায় রেখে আরও আত্মবিশ্বাসের সঙ্গে Codex সক্ষম করতে পারে. Codex কনফিগার করার বিষয়ে আরও তথ্য এখানে(একটি নতুন উইন্ডোতে খোলে), এবং Compliance API সম্পর্কে এখানে(একটি নতুন উইন্ডোতে খোলে) পাওয়া যাবে.

লেখক

OpenAI