Skip to content

Commit 8b71a4e

Browse files
Merge pull request #11 from bitbomdev/naveen/newTheme2
Redid docs
2 parents 3101d3a + 79eeeb6 commit 8b71a4e

File tree

112 files changed

+13769
-5031
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+13769
-5031
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,3 @@
1818
npm-debug.log*
1919
yarn-debug.log*
2020
yarn-error.log*
21-
22-
.idea

.idea/docs.iml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 227 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.prettierignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules
2+
/build
3+
.docusaurus
4+
.cache-loader
5+
.DS_Store
6+
.env.local
7+
.env.development.local
8+
.env.test.local
9+
.env.production.local

.prettierrc.mjs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export default {
2+
arrowParens: 'avoid',
3+
bracketSameLine: true,
4+
bracketSpacing: false,
5+
singleQuote: true,
6+
trailingComma: 'all',
7+
tabWidth: 2,
8+
useTabs: false,
9+
semi: true,
10+
printWidth: 80,
11+
};

blog/2024-10-12-Can-Minefield's-Air-Gapped-SBOM-Graph-Function-Like-Git's-Disconnected-Mode/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
slug: Air-Gapped-Vulnerability
33
title: How Minefield Enables Air-Gapped SBOM Vulnerability Graphing Like Git's Disconnected Mode
44
description: How Minefield Graphed Vulnerabilities in an Air-Gapped Environment
5-
keywords: [SBOM, dependency graphs, air-gapped, vulnerabilities]
65
authors: [BitBom]
76
tags: [air-gapped, vulnerabilities]
7+
image: "/img/blog/air-gapped-sbom-vuln-graphing-like-git-disconnected-mode/caged-floating-island.png"
88
---
99

10+
![caged-floating-island](/img/blog/air-gapped-sbom-vuln-graphing-like-git-disconnected-mode/caged-floating-island.png)
11+
1012
Graphing vulnerabilities in an air-gapped environment is considered impossible, and we did it. Here's how.
1113

1214
<!-- truncate -->
@@ -34,6 +36,7 @@ Minefield's speed and efficiency come from using Roaring Bitmaps and a direct no
3436
**Caching with Pre-Computed Queries:** Minefield caches dependents and dependencies to enhance performance, allowing for O(1) query times. This is critical for maintaining speed in an air-gapped environment.
3537

3638
[![](https://mermaid.ink/img/pako:eNptkTtvhDAMx79K5PlQd4ZKPK6o0tEbaG8odDAXA5EgQXkM1em-e0NoBWrryf7b-cWPG1wVJ4ih1zgP7DVvJPNmXLsKb4b0Ki2W1Ofqwjha_NjEtK7Sc2m-FZL8F6KBROiowHkmzkohqRM08gY2QlY_y56MZbknP1zcKEljK0ZhBRnWaTWFPnZ_ZiyKHllenxRyJqRV4WmLhnZFm3esi9DKH7TS7MXPb3av8oA-_osJqae6oIViiZ0IOelWoeb78Vc3CdXZGqQ_ARxgIj2h4H7ptyXZgB1oogZi73Lq0I122c7dl6KzqvqUV4itdnQAN_vlUy7Qr3aCuMPReHVG-a7UFhMXVulyPWy47wG0cv2wYu5f4KWXlw?type=png)](https://mermaid.live/edit#pako:eNptkTtvhDAMx79K5PlQd4ZKPK6o0tEbaG8odDAXA5EgQXkM1em-e0NoBWrryf7b-cWPG1wVJ4ih1zgP7DVvJPNmXLsKb4b0Ki2W1Ofqwjha_NjEtK7Sc2m-FZL8F6KBROiowHkmzkohqRM08gY2QlY_y56MZbknP1zcKEljK0ZhBRnWaTWFPnZ_ZiyKHllenxRyJqRV4WmLhnZFm3esi9DKH7TS7MXPb3av8oA-_osJqae6oIViiZ0IOelWoeb78Vc3CdXZGqQ_ARxgIj2h4H7ptyXZgB1oogZi73Lq0I122c7dl6KzqvqUV4itdnQAN_vlUy7Qr3aCuMPReHVG-a7UFhMXVulyPWy47wG0cv2wYu5f4KWXlw)
39+
3740
Minefield takes a user-centric approach to vulnerability ingestion, allowing users to process data without Minefield relying on external databases, much like how Git operates offline with local repositories.
3841

3942
Minefield's graphing capabilities are highly optimized for performance, ensuring it can quickly handle complex vulnerability data, even in an air-gapped setup. The data must conform to the OSV (Open Source Vulnerability) schema, a widely recognized standard that promotes consistency and reliability across different data sources.
@@ -83,4 +86,3 @@ By focusing on an air-gapped design, Minefield offers Git-like control over vuln
8386
With evolving security threats, Minefield offers a reliable solution for managing vulnerabilities in air-gapped environments. It's perfect for organizations needing strong security and complete data control.
8487

8588
To learn more about how we ingest vulnerabilities offline and to get a more hands-on experience, visit our [GitHub repository](https://github.com/bitbomdev/minefield) to get started.
86-

blog/2024-10-25-Isolating-and-Fixing-Vulnerabilities-in-an-Air-Gapped-Environment/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
slug: isolating-and-fixing-vulnerabilities-in-an-air-gapped-environment
33
title: Isolating and Fixing Vulnerabilities in an Air-Gapped Environment
44
description: How we isolated and fixed vulnerabilities in an air-gapped environment
5-
keywords: [SBOM, dependency graphs, air-gapped, vulnerabilities]
65
authors: [BitBom]
76
tags: [air-gapped, vulnerabilities]
7+
image: "/img/blog/air-gapped-vulnerabilities/air-gapped-vulnerabilities.png"
88
---
99

10+
![caged-floating-island](/img/blog/air-gapped-vulnerabilities/air-gapped-vulnerabilities.png)
11+
1012
Isolating and Identifying Critical Vulnerabilities in under 5 minutes (coffee break ;))
1113

1214
<!-- truncate -->
@@ -135,4 +137,4 @@ Minefield uses fast, roaring bitmaps and flexible bitwise ops. It opens new ways
135137

136138
---
137139

138-
Ready to unleash the power of Minefield in your projects? Our docs explain how bitwise queries can improve your security and dependency management.
140+
Ready to unleash the power of Minefield in your projects? Our docs explain how bitwise queries can improve your security and dependency management.

blog/2024-9-12-Using-Participle/index.md renamed to blog/2024-9-12-using-participle/index.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
slug: using-participle
33
title: Why We Use Participle?
44
description: Learn why we chose Participle and Roaring Bitmaps over GraphQL for our project.
5-
keywords: [Participle, Roaring Bitmaps, GraphQL, SBOM, dependency graphs]
6-
authors: [NeilNaveen, NaveenSrinivasan]
7-
tags: [participle, roaring bitmaps]
5+
authors: [ NeilNaveen, NaveenSrinivasan ]
6+
tags: [ Participle, Roaring Bitmaps, GraphQL, SBOM, dependency graphs, Minefield ]
7+
image: "/img/blog/using-participle/participle-graph.png"
88
---
99

10+
![caged-floating-island](/img/blog/using-participle/participle-graph.png)
11+
1012
We chose Participle and Roaring Bitmaps over GraphQL. Here's why.
1113

1214
<!-- truncate -->
@@ -130,4 +132,3 @@ GraphQL is an incredibly useful tool for many use cases, but it wasn’t the rig
130132
The takeaway? Always choose the right tool for the problem you’re solving. When you need something more tailored, building a custom solution can save you a lot of headaches down the road—especially when working with large, complex datasets.
131133
132134
If you’re interested in digging deeper into how we built Minefield’s custom DSL or have your own experiences with dependency analysis, check out our [GitHub repository](https://github.com/bitbomdev/minefield) and let us know what you think!
133-

blog/tags.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.

custom-blog-plugin.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import * as blogPluginExports from '@docusaurus/plugin-content-blog';
2+
3+
const defaultBlogPlugin = blogPluginExports.default;
4+
5+
async function blogPluginExtended(...pluginArgs) {
6+
const blogPluginInstance = await defaultBlogPlugin(...pluginArgs);
7+
8+
const pluginOptions = pluginArgs[1];
9+
10+
return {
11+
...blogPluginInstance,
12+
contentLoaded: async function (params) {
13+
const {content, actions} = params;
14+
15+
const recentPostsLimit = 3;
16+
const recentPosts = [...content.blogPosts].splice(0, recentPostsLimit);
17+
18+
async function createRecentPostModule(blogPost, index) {
19+
return {
20+
metadata: await actions.createData(
21+
`home-page-recent-post-metadata-${index}.json`,
22+
JSON.stringify({
23+
title: blogPost.metadata.title,
24+
description: blogPost.metadata.description,
25+
frontMatter: blogPost.metadata.frontMatter,
26+
}),
27+
),
28+
29+
Preview: {
30+
__import: true,
31+
path: blogPost.metadata.source,
32+
query: {
33+
truncated: true,
34+
},
35+
},
36+
};
37+
}
38+
39+
actions.addRoute({
40+
path: '/',
41+
exact: true,
42+
43+
component: '@site/src/components/Home/index.tsx',
44+
45+
modules: {
46+
homePageBlogMetadata: await actions.createData(
47+
'home-page-blog-metadata.json',
48+
JSON.stringify({
49+
blogTitle: pluginOptions.blogTitle,
50+
blogDescription: pluginOptions.blogDescription,
51+
totalPosts: content.blogPosts.length,
52+
totalRecentPosts: recentPosts.length,
53+
}),
54+
),
55+
recentPosts: await Promise.all(
56+
recentPosts.map(createRecentPostModule),
57+
),
58+
},
59+
});
60+
61+
return blogPluginInstance.contentLoaded(params);
62+
},
63+
};
64+
}
65+
66+
module.exports = {
67+
...blogPluginExports,
68+
default: blogPluginExtended,
69+
};

demos/01_startup.mdx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: Starting up Minefield
3+
slug: starting-up-minefield
4+
description: 'Learn how to start up Minefield'
5+
authors: [ bitbomdev ]
6+
tags: [ starting-up-minefield ]
7+
---
8+
9+
import Tabs from '@theme/Tabs';
10+
import TabItem from '@theme/TabItem';
11+
import Install from '../src/partials/_installMinefield.mdx';
12+
import InstallScorecardCollector from '../src/partials/_installScorecardCollector.mdx';
13+
14+
# Starting up Minefield
15+
16+
Learn how to install [Minefield](https://github.com/bitbomdev/minefield)
17+
18+
## Installation
19+
20+
The installation consists of two main components:
21+
- **Minefield**: The core engine that graphs and analyzes Software Bill of Materials (SBOM) data
22+
- **Scorecard Downloader**: A tool to fetch OpenSSF Scorecard data for GitHub repositories (optional)
23+
24+
## Installing Minefield
25+
26+
<Install/>
27+
28+
## Installing Scorecard Downloader (Optional)
29+
30+
The Scorecard Downloader helps fetch security metrics data that can be ingested into Minefield. You can skip this step if you have your own data source.
31+
32+
<InstallScorecardCollector/>

0 commit comments

Comments
 (0)