0Pricing
AI Agents · Ders

Gizli Bilgileri Yenileme ve Güvenlik

Gizli bilgilerin süresinin dolması, yenileme stratejileri ve kasa çözümleri (AWS Secrets Manager).

Gizli Bilgileri Yenileme ve Güvenlik, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Gizli Bilgiler Neden Yenilenmeli?

Bir gizli bilgi hiçbir zaman açıkça ifşa edilmese bile düzenli olarak yenilenmesi, fark edilmemiş bir ihlalin verebileceği zararı sınırlar. 6 ay önce sessizce çalınmış bir anahtar, yenilemeden sonra kullanılamaz hâle gelir.

Birçok güvenlik standardı (SOC 2, PCI-DSS) gizli bilgilerin belirli aralıklarla yenilenmesini gerektirir. Yenilemeye uygun ajan kodu oluşturmak profesyonel bir uygulamadır.

API Anahtarı Sona Erme Politikaları

Farklı sağlayıcıların farklı sona erme politikaları vardır. Bazıları anahtarlar için sona erme tarihleri belirlemenize izin verir; diğerleri, el ile yenilenmedikçe hiç sona ermeyen anahtarlar verir. Anahtarlarınızı düzenli olarak denetleyin ve el ile yenileme için takvim hatırlatıcıları ayarlayın.

# Key rotation schedule by provider (as of mid-2025):
# OpenAI: no automatic expiry, rotate manually every 90 days
# Anthropic: no automatic expiry, rotate manually every 90 days
# Google Cloud: API keys can have expiry dates set in the console
# AWS: IAM access keys: rotate every 90 days (AWS Security Hub recommends)
# Tavily: no automatic expiry, rotate when suspected compromise

# Best practices:
# - Set a recurring calendar event: 'Rotate API keys'
# - Document when each key was last rotated
# - Store rotation date in a secrets manager, not a spreadsheet
print('Schedule key rotation every 60-90 days as a standing task')

Ajanlar için AWS Secrets Manager

AWS Secrets Manager, gizli bilgileri güvenli biçimde saklar ve otomatik yenilemeyi destekler. Ajanınız güncel gizli değeri çalışma zamanında SDK aracılığıyla alır; sabit kodlanmış anahtarlar ve üretimde .env dosyaları kullanmanız gerekmez.

# pip install boto3
import boto3
import json

def get_secret(secret_name: str, region: str = 'us-east-1') -> dict:
    client = boto3.client('secretsmanager', region_name=region)
    response = client.get_secret_value(SecretId=secret_name)
    return json.loads(response['SecretString'])

# Store secrets as JSON in Secrets Manager:
# Secret name: 'prod/myagent/api-keys'
# Secret value: {'OPENAI_API_KEY': 'sk-...', 'SEARCH_API_KEY': 'tvly-...'}

# Fetch at agent startup:
# secrets = get_secret('prod/myagent/api-keys')
# openai_key = secrets['OPENAI_API_KEY']

Gizli Bilgiler için HashiCorp Vault

HashiCorp Vault, kurumsal ortamlarda yaygın olarak kullanılan açık kaynaklı bir gizli bilgi yönetim sistemidir. Dinamik gizli bilgileri, ayrıntılı erişim denetimini ve her gizli bilgi erişiminin denetim günlüğüne kaydedilmesini destekler.

# pip install hvac
import hvac
import os

def get_vault_secret(path: str, key: str) -> str:
    client = hvac.Client(
        url=os.environ['VAULT_ADDR'],
        token=os.environ['VAULT_TOKEN']  # from env, not hard-coded
    )

    if not client.is_authenticated():
        raise RuntimeError('Vault authentication failed')

    response = client.secrets.kv.read_secret_version(path=path)
    return response['data']['data'][key]

# Usage:
# openai_key = get_vault_secret('secret/myagent', 'OPENAI_API_KEY')

# Vault provides:
# - Audit log of every secret read
# - Lease-based secrets that expire automatically
# - Fine-grained ACL policies

Gizli Bilgi Taraması: truffleHog

truffleHog, yanlışlıkla kaydedilmiş olabilecek gizli bilgileri bulmak için git depolarını tarar. Yalnızca mevcut kodu değil, tüm kayıt geçmişini inceler. Bir repository'yi herkese açık hâle getirmeden önce çalıştırın.

# pip install trufflehog
# Or: brew install trufflehog (Mac)

# Scan current git repository:
# trufflehog git file://.

# Scan only recent commits:
# trufflehog git file://. --since-commit HEAD~50

# Scan a GitHub repository:
# trufflehog github --repo https://github.com/yourorg/yourrepo

# truffleHog detects:
# - OpenAI API keys (sk-proj-...)
# - Anthropic keys (sk-ant-...)
# - AWS access keys (AKIA...)
# - Private keys (BEGIN RSA PRIVATE KEY)
# - And 700+ other secret patterns

print('Run truffleHog before open-sourcing any private repository')

git-secrets: Ön Kayıt Koruması

git-secrets, yapılandırılmış örüntülerle eşleşen gizli bilgiler içeren kayıtları engelleyen, AWS kaynaklı bir git kancası aracıdır. Her kayıttan önce çalışır ve bir gizli bilgi örüntüsü bulunursa kaydı reddeder.

# Install:
# brew install git-secrets  (Mac)
# or: git clone https://github.com/awslabs/git-secrets && make install

# Set up in your repo:
# git secrets --install
# git secrets --register-aws  (adds AWS key patterns)

# Add custom patterns (e.g., OpenAI keys):
# git secrets --add 'sk-proj-[A-Za-z0-9_-]{48,}'

# Now attempting to commit a secret:
# git add agent.py  # file containing API key
# git commit -m 'add agent'
# [ERROR] Untracked secret found in agent.py
# Commit blocked!

print('git-secrets prevents secrets from ever entering git history')

Bir Anahtar Açığa Çıkarsa Ne Yapmalısınız

Güvenliği ihlal edilmiş bir API anahtarına verilecek yanıt için adım adım bir plan. Hız kritik önem taşır — otomatik tarayıcılar, bir kayıt gönderildikten sonra açığa çıkan anahtarları dakikalar içinde ele geçirir.

# INCIDENT RESPONSE: Exposed API Key
#
# Step 1 (IMMEDIATE): Revoke the exposed key
#   OpenAI: platform.openai.com/api-keys -> Delete key
#   Anthropic: console.anthropic.com -> API Keys -> Delete
#   AWS: IAM console -> Access Keys -> Deactivate/Delete
#
# Step 2: Generate a new key
#   Create a replacement key with the same permissions
#
# Step 3: Update everywhere
#   - Local .env
#   - Staging environment
#   - Production environment (Secrets Manager / Vault)
#   - CI/CD secrets (GitHub Actions, GitLab CI)
#
# Step 4: Audit usage
#   - Check provider usage logs for unauthorized activity
#   - Check billing for unexpected charges
#
# Step 5: Prevent recurrence
#   - Add pattern to git-secrets
#   - Enable pre-commit hooks
print('Revoke first. Then rotate. Then audit. Then prevent.')

Yetkisiz Kullanımı Belirleme

Bir anahtarı yeniledikten sonra yetkisiz kullanılıp kullanılmadığını kontrol edin. Çoğu sağlayıcı, çalınmış bir anahtarın API çağrıları yapmak için kullanılıp kullanılmadığını ortaya çıkarabilecek kullanım günlükleri ve harcama uyarıları sunar.

import openai
import datetime

client = openai.OpenAI(api_key='YOUR_NEW_API_KEY')

# Check OpenAI usage for the past day
# (requires usage read permissions on the key)
def check_recent_usage():
    # OpenAI billing/usage dashboard: platform.openai.com/usage
    # Set up spending alerts: platform.openai.com/account/limits
    # - 'Email alert' when monthly spend exceeds $X

    print('Suspicious usage indicators to look for:')
    print('1. Spikes in token usage outside business hours')
    print('2. Requests from unexpected IP addresses')
    print('3. Models or endpoints you do not use')
    print('4. Unusual cost patterns')
    print('\nAlways set spending limits and alerts on new API keys')

check_recent_usage()

API Anahtarlarında Harcama Sınırları Belirleme

Güvenliği ihlal edilmiş bir anahtarın verebileceği zararı sınırlamak için API anahtarlarınıza kesin harcama sınırları koyun. Birisi anahtarınızı kullansa bile sınırsız bir fatura oluşturamaz.

# OpenAI spending limits:
# platform.openai.com/account/limits
# - Set 'Monthly budget' (hard limit — API stops when reached)
# - Set 'Email notification threshold' (soft alert)

# Best practice for agent keys:
# - Development key: $5-10/month hard limit
# - Staging key: $20-50/month hard limit
# - Production key: Based on expected usage + 2x buffer
# - CI/CD test key: $5/month hard limit (mocks should handle most tests)

# Anthropic:
# console.anthropic.com -> Settings -> Spending Limits

# Use separate keys per environment so limits are independent
print('Spending limits cap the blast radius of a compromised key')

Anahtarlar İçin En Az Ayrıcalık İlkesi

Her API anahtarına yalnızca ihtiyaç duyduğu izinleri verin. Yalnızca veri okuyan bir anahtarın yazma veya silme izinleri olmamalıdır. Çoğu sağlayıcı, kapsamı veya izinleri sınırlandırılmış anahtarları destekler.

# Principle of Least Privilege applied to agent API keys:

# OpenAI key scopes (if API allows scoped keys):
# - Read-only key: for logging/audit agents
# - Write key: for agents that create content
# - Admin key: NEVER use in agent code — only for management

# Tavily API:
# - Basic plan: limited search results
# - Research plan: more results, images
# Use the plan appropriate to the agent's needs

# AWS IAM for agents:
# Create a dedicated IAM role/user per agent with only the S3/DynamoDB
# paths it needs to read/write. No admin permissions.

# Rule: If the key is compromised, how much damage can be done?
# Minimize the answer through scoped permissions.
print('Least privilege limits blast radius of any single key compromise')

Anahtar Sağlık Denetimi Oluşturma

API anahtarlarınızın ajan başlatılırken hâlâ geçerli olduğunu doğrulayın. Süresi dolmuş veya iptal edilmiş anahtarları, ajan kaynakları zaten tükettikten sonra görevin ortasında başarısız olmak yerine hemen yakalayın.

import openai

def check_openai_key_health(api_key: str) -> bool:
    try:
        client = openai.OpenAI(api_key=api_key)
        # Make a minimal API call to verify the key
        models = client.models.list()
        print(f'OpenAI key valid. {len(list(models))} models available.')
        return True
    except openai.AuthenticationError:
        print('ERROR: OpenAI API key is invalid or expired.')
        return False
    except openai.PermissionDeniedError:
        print('ERROR: API key lacks required permissions.')
        return False

# At agent startup:
# import os
# if not check_openai_key_health(os.environ['OPENAI_API_KEY']):
#     raise SystemExit('Cannot start: invalid API key')

Bilgi Kontrolü: Gizli Bilgilerin Yenilenmesi ve Güvenlik

Gizli bilgilerin yenilenmesi ve güvenlik uygulamalarına ilişkin anlayışınızı sınayın.

Özet: Gizli Bilgilerin Yenilenmesi ve Güvenlik

Artık üretim ajanları için eksiksiz bir gizli bilgi güvenliği stratejiniz var:

  • Kalıcı bir uygulama olarak API anahtarlarını her 60-90 günde bir yenileyin
  • Üretim ortamlarında AWS Secrets Manager veya HashiCorp Vault kullanın
  • Herhangi bir depoyu açık kaynak hâline getirmeden önce truffleHog çalıştırın
  • Yanlışlıkla kayıt gönderilmesini önlemek için ön-kayıt kancası olarak git-secrets yükleyin
  • Bir anahtar açığa çıkarsa: hemen iptal edin, ardından yenileyin ve son olarak kullanımı denetleyin
  • Güvenlik ihlalinin vereceği zararı sınırlamak için tüm API anahtarlarında harcama sınırları belirleyin
  • En az ayrıcalık ilkesini uygulayın — her anahtara yalnızca ihtiyaç duyduğu izinleri verin

Sıkça Sorulan Sorular

“Gizli Bilgileri Yenileme ve Güvenlik” dersi ücretsiz mi?

Evet — “Gizli Bilgileri Yenileme ve Güvenlik” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Gizli Bilgileri Yenileme ve Güvenlik” dersinde ne öğreneceğim?

Gizli bilgilerin süresinin dolması, yenileme stratejileri ve kasa çözümleri (AWS Secrets Manager). AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Gizli Bilgileri Yenileme ve Güvenlik” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aracılar İçin Ortam Değişkenleri
  2. .env Dosyaları ve python-dotenv
  3. Gizli Bilgileri Yenileme ve Güvenlik
  4. Geliştirme ve Üretim İçin Yapılandırma Profilleri
← AI Agents Sayfasına Dön