aws-samples / aws-samples/iot-lambda-sns-sqs-lambda-dynamodb
Random number as DynamoDB partition key — collision risk
- 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