SQ34304
Detected presence of web service access tokens.
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. For authorization, web service users provide a unique token that confirms their access rights. These tokens 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 tokens, and fully automate their management and periodic rotation.
- If tokens were published unintentionally and the software has been made public, you should revoke exposed tokens and file a security incident.
- Examples of service tokens that may have been detected include AWS, Facebook, JWT, SWT, Slack 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)
- Introduction to JSON Web Tokens (External resource - JWT)