Skip to content

execute custom action #505

execute custom action

execute custom action #505

Triggered via push December 14, 2023 16:37
Status Success
Total duration 4m 24s
Artifacts

android.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

203 warnings
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/android/app/databinding/ActivityMainBinding.java#L38
com.yubico.yubikit.android.app.databinding.ActivityMainBinding.getRoot() may expose internal representation by returning ActivityMainBinding.rootView
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/android/app/databinding/AppBarMainBinding.java#L33
com.yubico.yubikit.android.app.databinding.AppBarMainBinding.getRoot() may expose internal representation by returning AppBarMainBinding.rootView
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/android/app/databinding/FragmentWebBinding.java#L44
com.yubico.yubikit.android.app.databinding.FragmentWebBinding.getRoot() may expose internal representation by returning FragmentWebBinding.rootView
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/android/transport/nfc/NfcYubiKeyManager.java#L55
Exception thrown in class com.yubico.yubikit.android.transport.nfc.NfcYubiKeyManager at new com.yubico.yubikit.android.transport.nfc.NfcYubiKeyManager(Context, NfcDispatcher) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/android/transport/usb/UsbYubiKeyDevice.java#L69
Exception thrown in class com.yubico.yubikit.android.transport.usb.UsbYubiKeyDevice at new com.yubico.yubikit.android.transport.usb.UsbYubiKeyDevice(UsbManager, UsbDevice) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/android/transport/usb/connection/UsbSmartCardConnection.java#L89
Exception thrown in class com.yubico.yubikit.android.transport.usb.connection.UsbSmartCardConnection at new com.yubico.yubikit.android.transport.usb.connection.UsbSmartCardConnection(UsbDeviceConnection, UsbInterface, UsbEndpoint, UsbEndpoint) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Non-null field is not initialized: com/yubico/yubikit/android/ui/OtpActivity.java#L39
Non-null field keyListener is not initialized by new com.yubico.yubikit.android.ui.OtpActivity()
Non-null field is not initialized: com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field action is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity()
Non-null field is not initialized: com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field cancelButton is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity()
Non-null field is not initialized: com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field enableNfcButton is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity()
Non-null field is not initialized: com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field helpTextView is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity()
Non-null field is not initialized: com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field yubiKit is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity()
Wait not in loop: com/yubico/yubikit/core/application/CommandState.java#L57
Wait not in loop in com.yubico.yubikit.core.application.CommandState.waitForCancel(long)
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/fido/FidoProtocol.java#L58
Exception thrown in class com.yubico.yubikit.core.fido.FidoProtocol at new com.yubico.yubikit.core.fido.FidoProtocol(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.trace(Ljava/lang/String;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.debug(Ljava/lang/String;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.info(Ljava/lang/String;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.warn(Ljava/lang/String;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.error(Ljava/lang/String;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.trace(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.warn(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L171
This use of org/slf4j/Logger.trace(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L171
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L171
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L171
This use of org/slf4j/Logger.warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L171
This use of org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.trace(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.info(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.warn(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.error(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/keys/PrivateKeyValues.java#L161
Exception thrown in class com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa at new com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa(BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/keys/PublicKeyValues.java#L103
Exception thrown in class com.yubico.yubikit.core.keys.PublicKeyValues$Cv25519 at new com.yubico.yubikit.core.keys.PublicKeyValues$Cv25519(EllipticCurveValues, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/keys/PublicKeyValues.java#L149
Exception thrown in class com.yubico.yubikit.core.keys.PublicKeyValues$Ec at new com.yubico.yubikit.core.keys.PublicKeyValues$Ec(EllipticCurveValues, BigInteger, BigInteger) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/otp/ChecksumUtils.java#L62
Exception thrown in class com.yubico.yubikit.core.otp.ChecksumUtils at new com.yubico.yubikit.core.otp.ChecksumUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Consider using Locale parameterized version of invoked method: com/yubico/yubikit/core/otp/Modhex.java#L44
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.core.otp.Modhex.decode(String)
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/otp/OtpProtocol.java#L59
Exception thrown in class com.yubico.yubikit.core.otp.OtpProtocol at new com.yubico.yubikit.core.otp.OtpProtocol(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/smartcard/ApduResponse.java#L32
Exception thrown in class com.yubico.yubikit.core.smartcard.ApduResponse at new com.yubico.yubikit.core.smartcard.ApduResponse(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/util/RandomUtils.java#L40
Exception thrown in class com.yubico.yubikit.core.util.RandomUtils at new com.yubico.yubikit.core.util.RandomUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/core/util/StringUtils.java#L49
Exception thrown in class com.yubico.yubikit.core.util.StringUtils at new com.yubico.yubikit.core.util.StringUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L108
Exception thrown in class com.yubico.yubikit.fido.client.BasicWebAuthnClient at new com.yubico.yubikit.fido.client.BasicWebAuthnClient(Ctap2Session) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L135
com.yubico.yubikit.fido.client.BasicWebAuthnClient.getUserAgentConfiguration() may expose internal representation by returning BasicWebAuthnClient.userAgentConfiguration
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L100
com.yubico.yubikit.fido.client.BasicWebAuthnClient$UserAgentConfiguration.setEpSupportedRpIds(List) may expose internal representation by storing an externally mutable object into BasicWebAuthnClient$UserAgentConfiguration.epSupportedRpIds
Dead store to local variable: com/yubico/yubikit/fido/client/CredentialManager.java#L96
Dead store to credentialIdMap in com.yubico.yubikit.fido.client.CredentialManager.getCredentials(String)
NullPointerException caught: com/yubico/yubikit/fido/client/MultipleAssertionsAvailable.java#L67
Do not catch NullPointerException like in com.yubico.yubikit.fido.client.MultipleAssertionsAvailable.getUsers()
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Config.java#L71
Exception thrown in class com.yubico.yubikit.fido.ctap.Config at new com.yubico.yubikit.fido.ctap.Config(Ctap2Session, PinUvAuthProtocol, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L77
Exception thrown in class com.yubico.yubikit.fido.ctap.CredentialManagement at new com.yubico.yubikit.fido.ctap.CredentialManagement(Ctap2Session, PinUvAuthProtocol, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L77
new com.yubico.yubikit.fido.ctap.CredentialManagement(Ctap2Session, PinUvAuthProtocol, byte[]) may expose internal representation by storing an externally mutable object into CredentialManagement.pinUvToken
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L287
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getCredentialId() may expose internal representation by returning CredentialManagement$CredentialData.credentialId
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L291
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getPublicKey() may expose internal representation by returning CredentialManagement$CredentialData.publicKey
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L283
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getUser() may expose internal representation by returning CredentialManagement$CredentialData.user
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L252
com.yubico.yubikit.fido.ctap.CredentialManagement$RpData.getRp() may expose internal representation by returning CredentialManagement$RpData.rp
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/CredentialManagement.java#L256
com.yubico.yubikit.fido.ctap.CredentialManagement$RpData.getRpIdHash() may expose internal representation by returning CredentialManagement$RpData.rpIdHash
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L125
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(Version, Ctap2Session$Backend) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L118
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L155
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(FidoProtocol) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L106
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L111
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(SmartCardConnection, Version) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
An overridable method is called from a constructor: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L125
Overridable method getInfo is called from constructor new com.yubico.yubikit.fido.ctap.Ctap2Session(Version, Ctap2Session$Backend).
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1072
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getAuthenticatorData() may expose internal representation by returning Ctap2Session$AssertionData.authenticatorData
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1053
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getCredential() may expose internal representation by returning Ctap2Session$AssertionData.credential
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1062
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getSignature() may expose internal representation by returning Ctap2Session$AssertionData.signature
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1043
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getUser() may expose internal representation by returning Ctap2Session$AssertionData.user
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L978
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getAttestationStatement() may expose internal representation by returning Ctap2Session$CredentialData.attestationStatement
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L960
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getAuthenticatorData() may expose internal representation by returning Ctap2Session$CredentialData.authenticatorData
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L998
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getLargeBlobKey() may expose internal representation by returning Ctap2Session$CredentialData.largeBlobKey
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L680
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getAaguid() may expose internal representation by returning Ctap2Session$InfoData.aaguid
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L752
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getAlgorithms() may expose internal representation by returning Ctap2Session$InfoData.algorithms
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L858
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getCertifications() may expose internal representation by returning Ctap2Session$InfoData.certifications
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L671
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getExtensions() may expose internal representation by returning Ctap2Session$InfoData.extensions
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L689
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getOptions() may expose internal representation by returning Ctap2Session$InfoData.options
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L709
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getPinUvAuthProtocols() may expose internal representation by returning Ctap2Session$InfoData.pinUvAuthProtocols
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L741
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getTransports() may expose internal representation by returning Ctap2Session$InfoData.transports
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L879
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getVendorPrototypeConfigCommands() may expose internal representation by returning Ctap2Session$InfoData.vendorPrototypeConfigCommands
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/ctap/Ctap2Session.java#L662
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getVersions() may expose internal representation by returning Ctap2Session$InfoData.versions
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/ctap/Hkdf.java#L36
Exception thrown in class com.yubico.yubikit.fido.ctap.Hkdf at new com.yubico.yubikit.fido.ctap.Hkdf(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Cipher with no integrity: com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L132
The cipher does not provide data integrity
Cipher with no integrity: com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L119
The cipher does not provide data integrity
Static IV: com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L119
The initialization vector (IV) is not properly generated
Cipher with no integrity: com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV2.java#L146
The cipher does not provide data integrity
Static IV: com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV2.java#L146
The initialization vector (IV) is not properly generated
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestationObject.java#L85
com.yubico.yubikit.fido.webauthn.AttestationObject.getAttestationStatement() may expose internal representation by returning AttestationObject.attestationStatement
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestationObject.java#L97
com.yubico.yubikit.fido.webauthn.AttestationObject.getLargeBlobKey() may expose internal representation by returning AttestationObject.largeBlobKey
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestationObject.java#L56
new com.yubico.yubikit.fido.webauthn.AttestationObject(String, AuthenticatorData, Map, Boolean, byte[]) may expose internal representation by storing an externally mutable object into AttestationObject.attestationStatement
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestationObject.java#L56
new com.yubico.yubikit.fido.webauthn.AttestationObject(String, AuthenticatorData, Map, Boolean, byte[]) may expose internal representation by storing an externally mutable object into AttestationObject.largeBlobKey
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L65
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getAaguid() may expose internal representation by returning AttestedCredentialData.aaguid
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L75
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getCosePublicKey() may expose internal representation by returning AttestedCredentialData.cosePublicKey
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L70
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getCredentialId() may expose internal representation by returning AttestedCredentialData.credentialId
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.aaguid
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.cosePublicKey
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.credentialId
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L52
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getAuthenticatorData() may expose internal representation by returning AuthenticatorAssertionResponse.authenticatorData
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L56
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getSignature() may expose internal representation by returning AuthenticatorAssertionResponse.signature
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L61
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getUserHandle() may expose internal representation by returning AuthenticatorAssertionResponse.userHandle
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.authenticatorData
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.signature
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.userHandle
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L79
Exception thrown in class com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse at new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], List, AttestationObject) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L129
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getAttestationObject() may expose internal representation by returning AuthenticatorAttestationResponse.attestationObject
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L120
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getPublicKey() may expose internal representation by returning AuthenticatorAttestationResponse.publicKey
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L114
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getTransports() may expose internal representation by returning AuthenticatorAttestationResponse.transports
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.attestationObject
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.publicKey
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.transports
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L79
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], List, AttestationObject) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.transports
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L168
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getBytes() may expose internal representation by returning AuthenticatorData.rawData
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L143
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getExtensions() may expose internal representation by returning AuthenticatorData.extensions
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L121
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getRpIdHash() may expose internal representation by returning AuthenticatorData.rpIdHash
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.extensions
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.rawData
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.rpIdHash
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/AuthenticatorResponse.java#L31
com.yubico.yubikit.fido.webauthn.AuthenticatorResponse.getClientDataJson() may expose internal representation by returning AuthenticatorResponse.clientDataJson
Suspicious reference comparison of Boolean values: com/yubico/yubikit/fido/webauthn/AuthenticatorSelectionCriteria.java#L79
Suspicious comparison of Boolean references in com.yubico.yubikit.fido.webauthn.AuthenticatorSelectionCriteria.fromMap(Map, SerializationType)
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredential.java#L66
new com.yubico.yubikit.fido.webauthn.PublicKeyCredential(byte[], AuthenticatorResponse) may expose internal representation by storing an externally mutable object into PublicKeyCredential.rawId
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L86
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getChallenge() may expose internal representation by returning PublicKeyCredentialCreationOptions.challenge
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L99
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getExcludeCredentials() may expose internal representation by returning PublicKeyCredentialCreationOptions.excludeCredentials
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L90
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getPubKeyCredParams() may expose internal representation by returning PublicKeyCredentialCreationOptions.pubKeyCredParams
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L65
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions(PublicKeyCredentialRpEntity, PublicKeyCredentialUserEntity, byte[], List, Long, List, AuthenticatorSelectionCriteria, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialCreationOptions.challenge
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L65
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions(PublicKeyCredentialRpEntity, PublicKeyCredentialUserEntity, byte[], List, Long, List, AuthenticatorSelectionCriteria, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialCreationOptions.pubKeyCredParams
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L57
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor.getId() may expose internal representation by returning PublicKeyCredentialDescriptor.id
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L62
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor.getTransports() may expose internal representation by returning PublicKeyCredentialDescriptor.transports
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L40
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[]) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L46
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L46
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.transports
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L80
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions.getAllowCredentials() may expose internal representation by returning PublicKeyCredentialRequestOptions.allowCredentials
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L67
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions.getChallenge() may expose internal representation by returning PublicKeyCredentialRequestOptions.challenge
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L57
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions(byte[], Long, String, List, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialRequestOptions.challenge
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialUserEntity.java#L41
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialUserEntity.getId() may expose internal representation by returning PublicKeyCredentialUserEntity.id
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/fido/webauthn/PublicKeyCredentialUserEntity.java#L35
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialUserEntity(String, byte[], String) may expose internal representation by storing an externally mutable object into PublicKeyCredentialUserEntity.id
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/management/DeviceInfo.java#L66
new com.yubico.yubikit.management.DeviceInfo(DeviceConfig, Integer, Version, FormFactor, Map, boolean, boolean, boolean) may expose internal representation by storing an externally mutable object into DeviceInfo.supportedCapabilities
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/management/ManagementSession.java#L207
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/management/ManagementSession.java#L172
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/management/ManagementSession.java#L107
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Consider using Locale parameterized version of invoked method: com/yubico/yubikit/oath/CredentialData.java#L293
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.oath.CredentialData.decodeSecret(String)
Regex DOS (ReDOS): com/yubico/yubikit/oath/CredentialIdUtils.java#L30
The regular expression "^((\\d+)/)?(([^:]+):)?(.+)$" is vulnerable to a denial of service attack (ReDOS)
Improper handling of Unicode transformations: com/yubico/yubikit/oath/HashAlgorithm.java#L72
Improper handling of Unicode transformations such as case mapping and normalization.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/oath/OathSession.java#L128
Exception thrown in class com.yubico.yubikit.oath.OathSession at new com.yubico.yubikit.oath.OathSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Improper handling of Unicode transformations: com/yubico/yubikit/oath/OathType.java#L54
Improper handling of Unicode transformations such as case mapping and normalization.
Improper handling of Unicode transformations: com/yubico/yubikit/oath/OathType.java#L54
Improper handling of Unicode transformations such as case mapping and normalization.
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L69
com.yubico.yubikit.openpgp.ApplicationRelatedData.getGeneralFeatureManagement() may expose internal representation by returning ApplicationRelatedData.generalFeatureManagement
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L46
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.generalFeatureManagement
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L46
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.historical
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.caFingerprints
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.fingerprints
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.generationTimes
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.keyInformation
Consider returning a zero length array rather than null: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L122
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getCaFingerprint(KeyRef) return a zero length array rather than null?
Consider returning a zero length array rather than null: com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L113
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getFingerprint(KeyRef) return a zero length array rather than null?
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/openpgp/ExtendedCapabilities.java#L52
com.yubico.yubikit.openpgp.ExtendedCapabilities.getFlags() may expose internal representation by returning ExtendedCapabilities.flags
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/ExtendedCapabilities.java#L41
new com.yubico.yubikit.openpgp.ExtendedCapabilities(EnumSet, int, int, int, int, boolean, boolean) may expose internal representation by storing an externally mutable object into ExtendedCapabilities.flags
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/Kdf.java#L126
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.initialHashAdmin
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/Kdf.java#L126
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.initialHashUser
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/Kdf.java#L126
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltAdmin
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/Kdf.java#L126
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltReset
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/openpgp/Kdf.java#L126
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltUser
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/openpgp/OpenPgpSession.java#L161
Exception thrown in class com.yubico.yubikit.openpgp.OpenPgpSession at new com.yubico.yubikit.openpgp.OpenPgpSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
An overridable method is called from a constructor: com/yubico/yubikit/openpgp/OpenPgpSession.java#L161
Overridable method getApplicationRelatedData is called from constructor new com.yubico.yubikit.openpgp.OpenPgpSession(SmartCardConnection).
Consider using Locale parameterized version of invoked method: com/yubico/yubikit/openpgp/PinPolicy.java#L31
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.PinPolicy.toString()
Consider using Locale parameterized version of invoked method: com/yubico/yubikit/openpgp/Uif.java#L42
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.Uif.toString()
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/piv/ObjectId.java#L73
Exception thrown in class com.yubico.yubikit.piv.ObjectId at new com.yubico.yubikit.piv.ObjectId() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
String is modified after validation and not before it: com/yubico/yubikit/piv/Padding.java#L50
String is modified after validation and not before it. Tricky attackers may pass malicious strings which bypass validation.
RSA with no padding is insecure: com/yubico/yubikit/piv/Padding.java#L50
Use of RSA cipher without proper padding
RSA with no padding is insecure: com/yubico/yubikit/piv/Padding.java#L119
Use of RSA cipher without proper padding
Unsafe hash equals: com/yubico/yubikit/piv/Padding.java#L50
Unsafe comparison of hash that are susceptible to timing attack
Unchecked/unconfirmed cast: com/yubico/yubikit/piv/PivSession.java#L975
Unchecked/unconfirmed cast from com.yubico.yubikit.core.keys.PrivateKeyValues to com.yubico.yubikit.core.keys.PrivateKeyValues$Ec in com.yubico.yubikit.piv.PivSession.putKey(Slot, PrivateKeyValues, PinPolicy, TouchPolicy)
Unchecked/unconfirmed cast: com/yubico/yubikit/piv/PivSession.java#L975
Unchecked/unconfirmed cast from com.yubico.yubikit.core.keys.PrivateKeyValues to com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa in com.yubico.yubikit.piv.PivSession.putKey(Slot, PrivateKeyValues, PinPolicy, TouchPolicy)
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/piv/PivSession.java#L198
Exception thrown in class com.yubico.yubikit.piv.PivSession at new com.yubico.yubikit.piv.PivSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/piv/jca/PivCipherSpi.java#L60
Exception thrown in class com.yubico.yubikit.piv.jca.PivCipherSpi at new com.yubico.yubikit.piv.jca.PivCipherSpi(Callback, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
RSA with no padding is insecure: com/yubico/yubikit/piv/jca/PivCipherSpi.java#L144
Use of RSA cipher without proper padding
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/piv/jca/PivEcSignatureSpi.java#L144
Exception thrown in class com.yubico.yubikit.piv.jca.PivEcSignatureSpi$Hashed at new com.yubico.yubikit.piv.jca.PivEcSignatureSpi$Hashed(Callback, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
May expose internal representation by returning reference to mutable object: com/yubico/yubikit/piv/jca/PivKeyManager.java#L63
com.yubico.yubikit.piv.jca.PivKeyManager.getPrivateKey(String) may expose internal representation by returning PivKeyManager.privateKey
May expose internal representation by incorporating reference to mutable object: com/yubico/yubikit/piv/jca/PivKeyManager.java#L31
new com.yubico.yubikit.piv.jca.PivKeyManager(PivPrivateKey, X509Certificate[]) may expose internal representation by storing an externally mutable object into PivKeyManager.privateKey
Unchecked/unconfirmed cast: com/yubico/yubikit/piv/jca/PivKeyStoreSpi.java#L221
Unchecked/unconfirmed cast from java.security.Key to java.security.PrivateKey in com.yubico.yubikit.piv.jca.PivKeyStoreSpi.engineSetKeyEntry(String, Key, char[], Certificate[])
Consider returning a zero length array rather than null: com/yubico/yubikit/piv/jca/PivPrivateKey.java#L151
Should com.yubico.yubikit.piv.jca.PivPrivateKey.getEncoded() return a zero length array rather than null?
Consider using Locale parameterized version of invoked method: com/yubico/yubikit/piv/jca/PivProvider.java#L68
Use of non-localized String.toUpperCase() or String.toLowerCase() in new com.yubico.yubikit.piv.jca.PivProvider(Callback)
Improper handling of Unicode transformations: com/yubico/yubikit/piv/jca/PivProvider.java#L68
Improper handling of Unicode transformations such as case mapping and normalization.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/piv/jca/PivRsaSignatureSpi.java#L53
Exception thrown in class com.yubico.yubikit.piv.jca.PivRsaSignatureSpi at new com.yubico.yubikit.piv.jca.PivRsaSignatureSpi(Callback, Map, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
RSA with no padding is insecure: com/yubico/yubikit/piv/jca/PivRsaSignatureSpi.java#L115
Use of RSA cipher without proper padding
Inefficient use of keySet iterator instead of entrySet iterator: com/yubico/yubikit/testing/fido/BasicWebAuthnClientTests.java#L493
com.yubico.yubikit.testing.fido.BasicWebAuthnClientTests.testClientCredentialManagement(Ctap2Session, Object[]) makes inefficient use of keySet iterator instead of entrySet iterator
Suspicious reference comparison of Boolean values: com/yubico/yubikit/testing/fido/EnterpriseAttestationTests.java#L55
Suspicious comparison of Boolean references in com.yubico.yubikit.testing.fido.EnterpriseAttestationTests.enableEp(Ctap2Session, PinUvAuthProtocol)
Potential CRLF Injection for logs: com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L191
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L297
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L70
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L71
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L71
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L172
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L172
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaUtils.java#L46
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Potential CRLF Injection for logs: com/yubico/yubikit/testing/piv/PivJcaUtils.java#L46
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
Unchecked/unconfirmed cast: com/yubico/yubikit/testing/piv/PivTestUtils.java#L292
Unchecked/unconfirmed cast from java.security.PublicKey to java.security.interfaces.ECKey in com.yubico.yubikit.testing.piv.PivTestUtils.ecKeyAgreement(PrivateKey, PublicKey)
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L52
Exception thrown in class com.yubico.yubikit.yubiotp.HmacSha1SlotConfiguration at new com.yubico.yubikit.yubiotp.HmacSha1SlotConfiguration(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
SHA-1 is a weak hash function: com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L32
This API SHA1 (SHA-1) is not a recommended cryptographic hash function
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/StaticPasswordSlotConfiguration.java#L31
Exception thrown in class com.yubico.yubikit.yubiotp.StaticPasswordSlotConfiguration at new com.yubico.yubikit.yubiotp.StaticPasswordSlotConfiguration(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/StaticTicketSlotConfiguration.java#L34
Exception thrown in class com.yubico.yubikit.yubiotp.StaticTicketSlotConfiguration at new com.yubico.yubikit.yubiotp.StaticTicketSlotConfiguration(byte[], byte[], byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/YubiOtpSession.java#L207
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSession at new com.yubico.yubikit.yubiotp.YubiOtpSession(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/YubiOtpSession.java#L148
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSession at new com.yubico.yubikit.yubiotp.YubiOtpSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
Be wary of letting constructors throw exceptions.: com/yubico/yubikit/yubiotp/YubiOtpSlotConfiguration.java#L31
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSlotConfiguration at new com.yubico.yubikit.yubiotp.YubiOtpSlotConfiguration(byte[], byte[], byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.