@@ -26,6 +26,10 @@ func TestParse(t *testing.T) {
26
26
vulnJSON : osAndLibTrivy ,
27
27
expected : osAndLibSR ,
28
28
},
29
+ "image alma" : {
30
+ vulnJSON : almaTrivy ,
31
+ expected : almaSR ,
32
+ },
29
33
}
30
34
31
35
for testcase , v := range cases {
@@ -257,6 +261,16 @@ var redisSR = &models.ScanResult{
257
261
},
258
262
},
259
263
SrcPackages : models.SrcPackages {
264
+ "apt" : models.SrcPackage {
265
+ Name : "apt" ,
266
+ Version : "1.8.2.3" ,
267
+ BinaryNames : []string {"apt" },
268
+ },
269
+ "adduser" : models.SrcPackage {
270
+ Name : "adduser" ,
271
+ Version : "3.118" ,
272
+ BinaryNames : []string {"adduser" },
273
+ },
260
274
"util-linux" : models.SrcPackage {
261
275
Name : "util-linux" ,
262
276
Version : "2.33.1-0.1" ,
@@ -525,10 +539,35 @@ var osAndLibTrivy = []byte(`
525
539
"Type": "debian",
526
540
"Packages": [
527
541
{
542
+
528
543
"Name": "libgnutls30",
529
- "Version": "3.6.7-4",
544
+ "Version": "3.6.7",
545
+ "Release": "4",
546
+ "Arch": "amd64",
530
547
"SrcName": "gnutls28",
531
- "SrcVersion": "3.6.7-4",
548
+ "SrcVersion": "3.6.7",
549
+ "SrcRelease": "4",
550
+ "Licenses": [
551
+ "LGPL-3.0",
552
+ "GPL-3.0",
553
+ "GFDL-1.3",
554
+ "CC0",
555
+ "The MIT License",
556
+ "LGPLv3+",
557
+ "GPL-2.0",
558
+ "Apache-2.0"
559
+ ],
560
+ "Maintainer": "Debian GnuTLS Maintainers \[email protected] \u003e",
561
+ "DependsOn": [
562
+
563
+ "libgmp10@2:6.1.2+dfsg-4",
564
+
565
+
566
+
567
+
568
+
569
+
570
+ ],
532
571
"Layer": {
533
572
"Digest": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c",
534
573
"DiffID": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f"
@@ -538,15 +577,22 @@ var osAndLibTrivy = []byte(`
538
577
"Vulnerabilities": [
539
578
{
540
579
"VulnerabilityID": "CVE-2021-20231",
580
+
541
581
"PkgName": "libgnutls30",
542
582
"InstalledVersion": "3.6.7-4",
543
583
"FixedVersion": "3.6.7-4+deb10u7",
584
+ "Status": "fixed",
544
585
"Layer": {
545
586
"Digest": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c",
546
587
"DiffID": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f"
547
588
},
548
589
"SeveritySource": "nvd",
549
590
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2021-20231",
591
+ "DataSource": {
592
+ "ID": "debian",
593
+ "Name": "Debian Security Tracker",
594
+ "URL": "https://salsa.debian.org/security-tracker-team/security-tracker"
595
+ },
550
596
"Title": "gnutls: Use after free in client key_share extension",
551
597
"Description": "A flaw was found in gnutls. A use after free issue in client sending key_share extension may lead to memory corruption and other consequences.",
552
598
"Severity": "CRITICAL",
@@ -712,6 +758,7 @@ var osAndLibSR = &models.ScanResult{
712
758
"libgnutls30" : models.Package {
713
759
Name : "libgnutls30" ,
714
760
Version : "3.6.7-4" ,
761
+ Arch : "amd64" ,
715
762
},
716
763
},
717
764
SrcPackages : models.SrcPackages {
@@ -727,6 +774,151 @@ var osAndLibSR = &models.ScanResult{
727
774
},
728
775
}
729
776
777
+ var almaTrivy = []byte (`
778
+ {
779
+ "SchemaVersion": 2,
780
+ "CreatedAt": "2024-02-01T04:48:35.451128019+09:00",
781
+ "ArtifactName": "almalinux:9",
782
+ "ArtifactType": "container_image",
783
+ "Metadata": {
784
+ "OS": {
785
+ "Family": "alma",
786
+ "Name": "9.1"
787
+ },
788
+ "ImageID": "sha256:6fda3265debce36565356d0e5f9f2403c751da40f8a2538d76dfcb934661b427",
789
+ "DiffIDs": [
790
+ "sha256:f025ce333a9dc974e0ec5ff9440cc0b7404a3277b5bff4ca3d45bc10313f845b"
791
+ ],
792
+ "RepoTags": [
793
+ "almalinux:9"
794
+ ],
795
+ "RepoDigests": [
796
+ "almalinux@sha256:904f3b03a151a7970255158103578de658ca955045b9cd6b78a9ea7d13a596ef"
797
+ ],
798
+ "ImageConfig": {
799
+ "architecture": "amd64",
800
+ "container": "0711a01b461394b83799a4125a9a6490052f74a5fafb084c72abcc09b01703d5",
801
+ "created": "2023-02-22T18:20:30.49146312Z",
802
+ "docker_version": "20.10.23",
803
+ "history": [
804
+ {
805
+ "created": "2023-02-22T18:20:29Z",
806
+ "created_by": "/bin/sh -c #(nop) ADD file:97cfcd4d2e9fb628ab2192a2c99ea93dc2b97c852191d6dda024a33def36ff98 in / "
807
+ },
808
+ {
809
+ "created": "2023-02-22T18:20:30Z",
810
+ "created_by": "/bin/sh -c #(nop) CMD [\"/bin/bash\"]",
811
+ "empty_layer": true
812
+ }
813
+ ],
814
+ "os": "linux",
815
+ "rootfs": {
816
+ "type": "layers",
817
+ "diff_ids": [
818
+ "sha256:f025ce333a9dc974e0ec5ff9440cc0b7404a3277b5bff4ca3d45bc10313f845b"
819
+ ]
820
+ },
821
+ "config": {
822
+ "Cmd": [
823
+ "/bin/bash"
824
+ ],
825
+ "Env": [
826
+ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
827
+ ],
828
+ "Image": "sha256:721f6c57a6da1faf2745fe501a3940bd4597d0936f994b76a9f19fb8035b7372"
829
+ }
830
+ }
831
+ },
832
+ "Results": [
833
+ {
834
+ "Target": "almalinux:9 (alma 9.1)",
835
+ "Class": "os-pkgs",
836
+ "Type": "alma",
837
+ "Packages": [
838
+ {
839
+
840
+ "Name": "acl",
841
+ "Version": "2.3.1",
842
+ "Release": "3.el9",
843
+ "Arch": "x86_64",
844
+ "SrcName": "acl",
845
+ "SrcVersion": "2.3.1",
846
+ "SrcRelease": "3.el9",
847
+ "Licenses": [
848
+ "GPLv2+"
849
+ ],
850
+ "Maintainer": "AlmaLinux",
851
+ "DependsOn": [
852
+
853
+
854
+ ],
855
+ "Layer": {
856
+ "DiffID": "sha256:f025ce333a9dc974e0ec5ff9440cc0b7404a3277b5bff4ca3d45bc10313f845b"
857
+ },
858
+ "Digest": "md5:30ed35fe284aa1ffee4fc8cf082ab6fa",
859
+ "InstalledFiles": [
860
+ "/usr/bin/chacl",
861
+ "/usr/bin/getfacl",
862
+ "/usr/bin/setfacl",
863
+ "/usr/lib/.build-id",
864
+ "/usr/lib/.build-id/5a",
865
+ "/usr/lib/.build-id/5a/d6848c63ed1dcb59a88e8ed5b3f936b6561d03",
866
+ "/usr/lib/.build-id/88",
867
+ "/usr/lib/.build-id/88/95863a5e92751dbb37a43dd2939511a9f3d9b5",
868
+ "/usr/lib/.build-id/e6",
869
+ "/usr/lib/.build-id/e6/f27b5253f5ffb6b5398896c720a4cbc108efe8",
870
+ "/usr/share/licenses/acl",
871
+ "/usr/share/licenses/acl/COPYING",
872
+ "/usr/share/licenses/acl/COPYING.LGPL",
873
+ "/usr/share/locale/de/LC_MESSAGES/acl.mo",
874
+ "/usr/share/locale/en@boldquot/LC_MESSAGES/acl.mo",
875
+ "/usr/share/locale/en@quot/LC_MESSAGES/acl.mo",
876
+ "/usr/share/locale/es/LC_MESSAGES/acl.mo",
877
+ "/usr/share/locale/fr/LC_MESSAGES/acl.mo",
878
+ "/usr/share/locale/gl/LC_MESSAGES/acl.mo",
879
+ "/usr/share/locale/pl/LC_MESSAGES/acl.mo",
880
+ "/usr/share/locale/sv/LC_MESSAGES/acl.mo",
881
+ "/usr/share/man/man1/chacl.1.gz",
882
+ "/usr/share/man/man1/getfacl.1.gz",
883
+ "/usr/share/man/man1/setfacl.1.gz",
884
+ "/usr/share/man/man5/acl.5.gz"
885
+ ]
886
+ }
887
+ ]
888
+ }
889
+ ]
890
+ }` )
891
+
892
+ var almaSR = & models.ScanResult {
893
+ JSONVersion : 4 ,
894
+ ServerName : "almalinux:9" ,
895
+ Family : "alma" ,
896
+ Release : "9.1" ,
897
+ ScannedBy : "trivy" ,
898
+ ScannedVia : "trivy" ,
899
+ ScannedCves : models.VulnInfos {},
900
+ LibraryScanners : models.LibraryScanners {},
901
+ Packages : models.Packages {
902
+ "acl" : models.Package {
903
+ Name : "acl" ,
904
+ Version : "2.3.1" ,
905
+ Release : "3.el9" ,
906
+ Arch : "x86_64" ,
907
+ },
908
+ },
909
+ SrcPackages : models.SrcPackages {
910
+ "acl" : models.SrcPackage {
911
+ Name : "acl" ,
912
+ Version : "2.3.1-3.el9" ,
913
+ BinaryNames : []string {"acl" },
914
+ },
915
+ },
916
+ Optional : map [string ]interface {}{
917
+ "TRIVY_IMAGE_NAME" : "almalinux" ,
918
+ "TRIVY_IMAGE_TAG" : "9" ,
919
+ },
920
+ }
921
+
730
922
func TestParseError (t * testing.T ) {
731
923
cases := map [string ]struct {
732
924
vulnJSON []byte
0 commit comments