UaBankPay.js is designed to run in a secure server environment, and doesn't take any user input, so the attack surface is minimal. However, we take security seriously and encourage responsible disclosure of any vulnerabilities or security issues that may arise during library lifecycle.
If you discover a security or other important issue with the library, please report it to us immediately by emailing contact@sirkadirov.com with a detailed description of the vulnerability, steps to reproduce it, and any relevant information. We will investigate the issue promptly and work on a fix as soon as possible.
Only the latest released version of the library receives security fixes. When reporting a vulnerability, please verify that it reproduces on the most recent version published to npm or JSR.
When generating QR-codes for payments, it's important to ensure that the data being encoded is accurate and secure. Here are some best practices to follow:
- Validate Input: Always validate the input data used to generate the QR code, such as the amount, receiver code, and destination. Ensure that the data is in the correct format and does not contain any malicious content.
- Use HTTPS: If you are generating QR codes that link to a payment page or API, make sure to use HTTPS to encrypt the data being transmitted and protect it from interception.
- Limit Data Exposure: Avoid including sensitive information in the QR code, such as personal details or payment credentials. Only include the necessary information required for the payment.
- Regularly Update Libraries: Keep your libraries and dependencies up to date to ensure that you have the latest security patches and improvements.
- Monitor for Vulnerabilities: Regularly monitor for any reported vulnerabilities in the libraries you use and apply patches or updates as needed.
- Educate Users: If you are providing QR codes to users, educate them on how to verify the authenticity of the QR code and encourage them to only scan codes from trusted sources.
The library itself is not designed to generate QR codes, but it generates payment links that can be used in QR code generation. It's important to ensure that the payment links generated by the library are accurate and secure, and to follow the best practices mentioned above when using these links in QR codes.
Malicious actors may attempt to create fraudulent QR codes that link to fake payment pages or APIs, so it's crucial to ensure that the data being encoded in the QR code is accurate and secure.
Ensuring that the QR code is not infected with malicious content is a responsibility of the banking institution that allows its customers to use QR codes for payments, and the users themselves. The library is designed to generate payment links that comply with the NBU QR specification only.
While the library itself is designed to be secure, it's important to note that vulnerabilities may exist on the bank's side, such as vulnerabilities in their payment processing systems or APIs. It's crucial to ensure that the bank you are using for payments has robust security measures in place and regularly updates their systems to address any vulnerabilities. If you encounter any security issues related to the bank's systems, please report them to the bank immediately so they can investigate and address the issue.