/
githubmirror
/
trivy
Обзор
Документация
Войти
/
githubmirror
/
trivy
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
pkg/fanal/analyzer/language/rust/binary/binary.go
45 строк
1 KB
DmitriyLewen
fix: use context for analyzers (#9538)
14 окт 2025, 08:13
Не верифицирован
14 окт 2025, 08:13
b885d3a
Код
Авторство
О чём код?
package binary import ( "context" "errors" "os" "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/dependency/parser/rust/binary" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) func init() { analyzer.RegisterAnalyzer(&rustBinaryLibraryAnalyzer{}) } const version = 1 type rustBinaryLibraryAnalyzer struct{} func (a rustBinaryLibraryAnalyzer) Analyze(ctx context.Context, input analyzer.AnalysisInput) (*analyzer.AnalysisResult, error) { res, err := language.Analyze(ctx, types.RustBinary, input.FilePath, input.Content, binary.NewParser()) if errors.Is(err, binary.ErrUnrecognizedExe) || errors.Is(err, binary.ErrNonRustBinary) { return nil, nil } else if err != nil { return nil, xerrors.Errorf("rust binary parse error: %w", err) } return res, nil } func (a rustBinaryLibraryAnalyzer) Required(_ string, fileInfo os.FileInfo) bool { return utils.IsExecutable(fileInfo) } func (a rustBinaryLibraryAnalyzer) Type() analyzer.Type { return analyzer.TypeRustBinary } func (a rustBinaryLibraryAnalyzer) Version() int { return version }