SQ34303
Detected presence of web service access credentials.
priority | CI/CD status | severity | effort | RL level | RL assessment |
---|---|---|---|---|---|
fail | high | medium | 2 | secrets: fail Reason: web service credentials found |
About the issueβ
Software as a Service (SaaS) platforms expose programmable interfaces to their authenticated users. These web services enable action automation and secure exchange of information. To authenticate, web service users provide a unique account identifier and a secret that confirms their access rights. Account access credentials are considered secrets. They should never be included in a software release package, even if they are obfuscated by encryption on the client-side.
How to resolve the issueβ
- You should securely store web service access credentials, and fully automate their management and periodic rotation.
- If credentials were published unintentionally and the software has been made public, you should revoke exposed credentials and file a security incident.
- Examples of service credentials that may have been detected include AWS, Square, Zoho, Duo, PayPal and others.
Incidence statisticsβ
ReversingLabs periodically collects and analyzes the contents of popular software package repositories for threat research purposes.
For every repository, the chart shows the percentage of projects that triggered the software assurance policy. In other words, it shows how many projects were found to have the specific issue described on this page.
The percentages are calculated from the total amount of packages analyzed:
- RubyGems: 174K
- Nuget: 189K
- PyPi: 403K
- NPM: 2.1M
Secrets breakdown by serviceβ
The next chart provides a more detailed look at sensitive information detected in analyzed packages. Secrets are grouped by service, and for every service the chart shows the absolute number of secrets found per repository.
When present in the chart, the "Other" group covers the following:
- SWT Generic
- RFC6750 Token
- OAuth token credentials
- Connection string with an exposed secret
- Basic Access credentials
- JWT Generic
Recommended readingβ
- Itβs not a secret if you publish it on PyPI (ReversingLabs blog)
- Web service (External resource - NIST)
- Web Service Security (External resource - OWASP)