Create src/security/featureExtractor.js
Browse files
src/security/featureExtractor.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { AuditLog } from "../models/AuditLog.js";
|
| 2 |
+
|
| 3 |
+
export async function extractFeatures(log) {
|
| 4 |
+
const since = new Date(Date.now() - 10 * 60 * 1000);
|
| 5 |
+
const ipCount = await AuditLog.countDocuments({
|
| 6 |
+
ip: log.ip,
|
| 7 |
+
createdAt: { $gte: since },
|
| 8 |
+
});
|
| 9 |
+
|
| 10 |
+
return [log.createdAt.getHours(), Math.min(ipCount, 100)];
|
| 11 |
+
}
|