Skip to content

Commit 48ec902

Browse files
Browse malware info in the console (#3645)
[ ] Check if this is a typo or other quick fix and ignore the rest :) ## Type of change Update to Libraries Browse and Platform Chainguard Console pages ### What should this PR do? Explain malware browsing in console for libraries, and cross-link the console content for containers and libraries ### Why are we making this change? Product update ### What are the acceptance criteria? Content should be clear and accurate ### How should this PR be tested? Any documentation published to Chainguard Academy is reviewed carefully for accuracy. GUI procedures, API commands, and CLI code snippets in a draft are run and tested thoroughly — by both the author and the reviewer — to confirm they work exactly as written. This helps ensure that readers can follow along and get the same results. See the [`edu` repo's README](https://github.com/chainguard-dev/edu#testing). Log in to the console with feature flag enabled for malware, view the library ecosystem pages --------- Signed-off-by: s-stumbo <sally.stumbo@chainguard.dev> Signed-off-by: s-stumbo <100295939+s-stumbo@users.noreply.github.com> Co-authored-by: angela-zhang <30538317+angela-zhang@users.noreply.github.com>
1 parent ff02a0b commit 48ec902

3 files changed

Lines changed: 61 additions & 36 deletions

File tree

content/chainguard/libraries/browse.md

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Browsing"
44
description: "Searching, browsing, and inspecting Chainguard Libraries in the console"
55
type: "article"
66
date: 2025-07-03T14:00:00+00:00
7-
lastmod: 2025-07-03T14:00:00+00:00
7+
lastmod: 2026-07-30T14:25:45+00:00
88
draft: false
99
tags: ["Chainguard Libraries"]
1010
menu:
@@ -14,19 +14,22 @@ weight: 007
1414
toc: true
1515
---
1616

17-
Chainguard Libraries includes thousands of libraries and many more individual
18-
library versions and artifacts. Through the Chainguard Console, you can
19-
browse all available libraries and their versions, and inspect their
20-
characteristics before using them in your application development.
17+
Chainguard Libraries is a malware-free catalog of Java, JavaScript, and Python
18+
artifacts that have passed through multiple layers of security controls,
19+
including malware and greyware scanning, building from source, cooldowns, and
20+
additional policies.
21+
22+
In the Chainguard Console, you can browse available
23+
libraries and versions, inspect package details, and evaluate dependencies
24+
before pulling them into your environment.
2125

2226
## Access libraries in the Chainguard Console
2327

2428
Log in to the Chainguard Console at
2529
[https://console.chainguard.dev/](https://console.chainguard.dev/).
2630

2731
In the left-hand navigation under **Libraries**, expand **Ecosystems** to find
28-
links for browsing Chainguard's [**Java**](/chainguard/libraries/java/overview/)
29-
and [**Python**](/chainguard/libraries/python/overview/) libraries.
32+
links for browsing Chainguard's [**Java**](/chainguard/libraries/java/overview/), [**JavaScript**](/chainguard/libraries/javascript/overview/), and [**Python**](/chainguard/libraries/python/overview/) libraries.
3033

3134
<a id="initial-display"></a>
3235

@@ -37,20 +40,24 @@ libraries. Click any row to open the [library detail page](#library-page).
3740

3841
The list includes the following columns:
3942

40-
* **Name** - the full library name, excluding any version identifiers.
43+
* **Name**: The full library name, excluding any version identifiers.
4144
* Python library names are simple strings, such as `setuptools` or
4245
`Flask-Admin`.
4346
* Java library names are the concatenation of the Maven
4447
coordinate values `groupId` and `artifactId`, separated by `:`. Examples are
4548
`org.springframework:spring-core` or `org.eclipse.jetty:jetty-http`.
46-
* **Latest version** - the latest released and available version of the library
49+
* **Latest version**: The latest released and available version of the library
4750
and the total number of available versions.
48-
* **Updated** - The most recent date when any version of this library was built
49-
and published by Chainguard.
51+
* **Updated**: The most recent date when any version of this library was built
52+
and published by Chainguard, or cached from the upstream fallback (when upstream fallback is enabled).
5053

5154
At the bottom of the page, see a total count of available libraries.
5255

53-
As a part of Chainguard Repository, [upstream fallback and policy controls](/chainguard/libraries/overview/#upstream-fallback-and-controls) are available for Chainguard Libraries and can be enabled via `chainctl` commands. For JavaScript, you can also enable upstream fallback in the Chainguard Console.
56+
#### Upstream fallback details
57+
58+
The upstream fallback is available for JavaScript, Python, and Java Libraries. The upstream fallback can be enabled or disabled using the `chainctl libraries entitlements` commands, per ecosystem. Currently, the Chainguard Console can be used to enable, disable, and view the status of the upstream fallback for JavaScript only. At the top of the JavaScript page in the Console, you can see whether [upstream fallback](/chainguard/libraries/overview/#upstream-fallback-and-controls) is enabled.
59+
60+
Learn more in the [Libraries Overview documentation](/chainguard/libraries/overview/#upstream-fallback-and-controls).
5461

5562
When fallback is configured for your organization, you will see all JavaScript packages -- including those built by Chainguard and those that are mirrored from upstream npm -- in the Console. For a given package, you can see whether it is being served from Chainguard's rebuilt artifacts or proxied from upstream npm. For Java and Python, you cannot currently view upstream vs. Chainguard-built packages via the Chainguard Console.
5663

@@ -68,10 +75,10 @@ Click into a row to view a [specific library page](#library-page).
6875
### View remediated libraries
6976

7077
[CVE remediation](/chainguard/libraries/cve-remediation/) is available for a
71-
subset of Chainguard Libraries for Python. You can view remediated libraries in
78+
subset of Chainguard Libraries for Java (available in beta) and Python. You can view remediated libraries in
7279
the Chainguard Console.
7380

74-
In the Python libraries directory, click the **Remediated** tab to view a list
81+
In the Java and Python libraries directories, click the **Remediated** tab to view a list
7582
of remediated libraries. Click into a library to see which versions have
7683
remediated CVEs.
7784

@@ -82,6 +89,27 @@ version was patched, and links to additional resources.
8289
Learn more about browsing remediations in [CVE remediation for Chainguard
8390
Libraries](/chainguard/libraries/cve-remediation/#about-cve-remediation).
8491

92+
### View malware information
93+
94+
For the JavaScript and Python ecosystems, click the **Malware** tab to learn how many packages have been blocked by Chainguard due to [malware or greyware detection](/chainguard/libraries/overview/#malware-and-greyware-detection).
95+
96+
The list at the bottom of the page displays automatically blocked packages, including the package name, blocked version(s), the date it was blocked on, its MAL ID if available, and signals detected.
97+
98+
#### Malware and greyware signals detected
99+
100+
Some signals describe confirmed malicious behavior, while others describe greyware or supply-chain risk indicators that may justify blocking even when there is no public malware advisory. Next to each blocked package, Chainguard provides the reason it was blocked when there is no public malware advisory. The detected signals fall under the following categories:
101+
102+
* **Credential and data theft**: The package harvests secrets (for example, GitHub tokens or SSH keys) and sends sensitive data out of the environment.
103+
* Signals: Accesses credentials, Data exfiltration, Contains an exposed secret
104+
* **Backdoors and malicious behavior**: The package obfuscates malicious behavior, including backdoor setup, remote access, staged payloads, and more. The code may contact known malicious infrastructure to fetch or run additional payloads.
105+
* Signals: Suspicious execution technique, Obfuscated or hidden payload, Cryptomining, Spreads to other packages (worm), Embedded binary in source, AI/LLM attack content, Suspicious network activity, Contacts known-malicious infrastructure, Linked to known malware
106+
* **Install-time script execution**: The package automatically executes malicious behavior through pre-install and post-install lifecycle scripts.
107+
* Signals: Malicious install script, Declares install scripts
108+
* **Typosquatting and impersonation**: The package is named or brand-engineered to deceive users into downloading the wrong package.
109+
* Signals: Typosquatting or impersonation, Dependency confusion
110+
* **Compromised or untrusted releases**: The package exhibits signs that a release cannot be trusted.
111+
* Signals: Signs of maintainer account compromise, No trusted provenance or signed release, Published with a legacy token (not OIDC), Release integrity anomaly, Anomalous release change, Anomalous package contents, Weak build-pipeline security, Untrusted dependency source
112+
85113
## Library page
86114

87115
To access a library page, click on the row for a specific library in the search
@@ -106,3 +134,8 @@ Click on the column titles to change the **sort** order of the list.
106134
## View repository configuration in the Chainguard Console
107135

108136
The Chainguard Console provides visibility into your repository configuration and the packages being served. When the upstream fallback is configured for your organization, you will see all packages including those built by Chainguard and those that are mirrored from upstream npm.
137+
138+
## Other resources
139+
140+
* [Chainguard Console](/platform/console/): Learn about using the Chainguard Console to browse container images.
141+
* [Libraries Overview](/chainguard/libraries/overview/): Learn about criteria for building a library, upstream fallback and policy controls, and more.

content/chainguard/libraries/overview.md

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: "Learn about Chainguard Libraries, providing enhanced security for
66
comprehensive supply chain protection."
77
type: "article"
88
date: 2025-03-25T08:04:00+00:00
9-
lastmod: 2026-08-03T14:51:58+00:00
9+
lastmod: 2026-07-30T14:25:45+00:00
1010
draft: false
1111
tags: ["Chainguard Libraries", "Overview"]
1212
menu:
@@ -188,25 +188,13 @@ on subsequent requests.
188188

189189
Chainguard's scanning evaluates multiple signal types, including:
190190

191-
* **Maintainer behavior**: Flags anomalies in publisher accounts, release
192-
history, and package metadata, checking to see if a maintainer account was
193-
recently transferred, if a version was quietly yanked and republished, or if a
194-
publish timestamp falls outside any normal window. It also monitors for
195-
changes in publishing policy, process, or toolchain as these updates can be an
196-
indicator of ownership takeover.
197-
* **Package contents**: Downloads and scans the actual package that was
198-
published for obfuscated code, embedded C2 domains, modified binaries, and
199-
other indicators that something fishy was inserted into the package before it
200-
hit the registry. It also triggers on newly added dependencies and significant
201-
changes in code or binary size.
202-
* **Publishing signals**: Compares the published package against its source
203-
code, providing extra protection for all of the packages served via
204-
Chainguard’s upstream fallback. It also monitors for items such as a release
205-
not being tagged or being signed with an unknown key. Other publish signals
206-
include force pushing a tag or a commit hash not being in the event log.
207-
* **Dynamic execution**: Runs install scripts in a sandboxed, network-blocked
208-
environment to see if there are attempts to call out to an external server,
209-
read system files, or execute hidden payloads.
191+
* **Credential and data theft**: The package harvests secrets (for example, GitHub tokens or SSH keys) and sends sensitive data out of the environment.
192+
* **Backdoors and malicious behavior**: The package obfuscates malicious behavior, including backdoor setup, remote access, staged payloads, and more. The code may contact known malicious infrastructure to fetch or run additional payloads.
193+
* **Install-time script execution**: The package automatically executes malicious behavior through pre-install and post-install lifecycle scripts.
194+
* **Typosquatting and impersonation**: The package is named or brand-engineered to deceive users into downloading the wrong package.
195+
* **Compromised or untrusted releases**: The package exhibits signs that a release cannot be trusted.
196+
197+
You can view blocked packages [in the Chainguard Console](/chainguard/libraries/browse/#view-malware-information) or [using `chainctl` commands](/chainguard/libraries/access/#check-blocked-packages).
210198

211199
#### Malware API
212200

content/platform/console/images-directory/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ aliases:
66
type: "article"
77
description: "A walkthrough of the Chainguard Console."
88
date: 2024-02-23T11:07:52+02:00
9-
lastmod: 2026-03-16T08:07:42+02:00
9+
lastmod: 2026-07-24T15:09:10+00:00
1010
draft: false
1111
tags: ["Chainguard Containers"]
1212
images: []
@@ -31,7 +31,11 @@ If you would like to open the console with your Organization already selected, y
3131
https://console.chainguard.dev/auth/login?org=ORGANIZATION
3232
```
3333

34-
## Browse container images and details in the console
34+
## Browse Chainguard Libraries in the console
35+
36+
Learn more browsing Chainguard Libraries in the console on the [Libraries Browsing page](/chainguard/libraries/browse/).
37+
38+
## Browse container images and details in the Console
3539

3640
After signing in to the [Chainguard Console](https://console.chainguard.dev), your browser will take you to the Overview page. The following screenshot shows the Overview Page for an organization that hasn't paid for access to any container images:
3741

0 commit comments

Comments
 (0)