TH17108
Detected presence of files containing URLs that link to deceptive file formats.
priority | CI/CD status | severity | effort | SAFE level | SAFE assessment |
---|---|---|---|---|---|
pass | medium | high | None | None |
About the issueโ
Uniform Resource Locators (URLs) are structured addresses that point to locations and assets on the internet. URLs allow software developers to build complex applications that exchange data with servers that can be hosted in multiple geographical regions. URLs can commonly be found embedded in documentation, configuration files, source code and compiled binaries. Attackers often try to obfuscate URLs with the aim to avoid detection by security solutions. One common obfuscation technique attackers use is crafting deceptive links to externally hosted files. Users are more likely to click the links they deem to be trustworthy. Having two or more file extensions in a URL increases the odds of a deceptive link being perceived as trustworthy, especially if the first extension is commonly encountered by the user (such as a file extension of a popular document format). The reason why these links are considered deceptive is because the operating system will download the linked file and execute it with the last extension it detects, not the first. Attackers abuse this file naming quirk to trick users to run their malicious code. While presence of deceptive file format references does not imply malicious intent, all of its uses in a software package should be documented and approved. It is recommended to avoid double file format extensions altogether.
How to resolve the issueโ
- Investigate reported detections.
- If the software should not include these network references, investigate your build and release environment for software supply chain compromise.
- You should delay the software release until the investigation is completed, or until the issue is risk accepted.
- Consider changing the file extension for self-hosted files.
Incidence statisticsโ
ReversingLabs periodically collects and analyzes the contents of popular software package repositories for threat research purposes. Analysis results are used to calculate incidence statistics for issues (policy violations) that Spectra Assure can detect in software packages.
This section is updated when new data becomes available.
Total amount of packages analyzed
- RubyGems: 183K
- Nuget: 644K
- PyPi: 628K
- NPM: 3.72M
Total detections per repository
For every repository, the chart shows the number of packages that triggered the software assurance policy. In other words, it shows how many packages in each package repository were found to have the specific issue described on this page. This information helps you understand how common the issue is across different software communities.
If a repository is absent from the chart, that means none of the packages in that repository triggered this policy during analysis, or the policy was not used during analysis.
Distribution of total detections by project popularity
For every repository, the chart shows how many of the total detections belong to the Top 100 (1-100), Top 1000 (101-1000) and Top 10 000 (1001-10 000) most downloaded projects. This information helps you understand the impact of the issue within each community, making it clearer when the issue affects the most popular projects.
If the chart shows zero values for all of the top project groups, that means all detections were in unranked projects (lower than 10 000 on the list of most downloaded projects).
Recommended readingโ
- Masquerading: Double File Extension (External resource - Mitre ATT&CK documentation)
- Catching deceptive links before the click (ReversingLabs blog)