Skip to content

Security: huckiyang/agwer

Security

SECURITY.md

Security Policy

Reporting

Report suspected vulnerabilities privately to Huck Yang huckiyang@ieee.org (or via GitHub's private vulnerability reporting on this repository). Please do not open public issues for security reports. You can expect an acknowledgment within a week.

Supported versions

Only the latest release on PyPI receives security fixes. agwer is a pure-Python package with a single runtime dependency (RapidFuzz); keeping it current keeps the dependency surface current.

Threat model notes for users

  • Text inputs are safe by design. All metrics operate on Python strings with no eval/exec, no pickle deserialization of user data, no subprocess, and no network access anywhere in the package.
  • JSONL / chat-format inputs (--format jsonl|openai|anthropic|sharegpt) are parsed with the standard json module only.
  • Parquet inputs (--format parquet) are parsed by the optional pyarrow dependency. Parsing binary formats from untrusted sources inherits the parser's risk: agwer requires pyarrow>=14.0.1 (CVE-2023-47248 was fixed in 14.0.1), and you should keep pyarrow updated when scoring files you did not produce.
  • workers=N uses Python multiprocessing (spawn) on agwer's own in-process data only; nothing user-supplied is ever unpickled from disk.
  • Releases are published exclusively via PyPI Trusted Publishing (OIDC) from GitHub Actions in this repository — no long-lived API tokens exist. CI workflows run with read-only tokens and SHA-pinned actions.

There aren't any published security advisories