<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: yasarbingursain</title>
    <description>The latest articles on Forem by yasarbingursain (@yasarbingursain).</description>
    <link>https://forem.com/yasarbingursain</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1038786%2F1f327197-df1c-4bb5-a1e0-791f15e53f63.png</url>
      <title>Forem: yasarbingursain</title>
      <link>https://forem.com/yasarbingursain</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yasarbingursain"/>
    <language>en</language>
    <item>
      <title>What I Found Scanning 30 Open-Source Repositories for CI/CD Identity Risks</title>
      <dc:creator>yasarbingursain</dc:creator>
      <pubDate>Fri, 06 Mar 2026 10:12:31 +0000</pubDate>
      <link>https://forem.com/yasarbingursain/what-i-found-scanning-30-open-source-repositories-for-cicd-identity-risks-3nml</link>
      <guid>https://forem.com/yasarbingursain/what-i-found-scanning-30-open-source-repositories-for-cicd-identity-risks-3nml</guid>
      <description>&lt;p&gt;What I Found Scanning 30 Open-Source Repositories for CI/CD Identity Risks&lt;/p&gt;

&lt;p&gt;Over the last few months I’ve been spending time looking into something that quietly sits behind most modern systems:&lt;/p&gt;

&lt;p&gt;machine identities.&lt;/p&gt;

&lt;p&gt;We spend a lot of time securing human access - MFA, SSO, password policies, phishing protection.&lt;/p&gt;

&lt;p&gt;But in most production environments today, machines perform far more actions than people do.&lt;/p&gt;

&lt;p&gt;APIs.&lt;br&gt;
Service accounts.&lt;br&gt;
CI/CD workflows.&lt;br&gt;
Cloud roles.&lt;br&gt;
Automation jobs.&lt;/p&gt;

&lt;p&gt;These identities deploy code, push containers, rotate infrastructure, and connect services together.&lt;/p&gt;

&lt;p&gt;Yet they rarely receive the same level of visibility or scrutiny.&lt;/p&gt;

&lt;p&gt;That curiosity is what eventually led me to start building Nexora, and along the way I wrote a small research tool called nexora-cli.&lt;/p&gt;

&lt;p&gt;The CLI scans repository workflow configurations to highlight patterns that often introduce machine-identity risk.&lt;/p&gt;

&lt;p&gt;Nothing invasive.&lt;/p&gt;

&lt;p&gt;No private code.&lt;br&gt;
No secrets.&lt;/p&gt;

&lt;p&gt;Just configuration analysis.&lt;/p&gt;

&lt;p&gt;The Experiment&lt;/p&gt;

&lt;p&gt;I ran the scanner against 30 well-known open-source repositories.&lt;/p&gt;

&lt;p&gt;The goal wasn’t to call anyone out.&lt;/p&gt;

&lt;p&gt;Open source projects move fast and security tradeoffs happen everywhere.&lt;/p&gt;

&lt;p&gt;The idea was simply to understand how common certain automation risks really are.&lt;/p&gt;

&lt;p&gt;Across those repositories the scanner flagged over 500 potential findings.&lt;/p&gt;

&lt;p&gt;Most of them fell into a few recurring patterns.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mutable GitHub Actions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A surprisingly common pattern looked like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;uses: actions/checkout@v3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Instead of pinning the action to a specific commit SHA.&lt;/p&gt;

&lt;p&gt;When tags move upstream, workflows can end up executing different code than originally intended.&lt;/p&gt;

&lt;p&gt;Pinning to the commit SHA removes that uncertainty.&lt;/p&gt;

&lt;p&gt;It’s a small change but one that significantly reduces supply-chain exposure.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Long-Lived Automation Tokens&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Another pattern showed up repeatedly: credentials that never rotate.&lt;/p&gt;

&lt;p&gt;Many CI/CD environments rely on tokens that remain valid indefinitely.&lt;/p&gt;

&lt;p&gt;If one of those credentials leaks even briefly it can allow an attacker to trigger builds, publish artifacts, or move through automation pipelines.&lt;/p&gt;

&lt;p&gt;Machine credentials should behave more like temporary infrastructure keys, not permanent passwords.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Over-Privileged Automation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Automation jobs often run with permissions broader than they actually need.&lt;/p&gt;

&lt;p&gt;Examples included:&lt;/p&gt;

&lt;p&gt;CI pipelines with full repository access&lt;/p&gt;

&lt;p&gt;deployment workflows capable of modifying unrelated infrastructure&lt;/p&gt;

&lt;p&gt;service accounts with admin-level privileges&lt;/p&gt;

&lt;p&gt;Most of the time this happens for convenience.&lt;/p&gt;

&lt;p&gt;But once automation chains together multiple actions, excessive permissions create unnecessary blast radius.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Broad Workflow Triggers&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Another recurring pattern involved workflows triggered by very broad events.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;on: push&lt;/code&gt;&lt;br&gt;
Without restrictions on branches or execution context.&lt;/p&gt;

&lt;p&gt;This can create scenarios where unexpected commits or pull requests trigger automation with elevated permissions.&lt;/p&gt;

&lt;p&gt;What This Actually Shows&lt;/p&gt;

&lt;p&gt;None of these findings are catastrophic by themselves.&lt;/p&gt;

&lt;p&gt;But together they reveal something important.&lt;/p&gt;

&lt;p&gt;Machine identities accumulate risk quietly.&lt;/p&gt;

&lt;p&gt;They operate continuously in the background and often hold powerful permissions.&lt;/p&gt;

&lt;p&gt;When something eventually fails a dependency compromise, token exposure, or malicious commit those identities already have the access needed to cause damage.&lt;/p&gt;

&lt;p&gt;Why This Research Matters&lt;/p&gt;

&lt;p&gt;Modern infrastructure is increasingly automated.&lt;/p&gt;

&lt;p&gt;CI/CD pipelines deploy code.&lt;/p&gt;

&lt;p&gt;Cloud roles spin up infrastructure.&lt;/p&gt;

&lt;p&gt;APIs connect services together.&lt;/p&gt;

&lt;p&gt;As automation grows, machine identity security becomes just as important as human access control.&lt;/p&gt;

&lt;p&gt;That realization is what led to the creation of Nexora.&lt;/p&gt;

&lt;p&gt;The platform focuses on observing how machine identities behave across environments CI/CD systems, APIs, and cloud IAM — and detecting patterns that indicate risk.&lt;/p&gt;

&lt;p&gt;The research tool used for this experiment is nexora-cli, which analyzes repository workflows for automation security patterns.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;The most interesting takeaway wasn’t the number of findings.&lt;/p&gt;

&lt;p&gt;It was how predictable the patterns were.&lt;/p&gt;

&lt;p&gt;Most issues came from the same few habits:&lt;/p&gt;

&lt;p&gt;convenience over least privilege&lt;/p&gt;

&lt;p&gt;long-lived automation credentials&lt;/p&gt;

&lt;p&gt;workflows that quietly accumulate permissions over time&lt;/p&gt;

&lt;p&gt;These are natural outcomes of fast-moving engineering teams.&lt;/p&gt;

&lt;p&gt;Automation grows faster than visibility.&lt;/p&gt;

&lt;p&gt;If You're Curious&lt;/p&gt;

&lt;p&gt;If you want to experiment with the scanner or run it against your own repositories, the CLI is available here:&lt;br&gt;
&lt;a href="https://dev.tourl"&gt;github.com/nexora/nexora-cli&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m continuing to expand the research and would genuinely be interested in hearing what others find.&lt;/p&gt;

&lt;p&gt;Machine identity security is still an underexplored area, and real-world observations from engineers are the best way to understand where the risks actually live.&lt;/p&gt;

&lt;p&gt;Yasar Bin Gursain&lt;br&gt;
Founder, Nexora&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cybersecurity</category>
      <category>security</category>
      <category>github</category>
    </item>
  </channel>
</rss>
