[{"data":1,"prerenderedAt":649},["ShallowReactive",2],{"nav_featured_podcast":3,"nav_featured_press_release":21,"navigation_content":30,"engineering_blog_post:security-scanning-using-tfsec":378},{"uid":4,"title":5,"episodeLabel":6,"dateLabel":7,"episodeArt":8,"href":20},"from-payment-rails-to-connectivity","From Payment Rails to Connectivity, with The Clearing House's David Watson","EPISODE 5","August 18, 2026",{"dimensions":9,"alt":12,"copyright":13,"url":14,"id":15,"edit":16},{"width":10,"height":11},1064,652,"Payments Cannot Fail — Episode 05 with David Watson",null,"\u002F_prismic-media\u002Fd80df2e47c3ecb6f-cFcyPAgzKCMQEaND_Episode-05-David.jpg","cFcyPAgzKCMQEaND",{"x":17,"y":17,"zoom":18,"background":19},0,1,"transparent","\u002Fresources\u002Fpodcasts\u002Ffrom-payment-rails-to-connectivity",{"uid":22,"title":23,"tag":24,"dateLabel":25,"imageUrl":26,"imageAlt":27,"href":28,"imageFit":29},"form3-expands-strategic-partnership-with-sumup","Form3 expands strategic partnership with SumUp to bring real-time SEPA payments to millions of European small businesses","EU","February 25, 2026","\u002F_prismic-media\u002F3e91177f91478610-QA44Gzev0_tdg3ZI_SumUp.jpg","sumup","\u002Fresources\u002Fpress-releases\u002Fform3-expands-strategic-partnership-with-sumup","cover",{"header":31,"platform":59,"solutions":91,"developers":133,"company":155,"resources":184,"partnerships":208,"footer":220,"mobile":325},{"ctaLabel":32,"ctaHref":33,"topNav":34},"TALK TO OUR TEAM","\u002Fcontact",[35,39,43,47,51,55],{"label":36,"href":37,"key":38},"Platform","\u002Fplatform","platform",{"label":40,"href":41,"key":42},"Solutions","\u002Fsolutions","solutions",{"label":44,"href":45,"key":46},"Developers","\u002Fdevelopers","developers",{"label":48,"href":49,"key":50},"Company","\u002Fcompany","company",{"label":52,"href":53,"key":54},"Resources","\u002Fresources","resources",{"label":56,"href":57,"key":58},"Partnerships","\u002Fpartnerships","partnerships",{"sectionEyebrow":60,"primary":61,"productLinks":65,"enterprise":81,"trustFabric":86},"Explore the Platform",{"heading":62,"body":63,"ctaLabel":64,"ctaHref":37},"Our Payments Platform","A resilient, cloud-native platform powering real-time account-to-account payments at global scale.","See How It Works",[66,69,72,75,78],{"label":67,"href":68},"Payments Processing & Gateway","\u002Fpayments-processing-gateway",{"label":70,"href":71},"Orchestration & Intelligent Routing","\u002Forchestration-intelligent-routing",{"label":73,"href":74},"Payments Simulator","\u002Fpayments-simulator",{"label":76,"href":77},"Sponsor Bank Enablement","\u002Fsponsor-bank-enablement",{"label":79,"href":80},"Informed UI","\u002Finformed-ui",{"heading":82,"body":83,"ctaLabel":84,"ctaHref":85},"Form3 Enterprise","Deploy and manage proven cloud-native payments technology in the environment that works for your institution.","Deploy Enterprise","\u002Fplatform\u002Fenterprise",{"heading":87,"body":88,"ctaLabel":89,"ctaHref":90},"Form3 Trust Fabric","Manage TLS certificates, cryptographic vulnerabilities and quantum readiness at scale, with continuous visibility.","Deploy Trust Fabric","\u002Fplatform\u002Ftrust-fabric",{"regionsIntro":92,"regions":98,"industries":118},{"eyebrow":93,"heading":94,"headingLine2":95,"body":96,"ctaLabel":64,"ctaHref":97},"Regions","Global Reach.","Regional Expertise.","A proven payments platform serving organizations worldwide, with specialized experience across North America, United Kingdom, and Europe.","\u002Fglobal",[99,108,113],{"label":100,"description":101,"ctaLabel":102,"href":103,"extraLinks":104},"North America","Real-time infrastructure, through a resilient, multi-cloud platform built for scale and regulatory confidence.","US HOME","\u002Fsolutions\u002Funited-states",[105],{"label":106,"href":107},"CANADA HOME","\u002Fsolutions\u002Fcanada",{"label":109,"description":110,"ctaLabel":111,"href":112},"United Kingdom","Powering account-to-account payments at the heart of the UK financial ecosystem, with proven resilience.","UK HOME","\u002Fsolutions\u002Funited-kingdom",{"label":114,"description":115,"ctaLabel":116,"href":117},"Europe","Enabling secure, real-time and SEPA payments across European markets through a unified, cloud-native platform.","EUROPE HOME","\u002Fsolutions\u002Feurope",{"eyebrow":119,"links":120},"Industries",[121,125,129],{"label":122,"href":123,"iconSrc":124},"Financial Services","\u002Fsolutions\u002Findustries\u002Ffinancial-services","\u002F_prismic-media\u002F29c09c45caa89db9-kbUHZmgTmuIMbo1t_FinancialServices_menu.svg",{"label":126,"href":127,"iconSrc":128},"Fintech","\u002Fsolutions\u002Findustries\u002Ffintech","\u002F_prismic-media\u002F6de3e7cb4dd8d874-SjwNe6Nh-bbuTi0P_Fintech_menu.svg",{"label":130,"href":131,"iconSrc":132},"Government","\u002Fsolutions\u002Findustries\u002Fgovernment","\u002F_prismic-media\u002Fe71bc3a74a1d2142-kaGgdituzKDnVTbm_Government_menu.svg",{"engineering":134,"api":142,"pressEyebrow":154},{"eyebrow":135,"links":136},"Engineering",[137,139],{"label":135,"href":138},"\u002Fengineering",{"label":140,"href":141},"Accreditations","\u002Faccreditations",{"eyebrow":143,"links":144},"API",[145,148,151],{"label":146,"href":147},"API Docs","https:\u002F\u002Fwww.api-docs.form3.tech\u002F",{"label":149,"href":150},"API Tutorials","https:\u002F\u002Fwww.api-docs.form3.tech\u002Fapi\u002Ftutorials\u002Fgetting-started\u002Fintroduction",{"label":152,"href":153},"API Status","https:\u002F\u002Fstatus.form3.tech\u002F","Latest Press Release",{"about":156,"people":171,"podcastEyebrow":183},{"eyebrow":157,"links":158},"About",[159,162,165,168],{"label":160,"href":161},"Our Story","\u002Fcompany\u002Four-story",{"label":163,"href":164},"Our Team","\u002Fcompany\u002Fteam",{"label":166,"href":167},"Our Success & Strategic Approach","\u002Fcompany\u002Four-success",{"label":169,"href":170},"Customer Stories","\u002Fcompany\u002Fcustomer-stories",{"eyebrow":172,"links":173},"People",[174,177,180],{"label":175,"href":176},"Careers","\u002Fcompany\u002Fcareers",{"label":178,"href":179},"Vacancies","\u002Fcompany\u002Fvacancies",{"label":181,"href":182},"Culture","\u002Fcompany\u002Fculture","Latest Podcast",{"intro":185,"links":189,"pressEyebrow":154,"podcastEyebrow":183},{"eyebrow":52,"heading":186,"body":187,"ctaLabel":188,"ctaHref":53},"Form3 Resources","Our Resources bring together thought leadership, engineering insights, payments expertise, webinars, podcasts, whitepapers, company news and stories from our teams—all in one place.","LEARN MORE",[190,193,196,199,202,205],{"label":191,"href":192},"Payments Cannot Fail Podcast","\u002Fresources\u002Fpodcasts",{"label":194,"href":195},"Press Releases","\u002Fresources\u002Fpress-releases",{"label":197,"href":198},"Payment Insights","\u002Fresources\u002Fpayment-insights",{"label":200,"href":201},"Culture Blog","\u002Fresources\u002Fculture-blog",{"label":203,"href":204},"Engineering Blog","\u002Fresources\u002Fengineering-blog",{"label":206,"href":207},"Events","\u002Fevents",{"intro":209,"links":213,"pressEyebrow":154},{"eyebrow":56,"heading":210,"body":211,"ctaLabel":212,"ctaHref":57},"Partner with Form3","Explore how Form3 works with banks, fintechs, cloud providers, technology platforms and system integrators to accelerate payment modernization, strengthen customer offerings and unlock new opportunities for growth.","Let's Partner Together",[214,217],{"label":215,"href":216},"Technical & Ecosystem Partners","\u002Fpartnerships\u002Ftechnical-ecosystem",{"label":218,"href":219},"Channel & Distribution Partners","\u002Fpartnerships\u002Fchannel-distribution",{"platform":221,"region":229,"development":240,"company":248,"resources":259,"partnerships":267,"stayConnected":272,"legalLinks":292,"certifications":314},{"title":36,"links":222},[223,224,225,226,227,228],{"label":62,"href":37},{"label":67,"href":68},{"label":70,"href":71},{"label":73,"href":74},{"label":76,"href":77},{"label":79,"href":80},{"title":230,"links":231},"Region",[232,234,236,237,238],{"label":233,"href":97},"Global",{"label":235,"href":103},"United States",{"label":109,"href":112},{"label":114,"href":117},{"label":239,"href":107},"Canada",{"title":241,"links":242},"Development",[243,244,245,246,247],{"label":135,"href":138},{"label":140,"href":141},{"label":146,"href":147},{"label":149,"href":150},{"label":152,"href":153},{"title":48,"links":249},[250,251,252,253,254,255,256],{"label":160,"href":161},{"label":163,"href":164},{"label":169,"href":170},{"label":175,"href":176},{"label":178,"href":179},{"label":181,"href":182},{"label":257,"href":258},"Net Zero","\u002Fcompany\u002Fnet-zero",{"title":52,"links":260},[261,262,263,264,265,266],{"label":186,"href":53},{"label":191,"href":192},{"label":194,"href":195},{"label":200,"href":201},{"label":203,"href":204},{"label":206,"href":207},{"title":56,"links":268},[269,270,271],{"label":210,"href":57},{"label":215,"href":216},{"label":218,"href":219},{"title":273,"body":274,"ctaLabel":32,"ctaHref":33,"social":275},"Stay Connected","Form3 is a global account-to-account financial fabric delivering a proven payments platform trusted by banks and fintechs to deliver resilient, real-time payment experiences for their customers at scale.",[276,280,284,288],{"label":277,"href":278,"icon":279},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fform3-financial-cloud\u002F","linkedin",{"label":281,"href":282,"icon":283},"X","https:\u002F\u002Fwww.x.com\u002FForm3Cloud","x",{"label":285,"href":286,"icon":287},"YouTube","https:\u002F\u002Fwww.youtube.com\u002F@Form3Cloud","youtube",{"label":289,"href":290,"icon":291},"Instagram","https:\u002F\u002Fwww.instagram.com\u002Fform3.tech","instagram",[293,296,299,302,305,308,311],{"label":294,"href":295},"Terms & Conditions","\u002Flegal\u002Fterms-and-conditions",{"label":297,"href":298},"Privacy Policy","\u002Flegal\u002Fdata-privacy-statement",{"label":300,"href":301},"Recruitment Data Policy","\u002Flegal\u002Frecruitment-data-policy",{"label":303,"href":304},"Modern Slavery Statement","\u002Flegal\u002Fmodern-slavery",{"label":306,"href":307},"License","\u002Flegal\u002Flicense",{"label":309,"href":310},"Cookie Policy","\u002Flegal\u002Fcookie-policy",{"label":312,"href":313},"Manage Cookies","#cookies",[315,317,319,321,323],{"label":316},"ISO 27001",{"label":318},"ISO 27017",{"label":320},"ISO 27018",{"label":322},"ISAE 3000 SOC 2 Type II",{"label":324},"ISO 22301",{"platform":326,"solutions":341,"developers":355,"company":365,"resources":366,"partnerships":374},[327,329,339,340],{"kind":328,"label":62,"href":37},"link",{"kind":330,"label":60,"children":331},"group",[332,333,334,335,337],{"label":67,"href":68},{"label":70,"href":71},{"label":73,"href":74},{"label":76,"href":336},"\u002Fplatform\u002Fsponsor-bank-enablement",{"label":79,"href":338},"\u002Fplatform\u002Finform3d-ui",{"kind":328,"label":82,"href":85},{"kind":328,"label":87,"href":90},[342,344,350],{"kind":328,"label":233,"href":343},"\u002Fsolutions\u002Fglobal",{"kind":330,"label":93,"children":345},[346,347,348,349],{"label":235,"href":103},{"label":239,"href":107},{"label":109,"href":112},{"label":114,"href":117},{"kind":330,"label":119,"children":351},[352,353,354],{"label":122,"href":123},{"label":126,"href":127},{"label":130,"href":131},[356,360],{"kind":330,"label":135,"children":357},[358,359],{"label":135,"href":138},{"label":140,"href":141},{"kind":330,"label":143,"children":361},[362,363,364],{"label":146,"href":147},{"label":149,"href":150},{"label":152,"href":153},[],[367,368,369,370,371,372,373],{"kind":328,"label":186,"href":53},{"kind":328,"label":191,"href":192},{"kind":328,"label":194,"href":195},{"kind":328,"label":197,"href":198},{"kind":328,"label":200,"href":201},{"kind":328,"label":203,"href":204},{"kind":328,"label":206,"href":207},[375,376,377],{"kind":328,"label":210,"href":57},{"kind":328,"label":215,"href":216},{"kind":328,"label":218,"href":219},{"id":379,"uid":380,"url":381,"type":382,"href":383,"tags":384,"first_publication_date":385,"last_publication_date":386,"slugs":387,"linked_documents":389,"lang":390,"alternate_languages":391,"data":392},"alz1JBEAAC4AUWgV","security-scanning-using-tfsec","\u002Fresources\u002Fengineering-blog\u002Fsecurity-scanning-using-tfsec","engineering_blog_post","https:\u002F\u002Fform3-website.cdn.prismic.io\u002Fapi\u002Fv2\u002Fdocuments\u002Fsearch?ref=apnMZxEAACcAKWxv&q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22alz1JBEAAC4AUWgV%22%29+%5D%5D",[],"2026-07-19T16:21:53+0000","2026-08-27T02:06:53+0000",[388],"ep-30-.tech---security-scanning-using-tfsec",[],"en-us",[],{"title":393,"excerpt":394,"card_image":395,"published_date":401,"reading_time":402,"tag":403,"dek":394,"featured_image":404,"about_form3":411,"client_about_heading":13,"client_about_body":412,"author_name":413,"author_title":414,"author_photo":415,"author_bio":423,"author_linkedin":428,"slices":433,"meta_title":393,"meta_description":394},".tech Podcast - Security scanning using tfsec","Liam and Owen from Aqua Security join us to share their work on the open source static analysis tool, tfsec. They give us an introduction to infrastructure as code with terraform, then explain what are the common problems they are trying to solve with tfsec. Finally, they tell us all about getting started with tfsec and getting involved with the project.",{"dimensions":396,"alt":393,"copyright":13,"url":398,"id":399,"edit":400},{"width":397,"height":397},800,"\u002F_prismic-media\u002F85b9d7fa1d0a398c-UOObyIJiEEbi_om__security-scanning-using-tfsec.p","UOObyIJiEEbi_om_",{"x":17,"y":17,"zoom":18,"background":19},"2022-04-27",5,"Blogs",{"dimensions":405,"alt":13,"copyright":13,"url":408,"id":409,"edit":410},{"width":406,"height":407},1200,628,"\u002F_prismic-media\u002F74de2e16a2cf651d-GFC4G76z5x6FLB-u_e23a032b-f17d-4d1c-a315-19f3043.png","GFC4G76z5x6FLB-u",{"x":17,"y":17,"zoom":18,"background":19},[],[],"Adelina Simion","Technology Evangelist",{"dimensions":416,"alt":413,"copyright":13,"url":419,"id":420,"edit":421},{"width":417,"height":418},317,474,"\u002F_prismic-media\u002Fe08313b6ab610487-38TSoXRVp2tWVmyC_31a4a6dc-d773-477b-bdf0-7f2e1d8.jpg","38TSoXRVp2tWVmyC",{"x":17,"y":17,"zoom":18,"background":422},"#ffffff",[424],{"type":425,"text":426,"spans":427},"paragraph","Adelina is a polyglot engineer and developer relations professional, with a decade of technical experience at multiple startups in London. She started her career as a Java backend engineer, converted later to Go, and then transitioned to a full-time developer relations role. She has published multiple online courses about Go on the LinkedIn Learning platform, helping thousands of developers up-skill with Go. She has a passion for public speaking, having presented on cloud architectures at major European conferences. Adelina holds an MSc. Mathematical Modelling and Computing degree.",[],{"link_type":429,"key":430,"url":431,"target":432},"Web","964e87bc-2b9e-454b-be51-7d1963cf105a","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fadelina-simion\u002F","_blank",[434,468,498,532,558,581,606],{"variation":435,"version":436,"items":437,"primary":438,"id":466,"slice_type":467,"slice_label":13},"default","",[],{"eyebrow":13,"heading":439,"body":444,"cta_label":448,"cta_link":449,"aside_type":13,"aside_image":452,"aside_video":453,"aside_video_poster":455,"aside_video_reduced_motion":456,"aside_video_url":13,"aside_embed":457,"pardot_form_url":13,"form_submit_label":13,"form_variant":458,"form_heading":13,"redirect_on_success":459,"theme":461,"overlay_pattern":462,"background_continuation":463,"media_position":464,"aside_vertical_align":465},[440],{"type":441,"text":442,"spans":443},"heading2","Ep 30 .tech - Security scanning using tfsec",[],[445],{"type":425,"text":446,"spans":447},"Listen on Form3’s .tech podcast.",[],"LISTEN TO EPISODE",{"link_type":429,"key":450,"url":451},"36f6fdd1-2763-47bd-885b-2c3f05fe36ce","https:\u002F\u002Ftechpodcast.form3.tech\u002Fepisodes\u002Fep-30-tech-security-scanning-using-tfsec-0F1S0q6r",{},{"link_type":454},"Media",{},{},{},"Contact (default)",{"link_type":460},"Document","Light","None","Solid color (no gradient)","Right","Top of section","content_block$670c0e87-b06a-4481-97b4-f1afc44555b7","content_block",{"variation":435,"version":469,"items":470,"primary":471,"id":496,"slice_type":497,"slice_label":13},"initial",[],{"body":472},[473],{"type":425,"text":474,"spans":475}," Liam Galvin and Owen Rumney are open source developers at Aqua Security. They focus on image and infrastructure security scanning. Both actively working on tfsec, which is the tool we will be focusing on today.",[476,481,486,491],{"start":18,"end":477,"type":478,"data":479},12,"hyperlink",{"link_type":429,"url":480,"target":432},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002F%E0%B2%A0%EF%BC%BF%E0%B2%A0\u002F",{"start":482,"end":483,"type":478,"data":484},17,28,{"link_type":429,"url":485,"target":432},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fowenrumney\u002F",{"start":487,"end":488,"type":478,"data":489},59,72,{"link_type":429,"url":490,"target":432},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Faquasecteam\u002F",{"start":492,"end":493,"type":478,"data":494},157,162,{"link_type":429,"url":495,"target":432},"https:\u002F\u002Fgithub.com\u002Faquasecurity\u002Ftfsec","rich_text$17881aa0-7f5a-4672-8881-fe1105644fe9","rich_text",{"variation":435,"version":469,"items":499,"primary":500,"id":531,"slice_type":497,"slice_label":13},[],{"body":501},[502,505,512,528],{"type":441,"text":503,"spans":504},"Infrastructure as code (IaC)",[],{"type":425,"text":506,"spans":507},"The opposite of infrastructure as code is setting up and maintaining your infrastructure in the cloud console. You will very quickly forget what and how you set up your resources. This is sometimes known as ClickOps.",[508],{"start":509,"end":510,"type":511},207,215,"em",{"type":425,"text":513,"spans":514},"On the other side, IaC uses tools like AWS CloudFormation, terraform or Pulumi to give you declarative code which you can execute idempotently. It gives a consistent, repeatable way of defining infrastructure. Checking in the code into source control also allows you to review and scale the working of the infrastructure across multiple teams.",[515,520,524],{"start":516,"end":517,"type":478,"data":518},39,57,{"link_type":429,"url":519,"target":432},"https:\u002F\u002Faws.amazon.com\u002Fcloudformation\u002F",{"start":487,"end":521,"type":478,"data":522},68,{"link_type":429,"url":523,"target":432},"https:\u002F\u002Fwww.terraform.io\u002F",{"start":488,"end":525,"type":478,"data":526},78,{"link_type":429,"url":527,"target":432},"https:\u002F\u002Fwww.pulumi.com\u002F",{"type":425,"text":529,"spans":530},"Managing large infrastructures in the console is almost and impossible task, so IaC is the generally preferred solution.",[],"rich_text$b6783834-6b71-47d1-96a7-2d70f66efc76",{"variation":435,"version":469,"items":533,"primary":534,"id":557,"slice_type":497,"slice_label":13},[],{"body":535},[536,539,547,554],{"type":441,"text":537,"spans":538},"Terraform as an IaC tool",[],{"type":425,"text":540,"spans":541},"Terraform is a human readable and machine readable language. It is simple and it lets you define all kinds of resources. For example, with a few lines of code you can define an S3 bucket. However, these resources need to be configured correctly, which can be quite a complicated task.",[542],{"start":543,"end":544,"type":478,"data":545},177,186,{"link_type":429,"url":546,"target":432},"https:\u002F\u002Fregistry.terraform.io\u002Fproviders\u002Fhashicorp\u002Faws\u002Flatest\u002Fdocs\u002Fresources\u002Fs3_bucket#private-bucket-w-tags",{"type":425,"text":548,"spans":549},"Third party Terraform modules allow us to package up definitions of everything from a simple resource to an entire systems. Using industry standard modules are a great way to ensure that your resources are secure as well.",[550],{"start":477,"end":551,"type":478,"data":552},29,{"link_type":429,"url":553,"target":432},"https:\u002F\u002Fwww.terraform.io\u002Fregistry\u002Fmodules\u002Fuse",{"type":425,"text":555,"spans":556},"Modules are also a great way to enable teams to do things in a standard way. For example, you could have the central platform team creating a bastion module, which other teams within the same organisation can leverage in their work.",[],"rich_text$5ddee78d-cdd9-44b0-a780-9acfb7d1b13e",{"variation":435,"version":469,"items":559,"primary":560,"id":580,"slice_type":497,"slice_label":13},[],{"body":561},[562,565,573],{"type":441,"text":563,"spans":564},"Common problems with IaC",[],{"type":425,"text":566,"spans":567},"There are a lot of examples where misconfigurations have caused large issues, either compliance or financial issues. Using the example of the S3 bucket, we could set an ACL on the bucket for authenticated reads. We would assume that this means authenticated users in our own account would be able to read the bucket. However, once we read the docs, we'd realise that any user authenticated in any account would be able to read the bucket, which could be a potentially huge security issue.",[568],{"start":569,"end":570,"type":478,"data":571},169,210,{"link_type":429,"url":572,"target":432},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonS3\u002Flatest\u002Fuserguide\u002Facl-overview.html",{"type":425,"text":574,"spans":575},"These kinds of issues happen often and is one of the reasons tfsec was created.",[576],{"start":577,"end":578,"type":478,"data":579},61,66,{"link_type":429,"url":495,"target":432},"rich_text$9828822c-2dd8-49ac-9fff-189228080fa2",{"variation":435,"version":469,"items":582,"primary":583,"id":605,"slice_type":497,"slice_label":13},[],{"body":584},[585,588,595,598],{"type":441,"text":586,"spans":587},"What is tfsec?",[],{"type":425,"text":589,"spans":590},"tfsec is an open source static code analysis tool written in Go. Terraform itself is written in Go, so tfsec was able to use their parser to find patterns in configuration. tfsec works in a similar way to the Terraform CI tool as well, making it a reliable tool. tfsec tries to analyze code as close to the Terraform process as possible, analysing the output HCL code. This makes it easier to resolve the executed state of the code, as opposed to its snapshot state.",[591],{"start":577,"end":592,"type":478,"data":593},63,{"link_type":429,"url":594,"target":432},"https:\u002F\u002Fgo.dev\u002F",{"type":425,"text":596,"spans":597},"Other tools had to use regular expressions instead, which is more difficult to build. Regular expressions are suitable for easy pattern matching, but an unsustainable tool for more complicated rules.",[],{"type":425,"text":599,"spans":600},"tfsec also uses custom checks to identify the particular line that causes the misconfiguration. It can write comments on PRs to let you know what needs fixing. Initially, the functionality was built together with the parser. This has been refactored to analyze the intermediary state of resources, without being tied to provider specific functionality and making it suitable to a variety of providers.",[601],{"start":602,"end":551,"type":478,"data":603},16,{"link_type":429,"url":604,"target":432},"https:\u002F\u002Fgithub.com\u002Faquasecurity\u002Ftfsec#included-checks","rich_text$f6482d4d-98ac-4f39-9882-3debed57b1c5",{"variation":435,"version":469,"items":607,"primary":608,"id":648,"slice_type":497,"slice_label":13},[],{"body":609},[610,613,621,629,640],{"type":441,"text":611,"spans":612},"Maintaining tfsec",[],{"type":425,"text":614,"spans":615},"Terraform has a lot of quickly changing providers. The great community around tfsec steps in and are able to help with making all the required changes. tfsec is frequently released and has a great turnover for bug fixing.",[616],{"start":617,"end":618,"type":478,"data":619},161,180,{"link_type":429,"url":620,"target":432},"https:\u002F\u002Fgithub.com\u002Faquasecurity\u002Ftfsec\u002Freleases",{"type":425,"text":622,"spans":623},"If you are using tfsec, then you can use the standard checks, but also write your own custom checks that suit your needs. The team would be greatful if you could share any checks that might be useful to the rest of the community as well. Recently, tfsec also has support for Rego.",[624],{"start":625,"end":626,"type":478,"data":627},275,279,{"link_type":429,"url":628,"target":432},"https:\u002F\u002Faquasecurity.github.io\u002Ftfsec\u002Fv1.18.0\u002Fguides\u002Frego\u002Frego\u002F",{"type":425,"text":630,"spans":631},"Read more about getting started and writing custom checks.",[632,636],{"start":602,"end":633,"type":478,"data":634},31,{"link_type":429,"url":635},"https:\u002F\u002Faquasecurity.github.io\u002Ftfsec\u002Fv1.18.0\u002Fguides\u002Fquickstart\u002F",{"start":637,"end":517,"type":478,"data":638},36,{"link_type":429,"url":639,"target":432},"https:\u002F\u002Faquasecurity.github.io\u002Ftfsec\u002Fv1.18.0\u002Fguides\u002Fconfiguration\u002Fcustom-checks\u002F",{"type":425,"text":641,"spans":642},"tfsec integrates with Aqua Security Trivy which allows you to scan a wide variety of resources, not just terraform.",[643],{"start":644,"end":645,"type":478,"data":646},22,41,{"link_type":429,"url":647,"target":432},"https:\u002F\u002Fgithub.com\u002Faquasecurity\u002Ftrivy","rich_text$89b4b07c-724e-4068-a629-3e67525e46f5",1788466509094]