aws-samples / aws-samples/iot-lambda-sns-sqs-lambda-dynamodb
Random number as DynamoDB partition key — collision risk
- Vorherrschende Sprache
- JavaScript
- Sterne
- 2
- Forks
- 0
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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(),
Beitragsleitfaden
Rechercherichtung
Öffne allfilteredeventconsumer.js und finde die ID-Zuweisung mit Math.random(). Ersetze den begrenzten Zufallswert durch den im Issue gezeigten UUID-Ansatz und verifiziere anschließend, dass die generierten Partition Keys weiterhin eindeutig sind und vorhandene Datensätze nicht stillschweigend überschrieben werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 78/100