- Select Package Firewall from the left sidebar.
-
Select an event to view the package name, when the event occurred, and the following details:
- Request details: The request type and request URL, and who made the request: user attribution, API key, and remote address.
- Action: The action taken and the reason the event was flagged. The reason shows the policy setting that applied at that time, such as the minimum package age, the CVSS severity threshold, or the restricted license that matched. Older events show only the reason.
- Log raw data: The full log entry in JSON format.
<user>@<machine>by default. The label is free-form, so each deployment reports whatever value it sets. See User attribution to learn more. For malware events, you can also view the following details:- Malware risk details: Explanation of why the package was flagged, the reasoning behind it, and remediation guidance.
- Malware metadata: Package release date, advisory published date, CWE ID, and OSV ID when available.
- Actual package age: How old the package version was when the request was made, in hours.
- Eligible by: The date and time when the package version becomes old enough to pass your minimum package age policy. Requests for this version after this time are not blocked for package age.
For curated events, you can also view the list of unsafe versions that were blocked, each labeled with its reason for blocking, either malware or minimum package age. Versions blocked for minimum package age also show the package age, the minimum age, and the date when the version becomes eligible. See Allow safe versions to learn more.

For VS Code extensions, the Package Firewall records only malware and minimum package age events.
Filter Package Firewall logs
Use filters to narrow Package Firewall logs by ecosystem, action, rule reason, or time.- Select Package Firewall from the left sidebar.
- Toggle the filter panel to show the filters.
-
Set any of the following filters to narrow the log list.
- Ecosystem - Filter logs by their package ecosystem.
- Action: Filter logs by the action taken on the package installation, either Warning, Blocked, or Allowed safe versions.
- Reason: Filter logs by why the package was flagged, which can be Malware, Minimum Package Age, Restricted License, Vulnerability, Curated, or Package not evaluated.
- All Time - Filter logs by when the event was recorded. You can select All Time, Last Day, Last Week, Last Month, Last 60 Days, Last 90 Days, or a custom range.
endorctl. See Query Package Firewall logs using endorctl.
Query Package Firewall logs using endorctl
The Package Firewall logs record every action the firewall takes on package installation requests. You can view them by querying theendorctl API.
-
To list all Package Firewall logs in your namespace, run the following command. Replace
<namespace>with your namespace. -
To list logs only for a specific ecosystem, add a filter.
Replace:
<ecosystem_variable>withECOSYSTEM_NPMfor npm,ECOSYSTEM_PYPIfor PyPI,ECOSYSTEM_GOfor Go,ECOSYSTEM_MAVENfor Maven,ECOSYSTEM_NUGETfor NuGet,ECOSYSTEM_GEMfor RubyGems, andECOSYSTEM_VSCODEfor VS Code.<namespace>with your namespace.
-
To list logs for a specific package in an ecosystem, use a filter with
spec.ecosystem,spec.package_name, andspec.package_version.Replace:<namespace>with your namespace.<ecosystem_variable>withECOSYSTEM_NPMfor npm,ECOSYSTEM_PYPIfor PyPI,ECOSYSTEM_GOfor Go,ECOSYSTEM_MAVENfor Maven,ECOSYSTEM_NUGETfor NuGet,ECOSYSTEM_GEMfor RubyGems, andECOSYSTEM_VSCODEfor VS Code.<package_name>with the package name you want to query.<package_version>with the package version you want to query.
-
To list logs attributed to a specific developer, use a filter with
spec.user.Replace:<namespace>with your namespace.<attributed-user>with the exact attribution label you want to query, such as<user>@<machine>from the MDM scripts or an email address from a JFrog worker.
-
To count events for each attributed user, group logs by
spec.user. Replace<namespace>with your namespace.
The API key created with
SYSTEM_ROLE_PACKAGE_FIREWALL routes traffic through the Package Firewall. It does not grant access to the Package Firewall Log API.To query logs, create an API key with at least the Read-only role. For more information about roles and permissions, see Authorization roles.