At CocoIndex, we’ve always believed that the strength of open source lies in its community and in building transparent, reliable infrastructure together. CocoIndex is a data transformation framework that sits between raw data and the AI systems that depend on it, and that position makes security a core requirement.
When developers trust CocoIndex to process sensitive documents, codebases, and enterprise data, we owe them the highest standards. We are honored to be selected to join the GitHub Secure Open Source Fund, to formalize our commitment and accelerate our security practices.
What is GitHub’s Secure Open Source Fund?

When the Log4j “Log4Shell” vulnerability hit in December 2021, it showed that a bug in one small, underfunded open-source project can ripple through the entire global tech stack. Most apps today rely on countless dependencies, many maintained by unpaid volunteers, and a weakness in any one of them reaches everyone downstream.
Recognizing this, GitHub launched the Secure Open Source (SOS) Fund in late 2024 to strengthen the foundation of open-source security. The program pairs direct funding with a focused three-week security sprint that combines expert guidance, better tooling, and a community of security-conscious maintainers.
In its first two cohorts, 125 maintainers from 71 projects participated, collectively fixing over 1,100 vulnerabilities, disclosing 50+ new CVEs, and resolving nearly 270 secret exposures.
Participants also exchanged knowledge, leveraged AI-assisted tools like GitHub Copilot for security tasks, and developed incident response plans that many have since published for others to reuse.
What is CocoIndex?
Dynamic context engineering for AI.
As AI systems evolve from chatbots to autonomous agents, one hard problem keeps coming back: keeping context accurate and up to date as the underlying data changes.
Enterprises sit on massive, dynamic datasets (documents, codebases, emails, APIs), yet most data infra is still batch-oriented and blind to change. Every shift in data or logic forces engineers to rebuild from scratch, breaking the feedback loop between real-time world state and AI decision-making. Dynamic context engineering addresses this: maintaining an AI system’s “mental model” of the world, continuously, reliably, and incrementally. CocoIndex is our take on making this simple, with a declarative Python-native data transformation engine designed for AI workloads, and you will never need to handle change.
Think of it as React for data processing.
The Cohort & Thanks to our batchmates
We were in the program alongside Pandas, Apache Airflow, Fabric.js, PyPI, and others. We heard from teams dealing with similar challenges: how they handle dependency updates, structure security reviews, and think about trust boundaries.
Open source can be isolating. You’re deep in your own codebase, solving your own problems. Hearing how other maintainers answer the same security questions was one of the most useful parts of the program.
Strengthening CocoIndex: Security Improvements Implemented
During the program, the CocoIndex team ran a focused security sprint to harden both our codebase and the way we build and ship it.
With guidance from GitHub Security Lab and community experts, we concentrated on four areas that matter most for a framework sitting directly in AI data paths.
Threat modeling & AI-specific risk assessment
We systematically threat-modeled the CocoIndex framework, examining how an attacker might exploit a data transformation pipeline that feeds directly into AI systems. We mapped out attack vectors including adversarial document content that could poison embeddings, prompt injection through source data that could manipulate LLM-based extraction, and compromised dependencies that could silently corrupt downstream indexes. Resources like the Adversarial AI Reading List and Embrace The Red were particularly useful in shaping this analysis. By identifying these failure points upfront, we developed mitigation strategies before they could be exploited in production pipelines.
Secure coding & automated checks
We wired GitHub’s security tooling directly into CocoIndex’s development loop. CodeQL now runs on every pull request, scanning both our Rust core and Python SDK for vulnerability patterns. For a system where data flows from sources through transformations to targets, CodeQL’s data flow analysis maps naturally onto our architecture, tracing untrusted input from ingestion all the way to exported artifacts. We also enabled secret scanning to keep credentials and API keys out of the repository, and we started using GitHub Copilot as a guardrail during development to surface potential issues before code is even committed. Together, these checks act as a continuous security layer in our CI pipeline, catching problems early instead of after a release.
Dependency & supply chain hardening
CocoIndex integrates with embedding models, vector databases, document parsers, and cloud storage backends, each one pulling in its own dependency chain. We audited our dependencies across both the Rust core and Python SDK, going beyond direct dependencies to examine the transitive tree underneath. We tightened our dependency review process with more systematic tracking of what we depend on and why, and adopted the OpenSSF Scorecard to continuously benchmark our project’s security posture across branch protection, dependency updates, CI/CD practices, and more. Following OpenSSF standards, we’re working toward a comprehensive software bill of materials (SBOM) for each release, giving users visibility into exactly what ships with CocoIndex.
Policy, documentation & vulnerability response
We formalized our SECURITY.md with clear instructions for responsible disclosure and defined response commitments. Vulnerabilities should be reported to [email protected], not filed as public issues. We also established an internal process for triaging and patching reported vulnerabilities: who gets involved, how we communicate, and how quickly we ship fixes. Every new connector or transformation function now gets reviewed through the lens of: what’s the worst-case input, and what happens if a dependency in this path is compromised?
CodeQL is already catching issues that manual review missed, and the disclosure process gives users a clear channel when something does slip through. Because CocoIndex sits in the data path of the AI systems built on it, these improvements carry downstream to every application that depends on those pipelines.
Thank You to Our Contributors
None of this would have been possible without the people who build CocoIndex with us every day. Everyone who has submitted a PR, reported a bug, reviewed code, or helped another user in Discord: you’re the reason this project exists and the reason it was recognized.
We especially want to thank those doing the work that doesn’t show up in commit logs: writing documentation, answering questions, and building examples that help new users get started.
Looking Forward
The sprint is over, but the checks it added run on every pull request, and the review habits stay with us for every new connector and integration.
The GitHub Secure Open Source Fund gave us dedicated time, expert guidance, and a community of peers to learn from. The improvements we’ve made will benefit every developer who builds an AI pipeline with CocoIndex.
We’re grateful to GitHub and the entire cohort for this experience, and we plan to keep sharing what we’ve learned with the broader AI infrastructure community.
CocoIndex is open source on GitHub. Questions or feedback: join our Discord.
Frequently asked questions.
What is the GitHub Secure Open Source Fund?
The Secure Open Source (SOS) Fund is a GitHub program launched in late 2024 to strengthen the security of open-source projects after the Log4j "Log4Shell" vulnerability showed how a single underfunded dependency can ripple through the entire software stack. It pairs direct funding with a focused three-week security sprint that combines expert guidance, better tooling, and a community of security-conscious maintainers.
Across its first two cohorts, 125 maintainers from 71 projects fixed over 1,100 vulnerabilities, disclosed 50+ new CVEs, and resolved nearly 270 secret exposures. See What is GitHub's Secure Open Source Fund?
What security improvements did CocoIndex make during the program?
CocoIndex ran a focused security sprint across four areas that matter most for a framework sitting directly in AI data paths:
- Threat modeling & AI-specific risk assessment: mapping attack vectors like adversarial document content that could poison embeddings and prompt injection through source data.
- Secure coding & automated checks: CodeQL on every pull request plus secret scanning across the Rust core and Python SDK.
- Dependency & supply-chain hardening: auditing direct and transitive dependencies and adopting the OpenSSF Scorecard.
- Policy, documentation & vulnerability response: a formal disclosure process.
See Strengthening CocoIndex: Security Improvements Implemented.
How do I report a security vulnerability in CocoIndex?
Vulnerabilities should be reported to [email protected], not filed as public GitHub issues. CocoIndex formalized its SECURITY.md with clear instructions for responsible disclosure and defined response commitments, along with an internal process for triaging and patching reported issues.
See Strengthening CocoIndex: Security Improvements Implemented.
How does CocoIndex use CodeQL for security scanning?
CocoIndex wired GitHub's security tooling directly into its development loop. CodeQL now runs on every pull request, scanning both the Rust core and the Python SDK for vulnerability patterns. Because data flows from sources through transformations to targets, CodeQL's data flow analysis maps naturally onto the architecture, tracing untrusted input from ingestion all the way to exported artifacts.
See Strengthening CocoIndex: Security Improvements Implemented.
What is CocoIndex?
CocoIndex is a declarative, Python-native data transformation engine designed for AI workloads. The team describes it as dynamic context engineering for AI, or "React for data processing." It continuously maintains an AI system's mental model of the world reliably and incrementally, so engineers never need to rebuild from scratch when data or logic changes.
What security risks are specific to AI data pipelines?
While threat-modeling the framework, CocoIndex mapped attack vectors specific to a pipeline that feeds directly into AI systems: adversarial document content that could poison embeddings, prompt injection through source data that could manipulate LLM-based extraction, and compromised dependencies that could silently corrupt downstream indexes.
See Strengthening CocoIndex: Security Improvements Implemented.