
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
docker-scan
Advanced tools
This is a library to scan for docker images in a defined directory and associate them to (nested) groups 🔥.
Table of Contents
npm install docker-scan --save
An image is in most cases represented by a Dockerfile in a directory. In some cases
the image is also described with some meta information by an image descriptor file (image.json). But the descriptor file can also be
a replacement for the Dockerfile.
The scan result object has the following 5 base properties:
id
The Identifier is a way to identify the image beside the name property.
name
Like already mentioned in th description for the id property.
groupId
The groupId is the directory name of the last group, if not otherwise specified with the id property in an image-group.json file.
path
The path is the relative path on the host machine, with different path separators (windows: \\, linux: /)
depending on the operating system.
virtualPath
The virtualPath is a path only containing group ids and the own image id, seperated with /.
These properties can be extended by providing a image.json file in
the same directory as the Dockerfile.
A group has the same base properties as an image, expect of the groupId property. The only other difference
is, that the descriptor file must be named image-group.json.
To demonstrate the usage of the package, the test data directory path (test/data) is used as scan path,
to simplify how to replicate the code example and use it for an own use cases.
import {scanDirectory} from "docker-scan";
(async () => {
// Provide a base directory path to scan
const directoryPath = 'test/data';
const scanResult = scanDirectory(directoryPath);
console.log(scanResult);
});
Output
{
"images": [
{
"id": "image",
"name": "Cool image",
"groupId": "group",
"path": "group\\image",
"virtualPath": "group/image"
},
{
"id": "meta-id",
"name": "MetaId",
"groupId": "sub-sub-group",
"path": "group\\undefined\\sub-sub-group\\image",
"virtualPath": "group/sub-sub-group/meta-id"
},
{
"id": "image",
"name": "image",
"groupId": null,
"path": "image",
"virtualPath": "image"
}
],
"groups": [
{
"name": "Group",
"license": "MIT",
"id": "group",
"virtualPath": "group",
"path": "group"
},
{
"name": "SubGroup",
"id": "sub-group",
"virtualPath": "group/sub-group",
"path": "group\\sub-group"
},
{
"name": "SubSubGroup",
"id": "sub-sub-group",
"virtualPath": "group/sub-sub-group",
"path": "group\\undefined\\sub-sub-group"
}
]
}
The above output was captured on a Windows machine. Therefore, the path values are seperated with \\ instead
of a / like on a linux machine.
FAQs
Scan filesystem directory for Dockerfiles and create metadata output.
We found that docker-scan demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.