İçeriğe geç

Sabit Kodlanmış JWT İmza Anahtarı (ARCH4137)

Anahtar java.security.hardcoded-jwt-signing-key · Önem error · Kategori security · CWE CWE-321

JWT imza anahtarını kaynak koda literal olarak gömmek, kaynak sızdığı an token bütünlüğünü tehlikeye atar; saldırgan geçerli token üretebilir. Anahtarı ortamdan veya bir secret yöneticisinden okuyun.

String secret = "supersecretkey123"; // kaynakta gömülü
String jwt = Jwts.builder().setSubject(user)
.signWith(Keys.hmacShaKeyFor(secret.getBytes())).compact();
byte[] secret = Base64.getDecoder().decode(System.getenv("JWT_SIGNING_KEY"));
String jwt = Jwts.builder().setSubject(user)
.signWith(Keys.hmacShaKeyFor(secret)).compact();

İmza anahtarını ortam değişkeni veya secret yöneticisinden yükleyin; kaynağa gömmeyin.