Introduction to CICDGuard - Orchestrating visibility and security of CICD ecosystem
Pramod Rana (Application Security Team Lead · Netskope)
CODE BLUE 2025 · Day 2 · Bluebox
Overview
In today's fast-paced software development landscape, Continuous Integration and Continuous Delivery (CI/CD) pipelines are the backbone of modern applications, enabling rapid updates and feature rollouts. However, this acceleration brings significant security challenges. Pramod Rana, Application Security Team Lead at Netskope, presented CICDGuard, an open-source platform designed to address the critical gaps in visibility and security within complex CI/CD ecosystems. His talk at CODE BLUE illuminated the inherent dangers of unchecked CI/CD environments and offered a pragmatic solution to orchestrate their security.

Key moments
- 2:00 CI/CD's impact on security and visibility challenges
- 5:40 Introducing CICDGuard for CI/CD ecosystem security
- 11:00 CICDGuard's modular architecture explained
- 22:30 Demo: Visualizing CI/CD security issues in Neo4j
- 25:00 Cross-technology security issue example: MFA and repo access
- 33:00 Challenges in modeling diverse CI/CD workflows
- 35:00 Scan Engine vs. Analysis Engine explained
Introduction to CICDGuard - Orchestrating visibility and security of CICD ecosystem
Speakers: Pramod Rana, Application Security Team Lead, Netskope
Conference: CODE BLUE
YouTube: https://www.youtube.com/watch?v=pPh70c6GP6Q
Overview
In today's fast-paced software development landscape, Continuous Integration and Continuous Delivery (CI/CD) pipelines are the backbone of modern applications, enabling rapid updates and feature rollouts. However, this acceleration brings significant security challenges. Pramod Rana, Application Security Team Lead at Netskope, presented CICDGuard, an open-source platform designed to address the critical gaps in visibility and security within complex CI/CD ecosystems. His talk at CODE BLUE illuminated the inherent dangers of unchecked CI/CD environments and offered a pragmatic solution to orchestrate their security.
Rana highlighted that CI/CD platforms, once primarily automation tools, now wield extensive power and access to sensitive information, making them prime targets for attackers. The ease with which new technologies can be integrated often leads to a sprawling, untracked infrastructure, creating blind spots for security teams. A single compromised component within this interconnected web can trigger a cascading supply chain attack, impacting customer data and product integrity. CICDGuard aims to provide a holistic view by mapping these intricate relationships and identifying security misconfigurations that often go unnoticed in siloed security approaches.
The presentation underscored the urgent need for a solution that moves beyond securing individual CI/CD tools to understanding the entire ecosystem as an interconnected graph. Rana, drawing from over 16 years of experience in application and offensive security, shared the "pain" faced by security professionals in managing these complex environments. CICDGuard, as a response, offers a novel approach to gain deep visibility, detect security issues, and understand the ripple effects of vulnerabilities across the entire software delivery pipeline, from source code management to artifact deployment.
Background
▶ Watch: CI/CD's impact on security and visibility challenges (2:00)
The advent of CI/CD approximately 5 to 8 years ago fundamentally reshaped how software is developed and delivered. The industry shifted from infrequent, large-scale releases to continuous, daily updates, particularly evident in mobile applications. This rapid iteration necessitated the integration of security controls throughout the Software Development Life Cycle (SDLC), birthing the concept of "security in CI/CD." Over time, the platforms facilitating CI/CD—such as GitHub, GitHub Actions, Spinnaker, GitLab, JFrog Artifactory, and Drone—have accumulated increasing power and access to critical organizational data and infrastructure. This elevated status transforms them into high-value targets, making their security paramount.
The core problems addressed by CICDGuard stem from two primary challenges: visibility and security misconfiguration. With the ease of bootstrapping new technologies, often requiring just a few clicks or command-line deployments, organizations frequently lose track of their entire CI/CD landscape. Security teams struggle to maintain an accurate inventory of all deployed platforms, services, and their configurations. This lack of visibility is a foundational weakness, as "you cannot secure what you cannot see."
Furthermore, even when components are known, identifying subtle security misconfigurations across a diverse array of platforms is a Herculean task. A critical aspect of modern software supply chain security is recognizing that the compromise of a single component—be it a version control system, a build server, or an artifact repository—can have devastating cascading effects across the entire software delivery process. Rana emphasized that current security practices often treat each CI/CD tool in isolation, failing to identify the intricate relationships and potential attack paths that span multiple technologies. For instance, a publicly available GitHub Action or a Jenkins plugin, while individually vetted, might introduce vulnerabilities through subsequent updates or if its usage is not continuously monitored against approved security standards. CICDGuard was conceived to bridge these gaps, providing a unified view that connects these disparate dots and uncovers systemic risks.
Key Findings
▶ Watch: CICDGuard's modular architecture explained (11:00)
Pramod Rana's presentation effectively articulated several key findings that underscore the critical need for a tool like CICDGuard:
- Pervasive Lack of Ecosystem-Wide Visibility: The most fundamental issue identified is the absence of a comprehensive, unified view of the entire CI/CD ecosystem. Organizations typically have a fragmented understanding, focusing on individual platforms rather than their interconnectedness. This makes it impossible for security teams to answer basic questions like "What CI/CD platforms do we actually have?" or "How are they all configured and interacting?"
- Difficulty in Identifying Cross-Platform Security Risks: While individual CI/CD tools may have their own security features, detecting vulnerabilities that arise from the interaction or misconfiguration between different platforms is exceptionally challenging. Rana highlighted the "source to sync" problem: a security issue introduced in a Source Code Management (SCM) system, like GitHub, can directly impact the integrity of an artifact stored in a repository like JFrog Artifactory, yet tracing this chain of impact is often beyond the scope of traditional tools.
- Untracked Third-Party Add-ons and Their Evolving Risk: The widespread use of publicly available add-ons, GitHub Actions, and Jenkins plugins introduces significant supply chain risk. Organizations may vet these components upon initial integration, but their continuous updates and evolving security postures are rarely consistently monitored. This creates a blind spot where a previously approved component could become a vector for attack due to a new vulnerability or a change in maintenance.
- Misconfigurations as a Primary Attack Vector: Rana emphasized that many security incidents in CI/CD environments stem not from zero-day exploits but from common misconfigurations. These include unenforced Multi-Factor Authentication (MFA), excessive permissions, or insecure secrets management. Identifying these subtle yet critical flaws across a complex environment requires deep insight into configuration details.
- The Need for Relationship Mapping: A core insight was that security professionals need to understand "how a typical DevOps workflow will look like" (30:00). Security is not just about individual components but the relationships between them. For example, a user's access to a repository, the repository's role in triggering a build, and that build's deployment to an artifact repository form a critical chain. Without mapping these relationships, the true impact and severity of a localized vulnerability are often underestimated.
These findings collectively point to a systemic challenge in CI/CD security that cannot be solved by point solutions. CICDGuard emerged as a direct response to these pain points, aiming to provide the necessary visibility and relationship mapping to proactively identify and mitigate these complex, interconnected risks.
Technical Deep Dive
▶ Watch: Demo: Visualizing CI/CD security issues in Neo4j (22:30)
CICDGuard is engineered around a modular architecture comprising four primary components: the Scan Engine, Analysis Engine, a Graph Database, and an Output/Web UI, all requiring robust Authentication. This design allows for flexibility, scalability, and deep insight into the CI/CD ecosystem.
The Scan Engine is the foundational layer, responsible for data collection. Rana deliberately designed it with modularity in mind, recognizing the vast and evolving landscape of CI/CD technologies. Instead of a monolithic scanner, CICDGuard features distinct scanners for different platforms. As of the talk, four such scanners were implemented (e.g., for GitHub, GitHub Actions, Jenkins, and JFrog Artifactory), with a fifth in development. The rationale for differentiating scanners, even for technologies from the same vendor (like GitHub as an SCM versus GitHub Actions as a DevOps platform), is their fundamentally different purposes and configuration nuances (12:00). Each scanner is essentially a collection of Python scripts that can be used independently, allowing organizations to scan only the technologies relevant to them. The primary goal of the Scan Engine is to gather comprehensive metadata, irrespective of immediate security issues. This includes enumerating users, groups, plugins, jobs, builds, repositories, and platform-specific security controls, laying the groundwork for subsequent analysis (14:00).
All collected data is then ingested into a Neo4j graph database. Neo4j's strength lies in its ability to represent complex relationships, making it ideal for modeling interconnected CI/CD ecosystems. In CICDGuard's model, each piece of metadata—be it a user, a repository, a branch, a commit, a job, or a build—is represented as a node. The interactions and connections between these entities are depicted as edges. For instance, a "build" and a "job" are both nodes, connected by an edge indicating "triggered a build." Similarly, a "user" node might be connected to a "repository" node with an edge denoting "has access to," or to a "group" node with an "is part of" edge (24:00). Critically, Neo4j facilitates the identification of cross-technology relationships, such as a GitHub repository change triggering a Jenkins job or a GitHub Action initiated by a specific branch update (24:00). This granular representation, down to individual branches and commits, is key to uncovering subtle dependencies and potential attack paths.
The Analysis Engine operates on the data stored in Neo4j. Its dual mandate is to identify relationships between the scanned technologies and to pinpoint security misconfigurations within those environments. As the Scan Engine continuously populates the database with new and updated information, the Analysis Engine works in the background, correlating data from various platforms to build a holistic picture. It identifies security issues directly within the target environments and, more importantly, leverages the graph structure to discover relationships that span across different CI/CD tools, highlighting potential cascading vulnerabilities.
For Output and Visualization, CICDGuard offers several options. Users can consume raw output via the command line or as JSON files for integration with other security tools. However, the most compelling output is through the Neo4j console itself or a basic web UI. While Rana, primarily a backend developer, acknowledged the UI's simplicity, he emphasized that Neo4j's native console provides powerful querying and visualization capabilities. In the UI, red nodes are used to visually flag components with identified security issues, making it easy to spot critical vulnerabilities within the complex graph (22:00).
Finally, Authentication is a critical aspect for the Scan Engine's operation. CICDGuard requires a read-only user or service account with broad access to all resources within the target CI/CD environments. This ensures the scanner can collect comprehensive data without making any unauthorized modifications. Rana recommended using environmental variables for credential management to enhance security, though command-line arguments and configuration files are also supported (16:00). This combination of modular scanning, powerful graph database analysis, and flexible output makes CICDGuard a robust solution for orchestrating CI/CD security.
Demo / Proof of Concept
▶ Watch: Challenges in modeling diverse CI/CD workflows (33:00)
Pramod Rana's demonstration of CICDGuard provided a tangible illustration of its capabilities, showcasing how the tool transforms abstract security concerns into actionable insights. The demo involved scanning two common CI/CD platforms: GitHub and Jenkins, with the intention of revealing their interconnected security posture.
The process began by executing the GitHub scanner, configured to fetch credentials from environmental variables for security best practice. As the scanner ran, the terminal displayed a real-time stream of its activities, showing successful data fetches (marked in green) and gracefully handling exceptions (marked in yellow). Rana explained that CICDGuard is designed to continue scanning even if it encounters errors for specific components, simply skipping the problematic piece rather than halting the entire operation. This ensures maximum data collection even in imperfect environments (18:00). The GitHub scanner enumerated repositories, users, groups, and various security settings, ingesting all this granular information into the Neo4j graph database in the backend.
Following the GitHub scan, the Jenkins scanner was initiated, performing a similar data collection process. It identified Jenkins jobs, builds, users, groups, and plugin configurations, again feeding this data into the same Neo4j instance. Crucially, as both scans populated the database, the Analysis Engine was actively processing this information, identifying relationships between the newly added Jenkins data and the previously scanned GitHub data.
The true power of CICDGuard was then unveiled through its visualization interface, which displayed the interconnected graph of the scanned CI/CD ecosystem. The graph was a sprawling network of nodes (representing components like users, repositories, jobs) and edges (representing relationships like "has access to" or "triggers"). A key visual indicator was the use of red nodes, signifying components with identified security issues (22:00).
Rana walked through a compelling example of a cross-technology vulnerability chain:
- A red node was identified, representing a GitHub user who did not have Multi-Factor Authentication (MFA) enabled (a security misconfiguration).
- This user had write access (an edge) to a specific GitHub repository (represented by a black node).
- This particular GitHub repository was configured to trigger a Jenkins build (another edge, connecting a GitHub node to a Jenkins-colored node).
- This Jenkins build was known to be responsible for creating a binary that was deployed into the customer environment (26:00).
This demonstration vividly illustrated how a seemingly isolated misconfiguration (lack of MFA on a GitHub user) could have a direct and critical impact on the final deployed software product. It highlighted a vulnerability chain that would be incredibly difficult to identify using traditional, siloed security tools. The demo also showed how users could filter the graph, for example, to find all users without MFA who have "right access" to repositories, providing targeted remediation insights. The potential to extend this further, integrating with cloud environment scans to link CI/CD vulnerabilities to specific running containers or binaries, was also discussed, pointing towards future runtime awareness capabilities (28:00).
Defensive Implications
▶ Watch: Scan Engine vs. Analysis Engine explained (35:00)
The insights and capabilities offered by CICDGuard have profound defensive implications for organizations grappling with CI/CD security:
- Comprehensive CI/CD Asset Inventory: Defenders can leverage CICDGuard to gain a complete and up-to-date inventory of all CI/CD platforms, components, and their configurations across the organization. This addresses the fundamental "visibility problem," enabling security teams to know exactly what they need to protect (04:00, 14:00).
- Proactive Misconfiguration Detection: CICDGuard automates the identification of security misconfigurations within individual CI/CD tools. This includes detecting issues like excessive permissions, insecure secrets management, or critical security features (e.g., MFA) not being enforced on critical user accounts (06:00, 26:00). By continuously scanning, organizations can catch these misconfigurations before they are exploited.
- Software Supply Chain Risk Mapping and Prioritization: The graph-based approach allows security teams to visualize and understand the complex relationships between CI/CD components, from source code to deployment. This enables the mapping of potential attack paths and the identification of critical choke points. Defenders can prioritize remediation efforts based on the cascading impact of vulnerabilities across the entire software supply chain, rather than just isolated issues (04:00, 06:00, 26:00).
- Enforcement of Security Policies and Governance: CICDGuard provides a mechanism to verify adherence to internal security policies. For instance, if a policy dictates that all GitHub users must have MFA enabled, the tool can quickly identify non-compliant users. It also helps track the use of third-party add-ons and plugins, ensuring they are vetted and continuously monitored for security updates, addressing the "governance piece" (08:00, 10:00).
- Improved Incident Response and Root Cause Analysis: In the event of a security incident, the detailed graph of CI/CD relationships can significantly aid in root cause analysis. Defenders can quickly trace back from a compromised artifact or deployed binary to the specific CI/CD pipeline, job, repository, and even user responsible for its introduction, expediting remediation.
- Future Runtime Awareness Integration: While not fully implemented, the vision for CICDGuard includes integrating with cloud infrastructure scans. This would allow defenders to connect vulnerabilities identified in the CI/CD pipeline to actual running instances in production (e.g., identifying which container is running a binary built by a compromised pipeline). This bridges the gap between development-time and runtime security, providing a holistic view of an application's security posture (28:00).
By providing deep visibility, automating misconfiguration detection, and mapping inter-component relationships, CICDGuard empowers defenders to move from reactive security measures to a proactive, ecosystem-wide approach to securing their critical CI/CD pipelines.
Key Takeaways
- CI/CD Ecosystems Demand Holistic Security: Securing individual CI/CD tools is insufficient; a comprehensive, ecosystem-wide view is essential to identify and mitigate risks stemming from interconnected components.
- Visibility is Foundational: The first step to securing complex CI/CD environments is gaining complete visibility into all platforms, configurations, and their relationships, addressing the common blind spots faced by security teams.
- Graph Databases Power Relationship Mapping: Tools like CICDGuard leverage graph databases (e.g., Neo4j) to effectively model intricate relationships between CI/CD nodes (users, repositories, jobs, builds) and identify cascading vulnerabilities across different technologies.
- Misconfigurations Are Prime Attack Vectors: Many CI/CD security risks arise from common misconfigurations (e.g., lack of MFA, excessive permissions), which CICDGuard helps detect across the entire pipeline.
- Third-Party Components Introduce Significant Risk: The continuous monitoring and vetting of publicly available add-ons, GitHub Actions, and Jenkins plugins are critical to prevent supply chain attacks introduced through external dependencies.
- Automated Scanning and Analysis are Crucial: Given the dynamic nature of CI/CD environments, automated scanning and analysis are necessary to continuously identify security issues and ensure policy adherence, enabling proactive defense.
About the Speaker(s)
Pramod Rana is a seasoned cybersecurity professional with over 16 years of experience in the industry. He currently leads the Application Security Assurance function at Netskope, focusing on securing complex software ecosystems. Rana's career began in offensive security, providing him with a deep understanding of attacker methodologies, before transitioning into the application security space.
A strong advocate for open-source contributions, Pramod Rana is the author of three notable open-source projects: Omniscent, V-Prioritizer, and the subject of this talk, CICDGuard. His expertise is frequently sought after at major security conferences, where he has presented at events such as Black Hat, DevCon, and Nalcon. Additionally, he plays a significant role in the cybersecurity community as the leader of the OWASP (Open Web Application Security Project) Pune chapter, an organization dedicated to improving software security. His foundational knowledge is further evidenced by his Offensive Security Certified Professional (OSCP) certification, which he achieved a decade prior to this talk.
Reviews
Dr. Zero (Offensive Security Researcher) — SOLID
Competent tooling talk that addresses a real pain point — CI/CD ecosystem sprawl and the cross-platform visibility gap — but stops well short of anything novel. CICDGuard is useful; the talk itself is a product walkthrough with no research edge.
Heather Calloway (CISO) — SOLID
Competent practitioner tooling for CI/CD visibility. Solves a real pain point — most security teams genuinely cannot inventory their pipeline sprawl — but the tool is early-stage and the talk doesn't demonstrate detection depth beyond basic misconfiguration checks. Worth evaluating if you're drowning in pipeline sprawl; not a priority otherwise.