aws-samples / aws-samples/iot-lambda-sns-sqs-lambda-dynamodb

Random number as DynamoDB partition key — collision risk

Aperta Adatta ai principianti
#1 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
2
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Location:
allfilteredeventconsumer.js

ID: Math.floor(Math.random() * Math.floor(10000000)).toString(),
Using Math.random() with a range of 0-10,000,000 for the primary key. With sufficient volume, collisions will occur and silently overwrite previous records. This is a data loss bug, not just a security issue.

Fix: Use a UUID:

const { randomUUID } = require('crypto');
ID: randomUUID(),

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Apri allfilteredeventconsumer.js e trova l’assegnazione dell’ID che usa Math.random(). Sostituisci il valore casuale limitato con l’approccio UUID mostrato nell’issue, quindi verifica che le chiavi di partizione generate rimangano univoche e che i record esistenti non vengano sovrascritti silenziosamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
databases
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
78/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.