mirror of https://github.com/daffainfo/nuclei.git
chore(deps): Bump sarif to v2 (#1930)
Signed-off-by: Owen Rumney <owen@owenrumney.co.uk> Co-authored-by: mzack <marco.rivoli.nvh@gmail.com>dev
parent
39c7317ec3
commit
4a5039cc75
|
@ -23,7 +23,7 @@ require (
|
||||||
github.com/logrusorgru/aurora v2.0.3+incompatible
|
github.com/logrusorgru/aurora v2.0.3+incompatible
|
||||||
github.com/miekg/dns v1.1.49
|
github.com/miekg/dns v1.1.49
|
||||||
github.com/olekukonko/tablewriter v0.0.5
|
github.com/olekukonko/tablewriter v0.0.5
|
||||||
github.com/owenrumney/go-sarif v1.1.1
|
github.com/owenrumney/go-sarif/v2 v2.1.1
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/projectdiscovery/clistats v0.0.8
|
github.com/projectdiscovery/clistats v0.0.8
|
||||||
github.com/projectdiscovery/cryptoutil v1.0.0
|
github.com/projectdiscovery/cryptoutil v1.0.0
|
||||||
|
@ -153,7 +153,6 @@ require (
|
||||||
github.com/yl2chen/cidranger v1.0.2 // indirect
|
github.com/yl2chen/cidranger v1.0.2 // indirect
|
||||||
github.com/ysmood/goob v0.4.0 // indirect
|
github.com/ysmood/goob v0.4.0 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||||
github.com/zclconf/go-cty v1.10.0 // indirect
|
|
||||||
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521 // indirect
|
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521 // indirect
|
||||||
go.etcd.io/bbolt v1.3.6 // indirect
|
go.etcd.io/bbolt v1.3.6 // indirect
|
||||||
go.uber.org/zap v1.21.0 // indirect
|
go.uber.org/zap v1.21.0 // indirect
|
||||||
|
|
|
@ -416,6 +416,8 @@ github.com/openrdap/rdap v0.9.1-0.20191017185644-af93e7ef17b7/go.mod h1:inRbqVxN
|
||||||
github.com/owenrumney/go-sarif v1.0.11/go.mod h1:hTBFbxU7GuVRUvwMx+eStp9M/Oun4xHCS3vqpPvket8=
|
github.com/owenrumney/go-sarif v1.0.11/go.mod h1:hTBFbxU7GuVRUvwMx+eStp9M/Oun4xHCS3vqpPvket8=
|
||||||
github.com/owenrumney/go-sarif v1.1.1 h1:QNObu6YX1igyFKhdzd7vgzmw7XsWN3/6NMGuDzBgXmE=
|
github.com/owenrumney/go-sarif v1.1.1 h1:QNObu6YX1igyFKhdzd7vgzmw7XsWN3/6NMGuDzBgXmE=
|
||||||
github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U=
|
github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U=
|
||||||
|
github.com/owenrumney/go-sarif/v2 v2.1.1 h1:JVUO0cEhG8bvEWIxsRmURY4u7wBZUTgdh4zikkkiPM8=
|
||||||
|
github.com/owenrumney/go-sarif/v2 v2.1.1/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w=
|
||||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||||
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
|
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
|
||||||
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
||||||
|
@ -630,7 +632,6 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
|
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
|
||||||
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||||
github.com/zclconf/go-cty v1.8.4/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
|
github.com/zclconf/go-cty v1.8.4/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
|
||||||
github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0=
|
|
||||||
github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
|
github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
|
||||||
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521 h1:kKCF7VX/wTmdg2ZjEaqlq99Bjsoiz7vH6sFniF/vI4M=
|
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521 h1:kKCF7VX/wTmdg2ZjEaqlq99Bjsoiz7vH6sFniF/vI4M=
|
||||||
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521/go.mod h1:3YZ9o3WnatTIZhuOtot4IcUfzoKVjUHqu6WALIyI0nE=
|
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521/go.mod h1:3YZ9o3WnatTIZhuOtot4IcUfzoKVjUHqu6WALIyI0nE=
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/owenrumney/go-sarif/sarif"
|
"github.com/owenrumney/go-sarif/v2/sarif"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
||||||
|
@ -44,7 +44,7 @@ func New(options *Options) (*Exporter, error) {
|
||||||
return nil, errors.Wrap(err, "could not template path")
|
return nil, errors.Wrap(err, "could not template path")
|
||||||
}
|
}
|
||||||
|
|
||||||
run := sarif.NewRun("nuclei", "https://github.com/projectdiscovery/nuclei")
|
run := sarif.NewRunWithInformationURI("nuclei", "https://github.com/projectdiscovery/nuclei")
|
||||||
return &Exporter{options: options, home: templatePath, sarif: report, run: run, mutex: &sync.Mutex{}}, nil
|
return &Exporter{options: options, home: templatePath, sarif: report, run: run, mutex: &sync.Mutex{}}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,9 +56,6 @@ func (exporter *Exporter) Export(event *output.ResultEvent) error {
|
||||||
_, _ = h.Write([]byte(event.Host))
|
_, _ = h.Write([]byte(event.Host))
|
||||||
templateID := event.TemplateID + "-" + hex.EncodeToString(h.Sum(nil))
|
templateID := event.TemplateID + "-" + hex.EncodeToString(h.Sum(nil))
|
||||||
|
|
||||||
fullDescription := format.MarkdownDescription(event)
|
|
||||||
sarifSeverity := getSarifSeverity(event)
|
|
||||||
|
|
||||||
var ruleName string
|
var ruleName string
|
||||||
if utils.IsNotBlank(event.Info.Name) {
|
if utils.IsNotBlank(event.Info.Name) {
|
||||||
ruleName = event.Info.Name
|
ruleName = event.Info.Name
|
||||||
|
@ -81,25 +78,27 @@ func (exporter *Exporter) Export(event *output.ResultEvent) error {
|
||||||
|
|
||||||
_ = exporter.run.AddRule(templateID).
|
_ = exporter.run.AddRule(templateID).
|
||||||
WithDescription(ruleName).
|
WithDescription(ruleName).
|
||||||
WithHelp(fullDescription).
|
WithHelp(sarif.NewMarkdownMultiformatMessageString(format.MarkdownDescription(event))).
|
||||||
WithHelpURI(templateURL).
|
WithHelpURI(templateURL).
|
||||||
WithFullDescription(sarif.NewMultiformatMessageString(ruleDescription))
|
WithFullDescription(sarif.NewMultiformatMessageString(ruleDescription))
|
||||||
|
|
||||||
result := exporter.run.AddResult(templateID).
|
result := sarif.NewRuleResult(templateID).
|
||||||
WithMessage(sarif.NewMessage().WithText(event.Host)).
|
WithMessage(sarif.NewTextMessage(event.Host)).
|
||||||
WithLevel(sarifSeverity)
|
WithLevel(getSarifSeverity(event))
|
||||||
|
|
||||||
|
exporter.run.AddResult(result)
|
||||||
|
|
||||||
// Also write file match metadata to file
|
// Also write file match metadata to file
|
||||||
if event.Type == "file" && (event.FileToIndexPosition != nil && len(event.FileToIndexPosition) > 0) {
|
if event.Type == "file" && (event.FileToIndexPosition != nil && len(event.FileToIndexPosition) > 0) {
|
||||||
for file, line := range event.FileToIndexPosition {
|
for file, line := range event.FileToIndexPosition {
|
||||||
result.WithLocation(sarif.NewLocation().WithMessage(sarif.NewMessage().WithText(ruleName)).WithPhysicalLocation(
|
result.AddLocation(sarif.NewLocation().WithMessage(sarif.NewMessage().WithText(ruleName)).WithPhysicalLocation(
|
||||||
sarif.NewPhysicalLocation().
|
sarif.NewPhysicalLocation().
|
||||||
WithArtifactLocation(sarif.NewArtifactLocation().WithUri(file)).
|
WithArtifactLocation(sarif.NewArtifactLocation().WithUri(file)).
|
||||||
WithRegion(sarif.NewRegion().WithStartColumn(1).WithStartLine(line).WithEndLine(line).WithEndColumn(32)),
|
WithRegion(sarif.NewRegion().WithStartColumn(1).WithStartLine(line).WithEndLine(line).WithEndColumn(32)),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
result.WithLocation(sarif.NewLocation().WithMessage(sarif.NewMessage().WithText(event.Host)).WithPhysicalLocation(
|
result.AddLocation(sarif.NewLocation().WithMessage(sarif.NewMessage().WithText(event.Host)).WithPhysicalLocation(
|
||||||
sarif.NewPhysicalLocation().
|
sarif.NewPhysicalLocation().
|
||||||
WithArtifactLocation(sarif.NewArtifactLocation().WithUri("README.md")).
|
WithArtifactLocation(sarif.NewArtifactLocation().WithUri("README.md")).
|
||||||
WithRegion(sarif.NewRegion().WithStartColumn(1).WithStartLine(1).WithEndLine(1).WithEndColumn(1)),
|
WithRegion(sarif.NewRegion().WithStartColumn(1).WithStartLine(1).WithEndLine(1).WithEndColumn(1)),
|
||||||
|
|
Loading…
Reference in New Issue