@chdlabs/my-shield 0.1.1 â 0.1.3
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 +14 -25
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
## Highlights
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
13
|
+
- **Sub-0.1ms Clean Pass**: Legitimate requests pass through the L1 Bloom filter in `< 0.1ms`.
|
|
14
|
+
- **Zero False-Positive Blocks**: Two-tiered L1 caching (Bloom filter + LRU confirmed threat cache) guarantees statistical Bloom false positives are never blocked.
|
|
15
|
+
- **Silent Honeypot Decoys**: Static trap routes (`/.env`, `/wp-login.php`, `/.git/config`, etc.) return a silent `200 OK` decoy response after a brief delay and instantly blacklist scanners.
|
|
16
|
+
- **404 Anomaly & Intelligence**: Captures every 404 URL probe, bans scanners probing $\ge 5$ unique paths in 60s, and auto-promotes frequent attack targets to active honeypots.
|
|
17
|
+
- **Single-File Deduplicated Persistence**: Preserves learned probe patterns and promoted honeypots across process restarts in an atomic JSON file (`404_intelligence.json`).
|
|
18
|
+
- **Self-Contained Security Dashboard**: Built-in dark-themed telemetry console with real-time Server-Sent Events (SSE), charts, and active block management.
|
|
19
|
+
- **Safe By Default**: Admin dashboard is disabled by default (`admin.enabled: false`) with dedicated RBAC integration to prevent unauthorized telemetry access.
|
|
20
|
+
- **Zero Production Dependencies**: Pure JavaScript built exclusively with Node.js built-ins (`crypto`, `fs`, `path`, `events`).
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -112,8 +112,13 @@ app.use(shield.middleware());
|
|
|
112
112
|
// 2. Mount honeypot trap router (BEFORE application routes)
|
|
113
113
|
app.use(shield.honeypot());
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
|
|
116
|
+
// -----------------> ADD IN HERE ALL YOUR APPLICATION ROUTES <----------------//
|
|
116
117
|
app.get('/api/data', (req, res) => res.json({ status: 'ok' }));
|
|
118
|
+
// -----------------> ADD IN HERE ALL YOUR APPLICATION ROUTES <----------------//
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
117
122
|
|
|
118
123
|
// 4. Mount 404 intelligence collector (AFTER application routes)
|
|
119
124
|
app.use(shield.notFoundCollector());
|
|
@@ -254,22 +259,6 @@ app.use(shield.keyLeakDetector());
|
|
|
254
259
|
|
|
255
260
|
---
|
|
256
261
|
|
|
257
|
-
## Publishing to npmjs
|
|
258
|
-
|
|
259
|
-
To publish `@chdlabs/my-shield` to npm:
|
|
260
|
-
|
|
261
|
-
1. Log in to your npm account (if not already logged in):
|
|
262
|
-
```bash
|
|
263
|
-
npm login
|
|
264
|
-
```
|
|
265
|
-
2. Navigate to the `sdk-shield` directory and publish:
|
|
266
|
-
```bash
|
|
267
|
-
cd sdk-shield
|
|
268
|
-
npm publish --access public
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
262
|
## License
|
|
274
263
|
|
|
275
264
|
MIT ÂĐ CHDLabs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chdlabs/my-shield",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Zero-latency security shield middleware with Bloom filter, honeypots, and 404 intelligence",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -43,4 +43,4 @@
|
|
|
43
43
|
"scripts": {
|
|
44
44
|
"test": "node test/integration.test.js"
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
}
|