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 +2 -0
- package/README.tr.md +255 -0
- package/dist/{chunk-RQV3VHZS.js → chunk-7WUFMWUI.js} +3110 -69
- package/dist/chunk-7WUFMWUI.js.map +1 -0
- package/dist/cli/index.js +3298 -226
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-RQV3VHZS.js.map +0 -1
package/README.md
CHANGED
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
|
+
[](https://www.npmjs.com/package/dep-oracle)
|
|
8
|
+
[](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
|