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.
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.
- 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 standardjsonmodule only. - Parquet inputs (
--format parquet) are parsed by the optionalpyarrowdependency. Parsing binary formats from untrusted sources inherits the parser's risk: agwer requirespyarrow>=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=Nuses 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.