dep-oracle 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ 🌍 **English** | [Turkce](README.tr.md)
2
+
1
3
  # dep-oracle 🔮
2
4
 
3
5
  > Your dependencies have dependencies. Who's watching them?
package/README.tr.md ADDED
@@ -0,0 +1,255 @@
1
+ # dep-oracle
2
+
3
+ > Bagimliklarinin bagimliliklari var. Kim kontrol ediyor?
4
+
5
+ **dep-oracle**, bagimlilik agacindaki her paket icin **Guven Skoru** (0-100) hesaplayan prediktif bir bagimlilik guvenlik motorudur. Zombi bagimliliklari tespit eder, patlama yaricapini olcer, typosquatting girisimlerini yakalar ve gelecekteki riskleri -- daha guvenlik acigina donusmeden -- onceden tahmin eder.
6
+
7
+ [![npm version](https://img.shields.io/npm/v/dep-oracle.svg)](https://www.npmjs.com/package/dep-oracle)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+
10
+ ## Neden dep-oracle?
11
+
12
+ Tedarik zinciri saldirilari (supply chain attacks) her yil daha buyuk bir tehdit haline geliyor. Rakamlar net:
13
+
14
+ - **2025'teki guvenlik ihlallerinin %62'si** tedarik zinciri saldirilari kaynakli
15
+ - Ortalama bir projede **683 gecisli (transitive) bagimlilik** bulunuyor
16
+ - `npm audit` yalnizca **bilinen** CVE'leri yakalayabiliyor -- dep-oracle gelecekteki riskleri **tahmin ediyor**
17
+ - Kendi kodunuzu denetliyorsunuz. Peki bagimlilik zincirinizi de denetliyor musunuz?
18
+
19
+ Turkiye'deki yazilim ekosistemi hizla buyuyor. Startuplardan kurumsallara, e-ticaret projelerinden fintech uygulamalarina kadar her yerde npm, pip ve yarn paketleri kullaniliyor. Ancak `node_modules` klasorunun icinde ne oldugunu kac kisi gercekten biliyor? Bir paket maintainer'i hesabini birakirsa, bir bagimlilik yillardir guncellenmiyorsa ya da ismini populer bir paketten degistirip kotu amacli kod enjekte eden biri varsa -- dep-oracle tam da bu noktalarda devreye giriyor.
20
+
21
+ **Claude Code Security** sizin kodunuzu tarar. **dep-oracle** ise kodunuzun **bagimli oldugu her seyi** tarar.
22
+
23
+ ## Hizli Baslangic
24
+
25
+ ```bash
26
+ # Kurulum gerektirmez -- dogrudan calistirin
27
+ npx dep-oracle
28
+
29
+ # Ya da global olarak yukleyin
30
+ npm install -g dep-oracle
31
+ dep-oracle scan
32
+ ```
33
+
34
+ Tek bir komutla projenizin tam bagimlilik guven raporunu alin. Kurulum, konfigürasyon, hesap acma derdi yok.
35
+
36
+ ## Ozellikler
37
+
38
+ | Ozellik | Aciklama |
39
+ |---------|----------|
40
+ | **Guven Skoru** | Her paket icin 0-100 arasi agirlikli skor (maintainer sagligi, guvenlik, aktivite, popularite, fonlama, lisans) |
41
+ | **Zombi Tespiti** | Kritik ama bakimsiz paketleri bulur (12+ aydir commit yok) |
42
+ | **Patlama Yaricapi** | Bir bagimlilik ele gecirilirse kac dosyanin etkilenecegini gosterir |
43
+ | **Typosquat Tespiti** | Populer paketlere benzer suphelı paket adlarini yakalar |
44
+ | **Trend Tahmini** | Indirme/commit trendlerine dayali 3 aylik risk projeksiyonu |
45
+ | **Goc Danismani** | Riskli bagimliklar icin daha guvenli alternatifler onerir |
46
+ | **Cevrimdisi Mod** | Internet olmadan onbellekten calisir (`--offline`) |
47
+ | **MCP Entegrasyonu** | Claude Code ile dogrudan entegrasyon |
48
+ | **GitHub Action** | CI/CD pipeline'ina dogrudan entegre edin |
49
+ | **Coklu Format** | Terminal, HTML, JSON ve SARIF ciktisi destegi |
50
+
51
+ ## Kullanim Ornekleri
52
+
53
+ ```bash
54
+ # Mevcut projeyi tara
55
+ dep-oracle scan
56
+
57
+ # Farkli formatlarda cikti al
58
+ dep-oracle scan --format json
59
+ dep-oracle scan --format html
60
+ dep-oracle scan --format sarif
61
+
62
+ # Tek bir paketi kontrol et
63
+ dep-oracle check lodash
64
+
65
+ # Cevrimdisi mod (onbellekteki verileri kullanir)
66
+ dep-oracle scan --offline
67
+
68
+ # Minimum skor esigi belirle (CI/CD icin ideal)
69
+ dep-oracle scan --threshold 60
70
+
71
+ # Belirli paketleri yoksay
72
+ dep-oracle scan --ignore deprecated-but-needed,legacy-pkg
73
+ ```
74
+
75
+ ## Cikti Ornegi
76
+
77
+ ```
78
+ dep-oracle v1.0.0
79
+ package.json taraniyor...
80
+ 47 dogrudan bagimlilik, 683 gecisli bagimlilik bulundu
81
+ Veri toplaniyor... [=============================] 100% (2.3s)
82
+
83
+ BAGIMLILIK GUVEN RAPORU
84
+
85
+ KRITIK (skor < 50)
86
+
87
+ event-stream@3.3.6 Skor: 12 ZOMBI
88
+ Son commit: 2018 | 0 aktif maintainer
89
+ Patlama yaricapi: 14 dosya | Alternatif: highland
90
+
91
+ UYARI (skor 50-79)
92
+
93
+ moment@2.29.4 Skor: 58 ZOMBI
94
+ Bakim modunda | Yeni ozellik yok
95
+ Patlama yaricapi: 23 dosya | Alternatif: dayjs
96
+
97
+ GUVENLI (skor 80+): 679 paket
98
+
99
+ OZET
100
+ Genel Guven Skoru: 74/100
101
+ Kritik: 2 | Uyari: 3 | Guvenli: 679
102
+ Zombi: 2 | Kaldirilmis: 1
103
+ ```
104
+
105
+ ## Guven Skoru Algoritmasi
106
+
107
+ Her paket, alti agirlikli metrige gore 0-100 arasi puanlanir:
108
+
109
+ | Metrik | Agirlik | Neyi Olcer |
110
+ |--------|---------|------------|
111
+ | Guvenlik Gecmisi | %25 | CVE sayisi, ortalama yama suresi, guvenlik acigi yogunlugu |
112
+ | Maintainer Sagligi | %25 | Aktif maintainer sayisi (bus factor), issue yanit suresi, PR merge hizi |
113
+ | Aktivite | %20 | Commit frekans trendi, surum kadansi, son yayinlama tarihi |
114
+ | Popularite | %15 | Haftalik indirme, bagimli paket sayisi, GitHub yildizlari |
115
+ | Fonlama | %10 | GitHub Sponsors, OpenCollective, kurumsal destek |
116
+ | Lisans | %5 | MIT/Apache = guvenli, GPL = risk, Bilinmeyen = kirmizi bayrak |
117
+
118
+ **Skor Araliklari:** 80-100 Guvenli | 50-79 Uyari | 0-49 Kritik
119
+
120
+ ### Skor nasil hesaplaniyor?
121
+
122
+ Ornegin lodash paketini ele alalim:
123
+
124
+ - Guvenlik Gecmisi: Bilinen CVE'ler az, yamalar hizli -> 85 puan (x0.25 = 21.25)
125
+ - Maintainer Sagligi: Aktif maintainer'lar var ama sinirli -> 70 puan (x0.25 = 17.5)
126
+ - Aktivite: Son surum yakin tarihli -> 80 puan (x0.20 = 16)
127
+ - Popularite: Milyonlarca haftalik indirme -> 95 puan (x0.15 = 14.25)
128
+ - Fonlama: OpenCollective destegi var -> 60 puan (x0.10 = 6)
129
+ - Lisans: MIT -> 100 puan (x0.05 = 5)
130
+
131
+ **Toplam: 80/100 -- Guvenli**
132
+
133
+ ## Claude Code Entegrasyonu (MCP)
134
+
135
+ dep-oracle, Claude Code icin bir MCP sunucusu olarak calisir. Ayarlamaniz cok basit:
136
+
137
+ ```json
138
+ // .claude/settings.json
139
+ {
140
+ "mcpServers": {
141
+ "dep-oracle": {
142
+ "command": "npx",
143
+ "args": ["dep-oracle", "mcp"]
144
+ }
145
+ }
146
+ }
147
+ ```
148
+
149
+ Ayarladiktan sonra Claude Code icinde dogrudan sorabilirsiniz:
150
+
151
+ - "Bu projedeki en riskli bagimlilik hangisi?"
152
+ - "lodash kullanmak guvenli mi?"
153
+ - "Zombi bagimliliklari goster"
154
+ - "Guven skoru 50'nin altindaki paketleri listele"
155
+ - "moment.js icin alternatif oner"
156
+
157
+ Claude Code, dep-oracle'in verdigi verileri kullanarak size anlamli ve baglamsal yanıtlar verir.
158
+
159
+ ## GitHub Action
160
+
161
+ dep-oracle'i CI/CD pipeline'iniza entegre ederek her pull request'te otomatik bagimlilik guven kontrolu yapabilirsiniz:
162
+
163
+ ```yaml
164
+ name: Bagimlilik Guven Kontrolu
165
+ on: [pull_request]
166
+
167
+ jobs:
168
+ dep-oracle:
169
+ runs-on: ubuntu-latest
170
+ steps:
171
+ - uses: actions/checkout@v4
172
+ - uses: ertugrulakben/dep-oracle-action@v1
173
+ with:
174
+ threshold: 60
175
+ format: sarif
176
+ ```
177
+
178
+ Bu konfigurasyonla:
179
+ - Her PR'da otomatik bagimlilik taramasi yapilir
180
+ - Guven skoru 60'in altindaki paketler icin uyari verilir
181
+ - SARIF formatinda cikti uretilir ve GitHub Security sekmesinde goruntulenir
182
+
183
+ ## Konfigurasyon
184
+
185
+ Proje kokunde `.dep-oraclerc.json` dosyasi olusturun:
186
+
187
+ ```json
188
+ {
189
+ "threshold": 60,
190
+ "ignore": ["bilinen-riskli-ama-gerekli"],
191
+ "format": "terminal",
192
+ "offline": false,
193
+ "githubToken": "$GITHUB_TOKEN",
194
+ "cacheTtl": 86400
195
+ }
196
+ ```
197
+
198
+ Ya da `package.json` icinde tanimlayabilirsiniz:
199
+
200
+ ```json
201
+ {
202
+ "dep-oracle": {
203
+ "threshold": 60,
204
+ "ignore": []
205
+ }
206
+ }
207
+ ```
208
+
209
+ ### Konfigurasyon Secenekleri
210
+
211
+ | Secenek | Varsayilan | Aciklama |
212
+ |---------|-----------|----------|
213
+ | `threshold` | `60` | Minimum guven skoru esigi. Altindaki paketler uyari verir |
214
+ | `ignore` | `[]` | Tarama disinda tutulacak paket listesi |
215
+ | `format` | `"terminal"` | Cikti formati: `terminal`, `json`, `html`, `sarif` |
216
+ | `offline` | `false` | Cevrimdisi mod. `true` olursa yalnizca onbellek kullanilir |
217
+ | `githubToken` | `null` | GitHub API rate limit'i artirmak icin token |
218
+ | `cacheTtl` | `86400` | Onbellek gecerlilik suresi (saniye cinsinden, varsayilan: 24 saat) |
219
+
220
+ ## Desteklenen Paket Yoneticileri
221
+
222
+ | Yonetici | Manifest Dosyasi | Kilit Dosyasi | Durum |
223
+ |----------|-------------------|---------------|-------|
224
+ | npm | `package.json` | `package-lock.json` | Destekleniyor |
225
+ | yarn | `package.json` | `yarn.lock` | Destekleniyor |
226
+ | pnpm | `package.json` | `pnpm-lock.yaml` | Destekleniyor |
227
+ | pip | `requirements.txt` | `Pipfile.lock` | Destekleniyor |
228
+ | poetry | `pyproject.toml` | `poetry.lock` | Destekleniyor |
229
+
230
+ ## Karsilastirma
231
+
232
+ | Ozellik | npm audit | Dependabot | Socket.dev | Snyk | **dep-oracle** |
233
+ |---------|-----------|------------|------------|------|----------------|
234
+ | Bilinen CVE taramasi | Var | Var | Var | Var | **Var** |
235
+ | Prediktif risk analizi | Yok | Yok | Kismi | Yok | **Var** |
236
+ | Guven Skoru (0-100) | Yok | Yok | Yok | Yok | **Var** |
237
+ | Zombi tespiti | Yok | Yok | Yok | Yok | **Var** |
238
+ | Patlama yaricapi | Yok | Yok | Yok | Yok | **Var** |
239
+ | Typosquat tespiti | Yok | Yok | Var | Yok | **Var** |
240
+ | Trend tahmini | Yok | Yok | Yok | Yok | **Var** |
241
+ | MCP entegrasyonu | Yok | Yok | Var | Var | **Var** |
242
+ | Sifir kurulum (npx) | Var | Yok | Yok | Yok | **Var** |
243
+ | Ucretsiz | Var | Var | Freemium | Freemium | **Var** |
244
+
245
+ dep-oracle, mevcut araclarin yerini almak icin degil, onlarin biraktigi boslugu doldurmak icin tasarlandi. `npm audit` bilinen aciklari yakaliyorsa, dep-oracle henuz bildirilmemis ama olusmak uzere olan riskleri gosterir.
246
+
247
+ ## Katkida Bulunma
248
+
249
+ Katkida bulunmak istiyorsaniz [CONTRIBUTING.md](CONTRIBUTING.md) dosyasina goz atin. Gelistirme ortami kurulumu, kodlama standartlari ve yeni collector/parser ekleme rehberi orada.
250
+
251
+ Her turlu katki degerlidir: hata bildirimi, dokumantasyon iyilestirmesi, yeni ozellik onerisi veya kod katkisi.
252
+
253
+ ## Lisans
254
+
255
+ [MIT](LICENSE) -- Ertugrul Akben