Topics: security • devsecops • malware-detection • python • npm • pypi • behavioral-analysis • supply-chain-security • dependency-analysis • ast-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.
- 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
- 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)
# Repository'i clone'layın
cd semantic-analyzer
# Bağımlılıkları yükleyin
pip install -r requirements.txtpython main.py analyze requests --ecosystem pypipython main.py compare requests 2.28.0 2.31.0 --ecosystem pypipython main.py deep-scan flask --max-depth 5python main.py evasion-check ./suspicious-packagepython main.py analyze django --ai --api-key YOUR_OPENAI_KEY═══════════════════════════════════════════════
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
eval(),exec()- Dinamik kod çalıştırmaos.system(),subprocess- Komut çalıştırma- Polimorfik kod - Kendini değiştiren kod
- Time bombs - Zamana bağlı tetikleyiciler
- Network erişimi + Dosya işlemleri (veri sızdırma)
- Obfuscation + eval/exec kombinasyonu
- Hassas dosya okuma (/etc/passwd) + network
- Anti-debugging teknikleri
- Şifreleme işlemleri
- Hardcoded secrets
- Pre-release versiyonlar
- Binary dosyalar
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)- 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
Sistem, saldırganların kullandığı evasion tekniklerine karşı özel olarak geliştirilmiştir:
# Tespit edilir:
''.join([chr(65), chr(66)]) # String building
bytes.fromhex('414243') # Hex encoding# Tespit edilir:
if datetime.now() > datetime(2024, 12, 31):
malicious_code()# Tespit edilir:
if sys.gettrace():
exit() # Debugger varsa çık# Tespit edilir:
if 'vmware' in platform.platform().lower():
# VM'de çalışmıyor gibi davran# PyPI test
python test_parser.py requests --tree
# NPM test
python test_parser.py express --ecosystem npm --analyzefrom 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())- Cache Sistemi: İndirilen paketler cache'lenir (24 saat TTL)
- Paralel Analiz: Hazır (gelecek versiyon)
- Incremental Scanning: Sadece değişen dosyalar analiz edilir
- 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)
- 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
- Fork'layın
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit'leyin (
git commit -m 'Add amazing feature') - Push'layın (
git push origin feature/amazing-feature) - Pull Request açın
MIT License - Detaylar için LICENSE dosyasına bakın
- DevSecOps Team
- Inspired by supply chain attack research
- Built with ❤️ for the open-source community
- Telegram: @p0is0n3r404
⚡ Developer p0is0n3r404

