Security Policy - krishanth7/EveryO GitHub Wiki

Security Policy

EveryO — Secure Development, Vulnerability Disclosure & Software Integrity

Prevent · Detect · Report · Assess · Remediate · Verify

Security Python Serialization License

A security reference for EveryO users, contributors, researchers, reviewers, and maintainers.

Home · Coding Standards · Pull Request Guidelines · Release Process


Security Maintainer: @krishanth7

Official Policy: SECURITY.md

Caution

Do not publicly disclose an unpatched security vulnerability.

Submit sensitive reports through GitHub Private Vulnerability Reporting.

Do not include exploit details, private data, or proof-of-concept attack code in public GitHub issues.

Important

Policy precedence: The repository's SECURITY.md is authoritative. This Wiki page explains the policy and recommends additional safeguards. It does not expand the project's formal security commitments.


Table of Contents

  1. Security Overview
  2. Security Principles
  3. Supported Versions
  4. Reporting Vulnerabilities
  5. Security Response Targets
  6. Responsible Disclosure
  7. Threat Model
  8. Attack Surface Overview
  9. Secure Model Serialization
  10. Untrusted Model Files
  11. Data and Configuration Security
  12. Privacy, Network and Telemetry
  13. CUDA and Native Code Security
  14. Dependency Security
  15. Authentication and Credentials
  16. Repository Security
  17. Secure Coding Standards
  18. Security Testing
  19. CI/CD and Release Security
  20. Vulnerability Classification
  21. Incident Response
  22. Security Fix Verification
  23. Security Advisories
  24. Researcher Recognition
  25. Security Responsibilities
  26. Security Checklist
  27. Official References
  28. Next Steps

1. Security Overview

EveryO is an open-source neural computing framework designed to operate locally without mandatory external services.

Its core security design emphasizes:

  • No required credentials.
  • No network requests from the core library.
  • No built-in usage telemetry.
  • Pickle-free model serialization.
  • Optional native CUDA acceleration.
  • Minimal core dependencies.

These design choices reduce certain attack surfaces but do not eliminate software vulnerabilities.

1.1 Security Objectives

Objective Intended Protection
Confidentiality Prevent unauthorized data disclosure
Integrity Prevent unauthorized modification or execution
Availability Preserve expected framework operation
Supply-chain security Reduce dependency and package risks
Model safety Handle serialized models without executing embedded code
Transparency Provide clear reporting and remediation procedures

1.2 Security Scope

This policy covers EveryO's own source code, serialization, input processing, configuration handling, optional native extension, and release practices.

It does not guarantee that every application built using EveryO is secure.


2. Security Principles

2.1 Minimize Attack Surface

Avoid adding unnecessary:

  • Network access.
  • Authentication systems.
  • Privileged operations.
  • External services.
  • Native extensions.
  • Dynamic code execution.

2.2 Secure by Design

Security should be considered during architecture and implementation, not only after a vulnerability is discovered.

2.3 Explicit Trust Boundaries

External model files, datasets, configurations, and dependencies should be treated according to their trust level.

2.4 Least Privilege

Development and release systems should receive only the permissions needed for their tasks.

2.5 Verifiable Claims

Do not claim that a component is secure merely because it uses a familiar technology.

Security properties must be supported by design, testing, and appropriate review.


3. Supported Versions

The current repository security policy lists:

Version Security Support
0.1.x Supported in the published security table
Earlier than 0.1 Unsupported

Warning

Version-policy discrepancy

The project's pyproject.toml currently declares version 0.2.0, while the security policy's supported-version table still identifies 0.1.x.

Therefore, this Wiki cannot confirm the formal security-support status of 0.2.x. The maintainer should reconcile the version table in SECURITY.md.

The existing policy also states that security fixes land on the latest release.

Users should check the current official policy and release information before relying on version-support claims.


4. Reporting Vulnerabilities

Security reports must be submitted privately.

4.1 Preferred Reporting Channel

Report a Vulnerability — EveryO

Navigate to:

EveryO Repository
        |
        v
Security
        |
        v
Report a vulnerability
        |
        v
Private Security Report

4.2 If Private Reporting Is Unavailable

The official policy permits opening a public issue containing only a request for a private contact channel.

Do not include:

  • Vulnerability details.
  • Reproduction steps.
  • Exploit code.
  • Sensitive logs.
  • Affected private data.

A maintainer can then arrange private communication.

4.3 Security Email

EveryO does not currently publish a dedicated security email address.

Do not assume an unverified email address is an official security contact.

4.4 Report Contents

A useful report should include:

  1. Affected EveryO version.
  2. Python version.
  3. Operating system.
  4. Affected component.
  5. Minimal reproduction.
  6. Security impact.
  7. Preconditions.
  8. Suggested remediation, if available.

4.5 Security Impact Examples

  • Arbitrary code execution.
  • Unauthorized data transmission.
  • Memory corruption.
  • Unsafe model loading.
  • Configuration-based code execution.

5. Security Response Targets

The official SECURITY.md publishes the following targets:

Stage Target
Acknowledgement Within 7 days
Initial assessment Within 14 days
Fix or mitigation plan Communicated after assessment

These are best-effort targets, not a contractual service-level agreement.

EveryO is maintained as a volunteer open-source project.

5.1 Recommended Response Stages

Private Report
      |
      v
Acknowledgement
      |
      v
Initial Assessment
      |
      v
Reproduction
      |
      v
Impact Evaluation
      |
      v
Fix or Mitigation Plan
      |
      v
Patch Development
      |
      v
Security Verification
      |
      v
Coordinated Disclosure

5.2 Communication

The official policy commits to keeping researchers updated and avoiding an open-ended disclosure embargo.


6. Responsible Disclosure

Responsible disclosure gives maintainers an opportunity to investigate and correct a vulnerability before public release of exploit details.

6.1 Researcher Expectations

Researchers should:

  • Report privately.
  • Minimize unnecessary data access.
  • Avoid disrupting unrelated systems.
  • Avoid exposing private information.
  • Provide clear technical evidence.
  • Allow a reasonable remediation period.

6.2 Maintainer Expectations

Maintainers should:

  • Acknowledge reports.
  • Assess impact.
  • Communicate progress.
  • Develop a proportionate response.
  • Coordinate disclosure.
  • Credit researchers unless anonymity is requested.

6.3 Public Disclosure

Public advisories should explain the vulnerability and mitigation without unnecessarily exposing sensitive information before affected users can respond.


7. Threat Model

A threat model identifies assets, possible adversaries, attack surfaces, and trust boundaries.

7.1 Protected Assets

EveryO-related assets may include:

  • Local datasets.
  • Model parameters.
  • Training outputs.
  • Configuration files.
  • Application files.
  • Host memory.
  • User environment integrity.

7.2 Relevant Attackers

Potential attackers may control:

  • A downloaded model archive.
  • Untrusted input data.
  • A configuration file.
  • A compromised dependency.
  • A malicious package artifact.

7.3 Trust Boundaries

     External / Untrusted Sources
                |
      +---------+---------+
      |         |         |
      v         v         v
   Models     Data     Configurations
      |         |         |
      +---------+---------+
                |
                v
         Validation Layer
                |
                v
        EveryO Core Runtime
                |
         +------+------+
         |             |
         v             v
     NumPy CPU     Optional CUDA
         |             |
         +------+------+
                |
                v
          Host Resources

7.4 Security Boundary

Untrusted input must not be allowed to cross into code execution or unsafe memory access through vulnerabilities in EveryO.


8. Attack Surface Overview

Component Potential Risk Primary Mitigation
.evo archives Malicious model content Pickle-free format and registered modules
Data parsing Unsafe input processing Validation and safe parsing
Configuration Unexpected execution Structured parsing and validation
CUDA kernels Out-of-bounds access Bounds checks and error checks
Dependencies Supply-chain vulnerabilities Dependency review
Build artifacts Compromised distributions Artifact verification
Repository Credential exposure Secret hygiene and access controls

This is a threat-model summary, not a claim that every potential vulnerability has been eliminated.


9. Secure Model Serialization

EveryO uses a custom .evo model archive.

9.1 Archive Structure

model.evo
│
├── manifest.json
│
└── parameters.npz

9.2 Manifest

manifest.json contains structured model metadata and architecture information.

9.3 Parameters

parameters.npz stores numerical arrays.

The loader uses:

np.load(..., allow_pickle=False)

This prevents NumPy from loading pickled Python objects through that mechanism.

9.4 Module Reconstruction

EveryO reconstructs models using registered module classes.

Unknown classes are rejected rather than dynamically executed from arbitrary model-file contents.

9.5 Security Properties

The format is designed to avoid:

  • Arbitrary Python pickle execution.
  • Embedded executable model definitions.
  • Unrestricted dynamic class imports.

9.6 Important Limitation

Pickle-free loading reduces code-execution risk but does not automatically guarantee protection from every malformed archive, resource-exhaustion scenario, or implementation defect.


10. Untrusted Model Files

Treat downloaded model files as untrusted input.

10.1 Recommended Precautions

  • Obtain models from trusted sources.
  • Verify hashes when available.
  • Inspect metadata.
  • Avoid unnecessary privileges.
  • Use isolated environments for higher-risk analysis.
  • Keep the framework updated.

10.2 Archive Inspection

EveryO exposes:

import everyo as eo

info = eo.inspect_archive("model.evo")

print(info)

Inspection provides metadata; it does not establish that a model is safe or trustworthy.

10.3 Loading

import everyo as eo

model = eo.load("model.evo")

10.4 Reportable Behavior

If a specially crafted archive causes EveryO's loader to execute attacker-controlled code, report it as a security vulnerability.

10.5 Resource Limits

For higher-risk environments, consider process isolation and operating-system resource limits.

The official policy excludes denial of service caused solely by deliberately enormous allocations.


11. Data and Configuration Security

External data can influence runtime behavior.

11.1 Data Validation

Validate:

  • Array shapes.
  • Dtypes.
  • Expected dimensions.
  • File formats.
  • Numeric ranges where applicable.
  • Configuration constraints.

11.2 Avoid Dynamic Evaluation

Do not interpret untrusted configuration content using:

eval(...)

or:

exec(...)

11.3 Structured Formats

Prefer structured parsers for JSON, YAML, and other supported configuration formats.

Use safe YAML loading rather than unsafe object construction.

11.4 File Paths

Applications should validate file paths when operating in restricted directories or multi-user environments.

11.5 Application Responsibility

EveryO applications may introduce additional risks through file uploads, web APIs, authentication, or remote execution.

Those application-level risks require separate controls.


12. Privacy, Network and Telemetry

The official security policy states that EveryO's core:

  • Requires no API credentials.
  • Makes no network requests.
  • Does not collect usage telemetry.
  • Does not transmit user activity through its CLI.

12.1 Local Processing

Core tensor and model operations are designed for local execution.

12.2 Unexpected Connections

Unexpected outbound connections from EveryO's core should be treated as a potential security issue.

12.3 Third-Party Tools

Applications using external services or dependencies may have different privacy properties.

EveryO's core policy does not govern all software that integrates with it.

12.4 Recommended Privacy Practices

  • Avoid logging sensitive datasets.
  • Do not commit private training data.
  • Limit access to model artifacts.
  • Document any new network-dependent functionality.

13. CUDA and Native Code Security

EveryO's CUDA extension is optional.

Native code introduces memory-safety risks that are different from those of ordinary Python code.

13.1 Primary Risks

  • Out-of-bounds reads.
  • Out-of-bounds writes.
  • Invalid pointers.
  • Use-after-free.
  • Incorrect buffer sizes.
  • Device synchronization defects.

13.2 Existing Safeguards

The official security policy describes:

  • Bounds checking.
  • CUDA error checking.
  • RAII-owned device memory.

13.3 CUDA Error Checking

The repository uses facilities such as:

EVERYO_CUDA_CHECK(...)

and:

EVERYO_CUDA_CHECK_KERNEL()

13.4 Recommended Validation

  • Compare kernels against CPU references.
  • Test boundary dimensions.
  • Test unusual tensor shapes.
  • Validate allocation sizes.
  • Review ownership and cleanup.
  • Use appropriate native memory-checking tools.

13.5 Reporting

Report native memory corruption or out-of-bounds behavior through the private vulnerability channel.


14. Dependency Security

EveryO's declared core dependencies are:

numpy>=1.22
matplotlib>=3.5

Optional integrations include TensorFlow, ONNX-related packages, PyYAML, and CUDA build dependencies.

14.1 Dependency Responsibility

The official policy distinguishes:

  • Vulnerabilities originating in third-party packages.
  • Vulnerabilities caused by EveryO's unsafe use of those packages.

Upstream vulnerabilities should generally be reported to the affected upstream project.

Unsafe integration by EveryO is within EveryO's security scope.

14.2 Recommended Dependency Review

  • Review dependency changes.
  • Check published advisories.
  • Avoid unnecessary packages.
  • Assess transitive dependencies.
  • Keep build tools updated.
  • Validate compatibility after upgrades.

14.3 Audit Tools

For a development environment:

python -m pip install pip-audit

python -m pip_audit

This is a recommended additional check, not a verified mandatory EveryO CI gate.

14.4 Audit Limitations

Automated audits do not detect every vulnerability.

A clean audit does not prove that an environment is secure.


15. Authentication and Credentials

EveryO's core does not require user accounts or API keys.

15.1 Credential Policy

Never commit:

  • API tokens.
  • Passwords.
  • Private keys.
  • Cloud credentials.
  • Signing keys.
  • Personal access tokens.

15.2 Environment Files

Avoid committing sensitive .env files.

The repository's .gitignore excludes common sensitive file patterns.

15.3 Release Credentials

Use appropriately scoped publishing credentials or trusted publishing for release automation.

15.4 Credential Exposure

If credentials are accidentally exposed:

  1. Revoke or rotate them.
  2. Assess exposure.
  3. Notify the relevant maintainers.
  4. Remove the secret from active use.
  5. Follow the appropriate incident procedure.

Deleting a credential from the latest commit does not necessarily remove it from Git history.


16. Repository Security

Repository controls protect source integrity.

16.1 Recommended GitHub Controls

  • Multi-factor authentication.
  • Least-privilege access.
  • Reviewed pull requests.
  • Required status checks.
  • Branch protection.
  • Dependency alerts.
  • Secret scanning where available.

These are recommended controls; this page does not claim they are all currently enabled.

16.2 Contribution Integrity

EveryO's repository rules prohibit:

  • Malicious code.
  • Credential harvesting.
  • Unauthorized telemetry.
  • Undisclosed network activity.
  • Fabricated technical results.
  • Unreviewed generated bulk changes.

16.3 Pull Request Review

Security-sensitive changes should receive careful review of:

  • Inputs.
  • File operations.
  • Dependencies.
  • Serialization.
  • Native code.
  • Network behavior.
  • Permissions.

17. Secure Coding Standards

17.1 Validate Inputs

Reject invalid shapes, dimensions, and configuration values before unsafe operations.

17.2 Avoid Hidden Side Effects

Functions should not unexpectedly:

  • Access networks.
  • Modify unrelated files.
  • Collect telemetry.
  • Execute external commands.

17.3 Safe Exceptions

Errors should be useful without exposing credentials or sensitive information.

17.4 Resource Management

Use deterministic cleanup and context managers where appropriate.

17.5 Native Boundaries

Validate buffer sizes and memory ownership when crossing Python/native boundaries.

17.6 Maintain Compatibility

Security fixes should preserve the CPU-only core architecture unless the approved change specifically requires otherwise.


18. Security Testing

Security testing should complement functional and numerical tests.

18.1 Core Test Suite

python -m pytest -q

18.2 Linting

ruff check .

18.3 Formatting

ruff format --check .

18.4 Recommended Security Test Categories

Area Test Objective
Serialization Reject malformed or unsupported archives
Configuration Reject unsafe or invalid values
Data parsing Handle malformed inputs safely
CUDA Detect invalid memory access
Dependencies Identify known advisories
Packaging Prevent sensitive-file inclusion

18.5 Regression Tests

When fixing a security defect, add a regression test where feasible without publicly exposing dangerous details prematurely.

18.6 Test Claims

Do not state that a security test passed unless it was actually executed.


19. CI/CD and Release Security

The release pipeline is a potential supply-chain attack surface.

19.1 Recommended Protections

  • Restrict publishing permissions.
  • Use protected environments.
  • Require maintainer approval.
  • Validate build artifacts.
  • Minimize workflow permissions.
  • Use trusted publishing.
  • Verify release tags.

19.2 Artifact Verification

Before publication:

python -m build

python -m twine check dist/*

19.3 Package Inspection

Inspect wheels and source distributions for:

  • Unexpected executables.
  • Credentials.
  • Private data.
  • Unnecessary files.
  • Unexpected dependencies.

19.4 Release Traceability

A published artifact should be traceable to an approved source revision.

19.5 Security Advisories

Critical security fixes may require coordinated publication of a patched release and GitHub advisory.


20. Vulnerability Classification

The official security policy defines scope but does not publish a formal severity-scoring standard.

The following classification is a recommendation for triage.

Severity Illustrative Impact
Critical Reliable remote code execution in a realistic supported scenario
High Significant unauthorized code execution or memory corruption
Medium Security impact requiring meaningful preconditions
Low Limited security impact
Informational Hardening suggestion without demonstrated exploitability

Severity should consider:

  • Exploitability.
  • Required privileges.
  • User interaction.
  • Confidentiality impact.
  • Integrity impact.
  • Availability impact.

CVSS may be used when appropriate, but no specific scoring system is currently mandated by the verified policy.


21. Incident Response

21.1 Recommended Incident Lifecycle

Detect
  |
  v
Contain
  |
  v
Investigate
  |
  v
Assess Impact
  |
  v
Develop Fix
  |
  v
Verify Fix
  |
  v
Publish Advisory
  |
  v
Monitor

21.2 Initial Actions

  • Preserve relevant evidence.
  • Limit unnecessary disclosure.
  • Identify affected versions.
  • Assess exploitability.
  • Coordinate with the maintainer.

21.3 Remediation

Possible responses include:

  • Code patch.
  • Configuration mitigation.
  • Dependency update.
  • Security advisory.
  • Corrective release.

21.4 Post-Incident Review

Review:

  • Root cause.
  • Detection gaps.
  • Testing gaps.
  • Communication.
  • Preventive controls.

22. Security Fix Verification

Security patches must address the underlying vulnerability.

22.1 Verification Requirements

  • Reproduce the defect where safely possible.
  • Confirm the fix blocks the issue.
  • Add regression coverage.
  • Run relevant functional tests.
  • Assess compatibility.
  • Review for similar vulnerabilities.

22.2 Native Code Fixes

For CUDA-related vulnerabilities, test relevant memory boundaries and hardware-backed behavior.

22.3 Serialization Fixes

For model-loading vulnerabilities, verify that malicious input cannot bypass the intended pickle-free and registered-module design.

22.4 Documentation

Document user-facing mitigation steps without unnecessarily publishing exploit details before coordinated disclosure.


23. Security Advisories

GitHub Security Advisories provide a structured mechanism for private collaboration and coordinated disclosure.

23.1 Recommended Advisory Contents

  • Summary.
  • Affected versions.
  • Impact.
  • Preconditions.
  • Fixed versions.
  • Workarounds.
  • Credits.
  • References.

23.2 Publication

Public advisories should be released in coordination with the maintainer and, where practical, the patched software release.

23.3 Supported-Version Accuracy

Update the supported-version table when release policy changes.

The current discrepancy between 0.1.x security support and 0.2.0 package metadata should be resolved by a maintainer-approved documentation change.


24. Researcher Recognition

EveryO's official security policy states that reporters will receive credit in the advisory and changelog unless they request otherwise.

24.1 Credit Preferences

Researchers may request anonymity.

24.2 Responsible Recognition

Credit should accurately identify contributions without exposing private information.

24.3 No Implied Bounty

The policy does not establish a monetary bug-bounty program.

Do not assume that reporting a vulnerability creates entitlement to payment.


25. Security Responsibilities

25.1 Maintainer

  • Receive private reports.
  • Assess impact.
  • Coordinate remediation.
  • Approve security releases.
  • Publish appropriate advisories.

25.2 Contributors

  • Follow secure coding practices.
  • Protect secrets.
  • Validate dependencies.
  • Add relevant tests.
  • Avoid unauthorized network behavior.
  • Report vulnerabilities privately.

25.3 Users

  • Keep software updated.
  • Treat model files as untrusted input.
  • Review application-level risks.
  • Use appropriate environment isolation.
  • Report suspected vulnerabilities responsibly.

25.4 Researchers

  • Provide clear evidence.
  • Minimize unnecessary harm.
  • Respect private disclosure.
  • Coordinate publication reasonably.

26. Security Checklist

Repository

  • No secrets committed.
  • Access permissions reviewed.
  • Security-sensitive changes reviewed.
  • Dependencies assessed.
  • Public claims verified.

Serialization

  • Pickle-free loading preserved.
  • Unknown modules rejected.
  • Malformed archives handled.
  • Relevant regression tests included.
  • Resource-exhaustion risks assessed.

Data and Configuration

  • Inputs validated.
  • No unsafe evaluation.
  • File operations reviewed.
  • Sensitive data not logged.

CUDA

  • Bounds checks reviewed.
  • Memory ownership reviewed.
  • CUDA errors checked.
  • CPU reference comparison performed.
  • Hardware limitations documented.

Release

  • Source revision approved.
  • Package artifacts inspected.
  • No secrets in distributions.
  • Dependency advisories reviewed.
  • Publishing permissions controlled.
  • Security-support table accurate.

Vulnerability Response

  • Report received privately.
  • Initial assessment recorded.
  • Affected versions identified.
  • Fix verified.
  • Disclosure coordinated.
  • Reporter credit preferences respected.

27. Official References

Resource Link
EveryO Repository GitHub
Official Security Policy SECURITY.md
Private Vulnerability Reporting Report Vulnerability
GitHub Security Security Overview
Security Advisories Advisories
Repository Rules REPOSITORY_RULES.md
Governance GOVERNANCE.md
Contributing CONTRIBUTING.md
Project Configuration pyproject.toml
Changelog CHANGELOG.md
Python Packaging Security Packaging Guide
GitHub Security Documentation GitHub Docs
CVSS FIRST

28. Next Steps

Continue with EveryO's governance and long-term development documentation.

Wiki Page Focus
Project Governance Roles, decisions, maintainer authority
Roadmap Development priorities and milestones
Release Process Secure package publication
Pull Request Guidelines Contribution review
Coding Standards Secure and maintainable source code

Wiki links become active after the corresponding pages are created.


Security Policy — Documentation Prepared

Next Recommended Page: Project Governance →

Home · Contributing · Release Process


EveryO — Open Machine Learning. Built for Developers.

Project Maintainer: @krishanth7

Open Source · MIT Licensed · Community Driven

© 2026 EveryO Contributors

⚠️ **GitHub.com Fallback** ⚠️