jekyll-secinfo 0.1.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rspec +1 -1
- data/README.md +66 -17
- data/jekyll-secinfo.gemspec +0 -1
- data/lib/jekyll-secinfo/config.rb +108 -24
- data/lib/jekyll-secinfo/cve.rb +4 -4
- data/lib/jekyll-secinfo/cwe.rb +63 -0
- data/lib/jekyll-secinfo/divd.rb +64 -0
- data/lib/jekyll-secinfo/logger.rb +3 -7
- data/lib/jekyll-secinfo/version.rb +1 -1
- data/lib/jekyll-secinfo.rb +2 -0
- metadata +5 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00760bb3e57e86281242eaa873a1b3951214d6a4a846ef8070c636a75def407d
|
4
|
+
data.tar.gz: d23874cd8f9b97fb43c445a5e441db42a827bb0aaf2dfc77c790b6239bf6f445
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6c9062e2dee6288c7f311ec0c49344c18561ed2763eb7650f430b216a3e0716c76aebc77a4a820c2bc161e8bfb973a2ca8b0c63db5d950432fec6a9079aea1b
|
7
|
+
data.tar.gz: 6aae313ff7251536886c117901402ef3adac29ad508816142fd0d9663daec265d4be5ead74aa7af35c95b6ab6ab7b5f61a7f75203cd1817563bc493b46cdeb27
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Jekyll Secinfo
|
2
2
|
|
3
|
-
This Jekyll pluging provides a tag and filter that turns references to security related info (
|
3
|
+
This Jekyll pluging provides a tag and filter that turns references to security related info (CVEs, CWEs and DIVD case numbers) into clickable links.
|
4
|
+
|
5
|
+
|
6
|
+
[](https://circleci.com/gh/MrSeccubus/jekyll-secinfo)
|
7
|
+
[](https://codeclimate.com/github/codeclimate/codeclimate/maintainability)
|
8
|
+
[](https://codeclimate.com/github/codeclimate/codeclimate/test_coverage)
|
9
|
+
[](https://github.com/MrSeccubus/jekyll-secinfo/blob/main/LICENSE.txt)
|
10
|
+
[](https://rubygems.org/gems/jekyll-secinfo)
|
4
11
|
|
5
12
|
## Installation
|
6
13
|
|
@@ -30,18 +37,29 @@ plugins:
|
|
30
37
|
|
31
38
|
## Usage
|
32
39
|
|
33
|
-
As a tag `{% cve CVE-2019-19781 %}` or as a filter `{{ "cve-2019-19781" | cve }}`
|
40
|
+
As a tag `{% cve CVE-2019-19781 %}` / `{% cwe CWE-78 %}` / `{% divd DIVD-2020-00001 %}` or as a filter `{{ "cve-2019-19781" | cve }}` / `{{ "cwe-787" | cwe }}` / `{{ "divd-2020-0001" | divd }}`
|
34
41
|
|
35
|
-
For
|
36
|
-
* Full CVE in lower or upper case e.g. `CVE-2019-19781`
|
37
|
-
* Just the number e.g. `2019-19781`
|
42
|
+
For CVEs, CWEs and DIVD cas number filters an tags multiple formats are accepted:
|
43
|
+
* Full CVE in lower or upper case e.g. `CVE-2019-19781`, `CVE-787`, `DIVD-2020-00001`, `cve-2019-19781`, `cve-787` or `divd-2020-00001`
|
44
|
+
* Just the number e.g. `2019-19781`, `787` or `2020-00001`
|
38
45
|
|
39
46
|
## Result
|
40
47
|
|
41
48
|
By default the plugin will output the following code
|
42
49
|
|
50
|
+
CVEs
|
51
|
+
```markup
|
52
|
+
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19781" class="cve secinfo">CVE-2019-19781</a>
|
53
|
+
```
|
54
|
+
|
55
|
+
CWEs
|
56
|
+
```markup
|
57
|
+
<a href="https://cwe.mitre.org/data/definitions/787.html" class="cwe secinfo">
|
58
|
+
```
|
59
|
+
|
60
|
+
DIVD case
|
43
61
|
```markup
|
44
|
-
<a href="https://
|
62
|
+
<a href="https://csirt.divd.nl/DIVD-2020-00001" class="divd secinfo">DIVD-2020-00001</a>
|
45
63
|
```
|
46
64
|
|
47
65
|
## Configuration
|
@@ -51,30 +69,53 @@ The behaviour of this plugin can be configured in `_config.yml`
|
|
51
69
|
```yml
|
52
70
|
jekyll-secinfo:
|
53
71
|
cve:
|
54
|
-
|
55
|
-
|
72
|
+
style: mitre # Supported styles are mitre, nvd and cvedetails
|
73
|
+
url: # Style is ignored if a custom URL is defined.
|
74
|
+
cwe
|
75
|
+
style: mitre # Supported styles are mitre and cvedetails
|
76
|
+
url: # Style is ignored if a custom URL is defined.
|
77
|
+
divd:
|
78
|
+
url: # Custom URL for DIVD cases.
|
56
79
|
```
|
57
80
|
|
58
81
|
You can also put these values in the front matter of a page to override the values in `_config.yml` for a specific page.
|
59
82
|
|
60
83
|
### Styles
|
61
84
|
|
62
|
-
For
|
85
|
+
For CVEs and CWEs the style influences the way a tag or filter is rendered. This is how the following input will be rendered in different styles
|
63
86
|
|
64
|
-
|
87
|
+
input as tags
|
65
88
|
```markup
|
66
|
-
|
89
|
+
CVE: {% cve CVE-2019-19781 %}
|
90
|
+
CWE: {% cwe CWE-79 %}
|
67
91
|
```
|
68
92
|
|
69
|
-
|
93
|
+
input with filters:
|
94
|
+
```markup
|
95
|
+
CVE: {{ "CVE-2019-19781" | cve }}
|
96
|
+
CWE: {{ "cwe-79" | cwe }}
|
97
|
+
```
|
98
|
+
|
99
|
+
|
100
|
+
Mitre
|
101
|
+
```markup
|
102
|
+
CVE: <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19781" class="cve secinfo">CVE-2019-19781</a>
|
103
|
+
CWE: <a href="https://cwe.mitre.org/data/definitions/79.html" class="cwe secinfo">CWE-79</a>
|
104
|
+
```
|
105
|
+
|
106
|
+
|
107
|
+
CVE details
|
70
108
|
```markup
|
71
|
-
<a href="https://
|
109
|
+
CVE: <a href="https://www.cvedetails.com/cve/CVE-2019-19781/" class="cve secinfo">CVE-2019-19781</a>
|
110
|
+
CWE: <a href="https://www.cvedetails.com/cwe-details/79" class="cwe secinfo">CWE-79</a>
|
72
111
|
```
|
73
112
|
|
74
|
-
|
113
|
+
NVD
|
75
114
|
```markup
|
76
|
-
<a href="https://
|
115
|
+
CVE: <a href="https://nvd.nist.gov/vuln/detail/CVE-2019-19781" class="cve secinfo">CVE-2019-19781</a>
|
116
|
+
CWE: <a href="https://cwe.mitre.org/data/definitions/79.html" class="cwe secinfo">CWE-79</a>
|
77
117
|
```
|
118
|
+
(Since CWE doesn;t support the style `nvd` it falls back tot he default `mitre` style)
|
78
119
|
|
79
120
|
### Using your own URL
|
80
121
|
|
@@ -84,12 +125,20 @@ You can specify a custom URL to be used as well. If the url includes `%s` this w
|
|
84
125
|
jekyll-secinfo:
|
85
126
|
cve:
|
86
127
|
url: http://localhost:4500/CVE-%s.html
|
128
|
+
cwe:
|
129
|
+
url: http://localhost:4500/CWE-
|
130
|
+
divd:
|
131
|
+
url: https://localhost:4000/cases/DIVD-
|
87
132
|
---
|
88
133
|
{% cve 1999-9999 %}
|
134
|
+
{% cve 79 %}
|
135
|
+
{{ "2020-00001" | divd }}
|
89
136
|
```
|
90
137
|
|
91
|
-
Will reneder as
|
138
|
+
Will reneder as:
|
92
139
|
```markup
|
93
|
-
<p><a href="http://localhost:4500/CVE-1999-99999.html" class="cve">CVE-1999-99999</a
|
140
|
+
<p><a href="http://localhost:4500/CVE-1999-99999.html" class="cve secinfo">CVE-1999-99999</a>
|
141
|
+
<a href="http://localhost:4500/CWE-79" class="cwe secinfo">CVE-1999-99999</a>
|
142
|
+
<a href="https://localhost:4000/cases/DIVD-2020-00001" class="divd secinfo">DIVD-2020-00001</a></p>
|
94
143
|
```
|
95
144
|
|
data/jekyll-secinfo.gemspec
CHANGED
@@ -4,43 +4,127 @@
|
|
4
4
|
require "jekyll-secinfo/logger"
|
5
5
|
|
6
6
|
CONFIG_NAME = 'jekyll-secinfo'
|
7
|
-
DEFAULT_CONFIG = {
|
8
|
-
CONFIG_NAME => {
|
9
|
-
"cve" => {
|
10
|
-
"style" => "mitre"
|
11
|
-
}
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
7
|
|
16
8
|
module Jekyll::Secinfo
|
17
9
|
class Config
|
18
|
-
|
10
|
+
|
19
11
|
def self.get(site_config, page)
|
20
|
-
config =
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
12
|
+
config = {
|
13
|
+
"cve" => {},
|
14
|
+
"cwe" => {},
|
15
|
+
"divd" => {}
|
16
|
+
}
|
17
|
+
|
18
|
+
# CVE
|
19
|
+
|
20
|
+
if site_config && site_config.key?(CONFIG_NAME)
|
21
|
+
#config["site"] = site_config[CONFIG_NAME]
|
22
|
+
if site_config[CONFIG_NAME].key?("cve") && site_config[CONFIG_NAME]["cve"]
|
23
|
+
if site_config[CONFIG_NAME]["cve"].key?("style") && site_config[CONFIG_NAME]["cve"]["style"]
|
24
|
+
config["cve"]["style"] = site_config[CONFIG_NAME]["cve"]["style"]
|
25
|
+
end
|
26
|
+
if site_config[CONFIG_NAME]["cve"].key?("url") && site_config[CONFIG_NAME]["cve"]["url"]
|
27
|
+
config["cve"]["url"] = site_config[CONFIG_NAME]["cve"]["url"]
|
28
|
+
end
|
29
|
+
end
|
27
30
|
end
|
28
31
|
|
29
|
-
if
|
30
|
-
|
32
|
+
if page.key?(CONFIG_NAME) && page[CONFIG_NAME]
|
33
|
+
if page[CONFIG_NAME].key?("cve") && page[CONFIG_NAME]["cve"]
|
34
|
+
if page[CONFIG_NAME]["cve"].key?("style") && page[CONFIG_NAME]["cve"]["style"]
|
35
|
+
config["cve"]["style"]=page[CONFIG_NAME]["cve"]["style"]
|
36
|
+
config["cve"].delete("url")
|
37
|
+
end
|
38
|
+
if page[CONFIG_NAME]["cve"].key?("url") && page[CONFIG_NAME]["cve"]["url"]
|
39
|
+
config["cve"]["url"]=page[CONFIG_NAME]["cve"]["url"]
|
40
|
+
config["cve"].delete("style")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
if not config["cve"]["url"]
|
46
|
+
case config["cve"]["style"]
|
31
47
|
when "mitre"
|
32
|
-
config[
|
48
|
+
config["cve"]["url"] = "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-"
|
33
49
|
when "cvedetails"
|
34
|
-
config[
|
50
|
+
config["cve"]["url"] = "https://www.cvedetails.com/cve/CVE-%s/"
|
35
51
|
when "nvd"
|
36
|
-
config[
|
52
|
+
config["cve"]["url"] = "https://nvd.nist.gov/vuln/detail/CVE-"
|
53
|
+
else
|
54
|
+
# Unknown CVE style using 'mitre'-style instead
|
55
|
+
config["cve"]["url"] = "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# CWE
|
60
|
+
|
61
|
+
if site_config && site_config.key?(CONFIG_NAME)
|
62
|
+
if site_config[CONFIG_NAME].key?("cwe") && site_config[CONFIG_NAME]["cwe"]
|
63
|
+
if site_config[CONFIG_NAME]["cwe"].key?("style") && site_config[CONFIG_NAME]["cwe"]["style"]
|
64
|
+
config["cwe"]["style"] = site_config[CONFIG_NAME]["cwe"]["style"]
|
65
|
+
end
|
66
|
+
if site_config[CONFIG_NAME]["cwe"].key?("url") && site_config[CONFIG_NAME]["cwe"]["url"]
|
67
|
+
config["cwe"]["url"] = site_config[CONFIG_NAME]["cwe"]["url"]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
if page.key?(CONFIG_NAME) && page[CONFIG_NAME]
|
73
|
+
if page[CONFIG_NAME].key?("cwe") && page[CONFIG_NAME]["cwe"]
|
74
|
+
if page[CONFIG_NAME]["cwe"].key?("style") && page[CONFIG_NAME]["cwe"]["style"]
|
75
|
+
config["cwe"]["style"]=page[CONFIG_NAME]["cwe"]["style"]
|
76
|
+
config["cwe"].delete("url")
|
77
|
+
end
|
78
|
+
if page[CONFIG_NAME]["cwe"].key?("url") && page[CONFIG_NAME]["cwe"]["url"]
|
79
|
+
config["cwe"]["url"]=page[CONFIG_NAME]["cwe"]["url"]
|
80
|
+
config["cwe"].delete("style")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
if not config["cwe"]["url"]
|
86
|
+
case config["cwe"]["style"]
|
87
|
+
when "mitre", "nvd"
|
88
|
+
config["cwe"]["url"] = "https://cwe.mitre.org/data/definitions/%s.html"
|
89
|
+
when "cvedetails"
|
90
|
+
config["cwe"]["url"] = "https://www.cvedetails.com/cwe-details/"
|
37
91
|
else
|
38
|
-
# Unknown
|
39
|
-
config[
|
92
|
+
# Unknown CWE style using 'mitre'-style instead
|
93
|
+
config["cwe"]["url"] = "https://cwe.mitre.org/data/definitions/%s.html"
|
40
94
|
end
|
41
95
|
end
|
42
96
|
|
43
|
-
|
97
|
+
# DIVD
|
98
|
+
|
99
|
+
if site_config && site_config.key?(CONFIG_NAME)
|
100
|
+
if site_config[CONFIG_NAME].key?("divd") && site_config[CONFIG_NAME]["divd"]
|
101
|
+
if site_config[CONFIG_NAME]["divd"].key?("url") && site_config[CONFIG_NAME]["divd"]["url"]
|
102
|
+
config["divd"]["url"] = site_config[CONFIG_NAME]["divd"]["url"]
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
if page.key?(CONFIG_NAME) && page[CONFIG_NAME]
|
108
|
+
if page[CONFIG_NAME].key?("divd")
|
109
|
+
if page[CONFIG_NAME]["divd"]
|
110
|
+
if page[CONFIG_NAME]["divd"].key?("url")
|
111
|
+
if page[CONFIG_NAME]["divd"]["url"]
|
112
|
+
config["divd"]["url"]=page[CONFIG_NAME]["divd"]["url"]
|
113
|
+
else
|
114
|
+
config["divd"].delete("url")
|
115
|
+
end
|
116
|
+
end
|
117
|
+
else
|
118
|
+
config["divd"] = {}
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
if not config["divd"]["url"]
|
124
|
+
config["divd"]["url"] = "https://csirt.divd.nl/DIVD-"
|
125
|
+
end
|
126
|
+
|
127
|
+
return config
|
44
128
|
end #get_config
|
45
129
|
|
46
130
|
end #Config
|
data/lib/jekyll-secinfo/cve.rb
CHANGED
@@ -9,7 +9,7 @@ require "jekyll-secinfo/config"
|
|
9
9
|
module Jekyll::Secinfo
|
10
10
|
class Cve
|
11
11
|
|
12
|
-
def self.
|
12
|
+
def self.to_link(text, site, page)
|
13
13
|
#Logger.log(context)
|
14
14
|
config = Jekyll::Secinfo::Config.get(site, page)
|
15
15
|
m = text.match(/^(CVE-|cve-)?(\d{4}-\d{4,})/) # See https://cve.mitre.org/cve/identifiers/syntaxchange.html
|
@@ -19,7 +19,7 @@ module Jekyll::Secinfo
|
|
19
19
|
else
|
20
20
|
url="#{config["cve"]["url"]}#{m[2]}"
|
21
21
|
end
|
22
|
-
return "<a href='#{url}' class='cve'>CVE-#{m[2]}</a>"
|
22
|
+
return "<a href='#{url}' class='cve secinfo'>CVE-#{m[2]}</a>"
|
23
23
|
else
|
24
24
|
return nil
|
25
25
|
end
|
@@ -35,7 +35,7 @@ module Jekyll::Secinfo
|
|
35
35
|
|
36
36
|
def render(context)
|
37
37
|
cve_text = @text.strip
|
38
|
-
out = Cve.
|
38
|
+
out = Cve.to_link(cve_text, context["site"], context["page"])
|
39
39
|
return out if out
|
40
40
|
return @text
|
41
41
|
end
|
@@ -45,7 +45,7 @@ module Jekyll::Secinfo
|
|
45
45
|
module CveFilter
|
46
46
|
def cve(cvetxt, niets = nil)
|
47
47
|
if cvetxt
|
48
|
-
link = Cve.
|
48
|
+
link = Cve.to_link(cvetxt, @context.registers[:site].config, @context.registers[:page])
|
49
49
|
if link
|
50
50
|
return link
|
51
51
|
else
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# External
|
2
|
+
require "jekyll"
|
3
|
+
require "jekyll-secinfo/version"
|
4
|
+
|
5
|
+
# Support
|
6
|
+
require "jekyll-secinfo/logger"
|
7
|
+
require "jekyll-secinfo/config"
|
8
|
+
|
9
|
+
module Jekyll::Secinfo
|
10
|
+
class Cwe
|
11
|
+
|
12
|
+
def self.to_link(text, site, page)
|
13
|
+
#Logger.log(context)
|
14
|
+
config = Jekyll::Secinfo::Config.get(site, page)
|
15
|
+
m = text.match(/^(CWE-|cwe-)?(\d+)/)
|
16
|
+
if m
|
17
|
+
if config["cwe"]["url"] =~ /\%s/
|
18
|
+
url=config["cwe"]["url"] % m[2]
|
19
|
+
else
|
20
|
+
url="#{config["cwe"]["url"]}#{m[2]}"
|
21
|
+
end
|
22
|
+
return "<a href='#{url}' class='cwe secinfo'>CWE-#{m[2]}</a>"
|
23
|
+
else
|
24
|
+
return nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class CweTag < Liquid::Tag
|
30
|
+
|
31
|
+
def initialize(tagName, text, tokens)
|
32
|
+
super
|
33
|
+
@text = text
|
34
|
+
end
|
35
|
+
|
36
|
+
def render(context)
|
37
|
+
cwe_text = @text.strip
|
38
|
+
out = Cwe.to_link(cwe_text, context["site"], context["page"])
|
39
|
+
return out if out
|
40
|
+
return @text
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
module CweFilter
|
46
|
+
def cwe(cwetxt, niets = nil)
|
47
|
+
if cwetxt
|
48
|
+
link = Cwe.to_link(cwetxt, @context.registers[:site].config, @context.registers[:page])
|
49
|
+
if link
|
50
|
+
return link
|
51
|
+
else
|
52
|
+
return cwetxt
|
53
|
+
end
|
54
|
+
else
|
55
|
+
return ""
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
Liquid::Template.register_tag("cwe", Jekyll::Secinfo::CweTag)
|
61
|
+
Liquid::Template.register_filter(CweFilter)
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# External
|
2
|
+
require "jekyll"
|
3
|
+
require "jekyll-secinfo/version"
|
4
|
+
|
5
|
+
# Support
|
6
|
+
require "jekyll-secinfo/logger"
|
7
|
+
require "jekyll-secinfo/config"
|
8
|
+
|
9
|
+
module Jekyll::Secinfo
|
10
|
+
class Divd
|
11
|
+
|
12
|
+
def self.to_link(text, site, page)
|
13
|
+
#Logger.log(context)
|
14
|
+
config = Jekyll::Secinfo::Config.get(site, page)
|
15
|
+
|
16
|
+
m = text.match(/^(DIVD-|divd-)?(\d{4}\-\d+)/)
|
17
|
+
if m
|
18
|
+
if config["divd"]["url"] =~ /\%s/
|
19
|
+
url=config["divd"]["url"] % m[2]
|
20
|
+
else
|
21
|
+
url="#{config["divd"]["url"]}#{m[2]}"
|
22
|
+
end
|
23
|
+
return "<a href='#{url}' class='divd secinfo'>DIVD-#{m[2]}</a>"
|
24
|
+
else
|
25
|
+
return nil
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class DivdTag < Liquid::Tag
|
31
|
+
|
32
|
+
def initialize(tagName, text, tokens)
|
33
|
+
super
|
34
|
+
@text = text
|
35
|
+
end
|
36
|
+
|
37
|
+
def render(context)
|
38
|
+
divd_text = @text.strip
|
39
|
+
out = Divd.to_link(divd_text, context["site"], context["page"])
|
40
|
+
return out if out
|
41
|
+
return @text
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
module DivdFilter
|
47
|
+
def divd(divdtxt, niets = nil)
|
48
|
+
if divdtxt
|
49
|
+
link = Divd.to_link(divdtxt, @context.registers[:site].config, @context.registers[:page])
|
50
|
+
if link
|
51
|
+
return link
|
52
|
+
else
|
53
|
+
return divdtxt
|
54
|
+
end
|
55
|
+
else
|
56
|
+
return ""
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
Liquid::Template.register_tag("divd", Jekyll::Secinfo::DivdTag)
|
62
|
+
Liquid::Template.register_filter(DivdFilter)
|
63
|
+
|
64
|
+
end
|
@@ -1,10 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'jekyll-secinfo/version'
|
4
|
-
require 'rainbow/refinement'
|
5
|
-
|
6
|
-
using Rainbow
|
7
|
-
|
8
4
|
|
9
5
|
module Jekyll::Secinfo
|
10
6
|
class Logger
|
@@ -15,14 +11,14 @@ module Jekyll::Secinfo
|
|
15
11
|
def self.display_info
|
16
12
|
self.log "Jekyll-Secinfo #{Jekyll::Secinfo::VERSION}"
|
17
13
|
self.log 'A Jekyll plugin to provide clickability to security info like CVEs and CWEs.'
|
18
|
-
self.log 'https://github.com/MrSeccubus/jekyll-secinfo'
|
14
|
+
self.log 'https://github.com/MrSeccubus/jekyll-secinfo'
|
19
15
|
end
|
20
16
|
|
21
17
|
def self.log(content)
|
22
18
|
if (content.is_a? String)
|
23
|
-
self.output 'Jekyll Secinfo', content
|
19
|
+
self.output 'Jekyll Secinfo', content
|
24
20
|
else
|
25
|
-
self.output 'Jekyll Secinfo', content.inspect
|
21
|
+
self.output 'Jekyll Secinfo', content.inspect
|
26
22
|
end
|
27
23
|
end
|
28
24
|
|
data/lib/jekyll-secinfo.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-secinfo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frank Breedijk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rainbow
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '3.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '3.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: bundler
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +100,8 @@ files:
|
|
114
100
|
- lib/jekyll-secinfo.rb
|
115
101
|
- lib/jekyll-secinfo/config.rb
|
116
102
|
- lib/jekyll-secinfo/cve.rb
|
103
|
+
- lib/jekyll-secinfo/cwe.rb
|
104
|
+
- lib/jekyll-secinfo/divd.rb
|
117
105
|
- lib/jekyll-secinfo/logger.rb
|
118
106
|
- lib/jekyll-secinfo/version.rb
|
119
107
|
homepage: https://github.com/MrSeccubus/jekyll-secinfo
|
@@ -135,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
123
|
- !ruby/object:Gem::Version
|
136
124
|
version: '0'
|
137
125
|
requirements: []
|
138
|
-
rubygems_version: 3.
|
126
|
+
rubygems_version: 3.3.3
|
139
127
|
signing_key:
|
140
128
|
specification_version: 4
|
141
129
|
summary: jekyll plugin to generate html snippets various security info
|