Skip to content

fix(plugin): include Vyper sources in scan inventories - #1306

Merged
mldangelo-oai merged 4 commits into
openai:mainfrom
arunimshukla:fix/vyper-scan-inventory
Oct 5, 2026
Merged

mldangelo-oai merged 4 commits into
openai:mainfrom
arunimshukla:fix/vyper-scan-inventory

Conversation

@arunimshukla

Copy link
Copy Markdown
Contributor

Summary

Vyper source files use the .vy extension, but the shared scan/rank source allowlist does not currently include it. Repository and diff ranking paths can therefore omit Vyper-only changes before they reach review-item generation.

This change includes .vy in the existing text-code allowlist and adds deterministic coverage for the same inventory and ranking paths already exercised for Solidity.

Changes

  • Add .vy to TEXT_CODE_EXTENSIONS.
  • Cover changed Vyper files in committed-revision and local-patch inventories.
  • Cover Vyper files in repository, revision-diff, and local-patch rank inputs.
  • Include a Vyper file in the sampled-text preview byte-budget regression.
  • Keep Vyper on the existing sampled-text preview path; no language-specific parser is added.

Testing

  • Source-level reproduction on upstream main: .vy is absent from TEXT_CODE_EXTENSIONS, while both diff inventory and rank-input generation require the suffix to be present in that set.
  • Reviewed the final branch diff against dcc68201030be308e0053f1a4dfd282f90dc45fb: one production-line addition plus targeted regression coverage.
  • Local repository tests were not run because the available execution sandbox cannot resolve GitHub for a checkout. This draft is intended to run the repository's GitHub CI before being marked ready for review.

Risk and rollout

Low. This only allows .vy text source files to participate in existing inventory/ranking flows. There is no CLI, schema, output-format, or parser change. Vyper previews use the existing sampled-text fallback.

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@mldangelo-oai
mldangelo-oai marked this pull request as ready for review October 5, 2026 19:54

@mldangelo-oai mldangelo-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for catching this gap and for covering both diff modes and all three ranking modes! The shared allowlist is the right focused fix, and checking out the base in the revision test usefully proves that previews come from the requested head.

I verified that all five new inventory/ranking cases fail on the parent and pass with this change. I pushed a small Ruff-only formatting correction; lint, formatting, the CI TypeScript build, source compatibility, and all nine source-compatibility tests now pass. Across the three affected Python test modules, 295 tests passed. One existing no-Git/no-ripgrep fallback test fails identically on the parent because this validation environment has an ancestor Git marker; it is unrelated to this change. No blocking behavior issues found.

A useful follow-up is to share a single source-case fixture across inventory and ranking tests and test the sampled-preview byte budget as generic behavior. That would make future source additions require one test-fixture edit instead of copied test bodies. Longer term, separating text-file eligibility from preview-parser support could remove this class of omitted-extension fixes altogether; that broader coverage change should be evaluated separately. Thanks again for the contribution!

@github-actions github-actions Bot added the bug Something isn't working label Oct 5, 2026
@mldangelo-oai
mldangelo-oai merged commit d327164 into openai:main Oct 5, 2026
7 checks passed
@arunimshukla

arunimshukla commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor Author

@mldangelo-oai :Thanks again for the detailed review and validation. I’ll take a look at the shared source-case fixture as a separate follow-up.

More broadly, this is actually the direction I’m most interested in exploring.

Over the past two weeks I’ve been running a small open-source security experiment: auditing real projects, reproducing findings against current upstream, writing regressions, developing patches, and working directly with maintainers until fixes land. #1306 is now the sixth finding from that work that I’ve assessed at roughly Medium impact, across projects including Codex Security, Nethermind and other widely used open-source software.

What caught my attention is how closely that workflow overlaps with what OpenAI is building around Daybreak and Patch the Planet: moving beyond vulnerability discovery into validation, remediation, testing and upstream patching.

I’m also exploring a similar model with TheDAO Security Fund: a funded pilot focused on Ethereum client software where researchers work directly with maintainers instead of dropping findings into the usual open-source queue. The goal is to shorten the loop between discovery, validation and a production-ready fix.

I’d genuinely be interested in learning whether the work I’m doing could fit anywhere within Daybreak, Patch the Planet, Trusted Access for Cyber, or another OpenAI security initiative — particularly if there are ways for independent researchers to contribute or get access to capabilities that would let me test this workflow at greater scale.

Separately, I’ve also applied for the Product Marketing Manager, Cybersecurity role because my professional background is in technical product marketing and security. But the open-source security work itself is something I intend to keep pursuing regardless, and that’s the part of OpenAI’s cyber direction I’m especially interested in.

@github-actions github-actions Bot mentioned this pull request Oct 5, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants