Skip to content

c0d3s3cl4b/semantic-analyzer

Repository files navigation

🔍 Semantic Dependency Analyzer

Semantic Dependency Analyzer Banner

Python License Status Platform

Topics: securitydevsecopsmalware-detectionpythonnpmpypibehavioral-analysissupply-chain-securitydependency-analysisast-analysis

Davranışsal Analiz ile Kötü Amaçlı Paket Tespiti

Modern bir DevSecOps aracı - PyPI ve NPM paketlerindeki kötü amaçlı kodları imza tabanlı tarama yerine davranışsal analiz ile tespit eder.

🎯 Özellikler

🧬 Core Modüller

  • Dependency Parser: PyPI ve NPM paketlerini indirir, bağımlılık ağacı oluşturur
  • AST Analyzer: Kodun içindeki tehlikeli fonksiyonları (eval, exec, os.system) tespit eder
  • Diff Engine: İki versiyon arasındaki değişiklikleri fonksiyonel bloklar halinde analiz eder
  • Behavioral Scorer: Davranışsal pattern'lere göre risk skoru hesaplar

🛡️ İleri Seviye Güvenlik

  • Evasion Detector: Polimorfik kodlama, time bombs, anti-debugging tekniklerini tespit eder
  • False Positive Filter: README/dokümantasyon ile tutarlılık kontrolü yapar
  • Transitive Scanner: Tüm alt bağımlılıkları rekürsif olarak tarar
  • AI Integration: LLM ile davranışsal analiz (opsiyonel)

📦 Kurulum

# Repository'i clone'layın
cd semantic-analyzer

# Bağımlılıkları yükleyin
pip install -r requirements.txt

🚀 Kullanım

1. Basit Paket Analizi

python main.py analyze requests --ecosystem pypi

2. Versiyon Karşılaştırma

python main.py compare requests 2.28.0 2.31.0 --ecosystem pypi

3. Derin Bağımlılık Taraması

python main.py deep-scan flask --max-depth 5

4. Evasion Tekniği Tespiti

python main.py evasion-check ./suspicious-package

5. AI Destekli Analiz

python main.py analyze django --ai --api-key YOUR_OPENAI_KEY

� Örnek CLI Çıktısı

CLI Example

�📊 Örnek Çıktı (Text)

═══════════════════════════════════════════════
AST ANALYSIS: requests 2.31.0
═══════════════════════════════════════════════

✓ Downloaded and extracted: requests 2.31.0
🔍 Dangerous calls: 3
⚠  Security issues: 1

═══════════════════════════════════════════════
BEHAVIORAL SCORING
═══════════════════════════════════════════════

Total Risk Score: 25/100
Risk Level: LOW

╔════════════════════════════════════════════════════════════╗
║  Risk Level: LOW                                           ║
║  Risk Score: 25/100                                        ║
║  Malicious: NO                                             ║
╚════════════════════════════════════════════════════════════╝

⚡ LOW RISK - Minor concerns detected

🔬 Tespit Edilen Tehlikeler

Kritik Seviye

  • eval(), exec() - Dinamik kod çalıştırma
  • os.system(), subprocess - Komut çalıştırma
  • Polimorfik kod - Kendini değiştiren kod
  • Time bombs - Zamana bağlı tetikleyiciler

Yüksek Risk

  • Network erişimi + Dosya işlemleri (veri sızdırma)
  • Obfuscation + eval/exec kombinasyonu
  • Hassas dosya okuma (/etc/passwd) + network
  • Anti-debugging teknikleri

Orta Risk

  • Şifreleme işlemleri
  • Hardcoded secrets
  • Pre-release versiyonlar
  • Binary dosyalar

🧠 AI Entegrasyonu

Sistem, isteğe bağlı olarak LLM (OpenAI, Anthropic Claude) ile entegre çalışabilir:

from src.analyzers.ai_integration import setup_openai_client

# OpenAI setup
client = setup_openai_client("your-api-key")

# Analyzer'a ekle
analyzer = SemanticAnalyzer(use_ai=True, llm_client=client)

AI Prompt Şablonları

  • Code Analysis: Kod snippet'lerini analiz eder
  • Diff Analysis: Versiyon farklarını yorumlar
  • Obfuscation Analysis: Gizlenmiş kodu açığa çıkarır
  • Behavioral Pattern: Kombinasyon saldırılarını tespit eder

🎯 Anti-Evasion Teknikleri

Sistem, saldırganların kullandığı evasion tekniklerine karşı özel olarak geliştirilmiştir:

1. Polimorfik Kodlama

# Tespit edilir:
''.join([chr(65), chr(66)])  # String building
bytes.fromhex('414243')      # Hex encoding

2. Time Bombs

# Tespit edilir:
if datetime.now() > datetime(2024, 12, 31):
    malicious_code()

3. Anti-Debugging

# Tespit edilir:
if sys.gettrace():
    exit()  # Debugger varsa çık

4. Environment Fingerprinting

# Tespit edilir:
if 'vmware' in platform.platform().lower():
    # VM'de çalışmıyor gibi davran

🔧 Geliştirme

Test Paketleri

# PyPI test
python test_parser.py requests --tree

# NPM test
python test_parser.py express --ecosystem npm --analyze

Yeni Analiz Modülü Ekleme

from src.analyzers.ast_analyzer import ASTAnalyzer

# Yeni detector sınıfı
class MyDetector:
    def analyze(self, code):
        # Analiz logic'i
        pass

# Main analyzer'a ekle
analyzer.add_detector(MyDetector())

📈 Performans

  • Cache Sistemi: İndirilen paketler cache'lenir (24 saat TTL)
  • Paralel Analiz: Hazır (gelecek versiyon)
  • Incremental Scanning: Sadece değişen dosyalar analiz edilir

⚠️ Limitasyonlar

  • Runtime Analizi Yok: Sandbox validation şu an placeholder (Docker + eBPF gelecekte)
  • AI Opsiyonel: LLM olmadan da çalışır, ancak AI daha iyi sonuçlar verir
  • Max Depth: Bağımlılık derinliği varsayılan 3-5 (performans için)

🛠️ Gelecek Özellikler

  • Docker + eBPF ile runtime sandbox analizi
  • Grafik arayüz (Web dashboard)
  • CI/CD entegrasyonu (GitHub Actions, GitLab CI)
  • Bilinen kötü amaçlı paket veritabanı
  • SBOM (Software Bill of Materials) export

🤝 Katkıda Bulunma

  1. Fork'layın
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit'leyin (git commit -m 'Add amazing feature')
  4. Push'layın (git push origin feature/amazing-feature)
  5. Pull Request açın

📄 Lisans

MIT License - Detaylar için LICENSE dosyasına bakın

🙏 Credits

  • DevSecOps Team
  • Inspired by supply chain attack research
  • Built with ❤️ for the open-source community

📞 İletişim

  • Telegram: @p0is0n3r404

⚡ Developer p0is0n3r404

About

Behavioral malware detection for open-source packages (PyPI/NPM). Detects evasion techniques, backdoors, and supply chain attacks using AST analysis.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages