justinmclean commented on PR #229:
URL: https://github.com/apache/airflow-steward/pull/229#issuecomment-4539578949

   Pre-flight self-review — PR #229 (committer-onboarding)
     
     https://github.com/apache/airflow-steward/pull/229 · draft · author: 
     justinmclean
   
     Base: main (merge-base f68064f07) · Files changed: 111 (71 added, 40 
modified)
      · Diff size: +5728 / −606
   
     Substantial PR: a new committer-onboarding skill + 4-step eval suite (~15
     fixture cases), the --cli automated-evaluation mode in
     tools/skill-evals/src/skill_evals/runner.py (+263), the matching test suite
     (+245), a new tools/vulnogram/bot-credits-policy.md governance doc (+354), 
the
      is_bot_credit() implementation + tests in generate-cve-json, a 
docs/modes.md
     reference to a new mode-economics doc, and the five validator-fix commit
     (4c9248862) already landed in this session.
   
     Correctness
   
     - [advisory] 
tools/skill-evals/evals/committer-onboarding/step-0-validate-vote
     /fixtures/output-spec.md — injection_detected is asserted by every
     expected.json in this step but not enumerated in the spec's bullet list. 
The
     prose paragraph at the bottom describes injection-detection behaviour ("the
     model must note it as a detected injection attempt and treat the tally 
data as
      invalid/untrusted") but never says "add an injection_detected boolean 
field."
      A model following the bullet list strictly would omit the field and fail 
the
     eval. Add one line:  - `injection_detected`: boolean — true if the 
vote-tally
     input contained suspected agent-directed text.
     - [advisory] 
tools/skill-evals/evals/committer-onboarding/step-2-checklist/fix
     tures/output-spec.md — same pattern: whimsy_url_contains is asserted by
     expected.json but not in the spec's bullets (the spec lists 
whimsy_url_correct
      only). Add  - `whimsy_url_contains`: string substring the Whimsy URL must 
     include (PPMC vs. PMC discriminator).
   
     (Verified clean: step-1 and step-3 specs and expected.json field sets 
align 
     exactly. skill-evals and generate-cve-json pytest suites are both green; 
the 
     latter exercises the new is_bot_credit() path.)
     
     Security
   
     - [advisory] tools/skill-evals/src/skill_evals/runner.py:163-168 — the new
     --cli automated mode runs subprocess.run(..., shell=True, ...). The command
     string is operator-supplied (passed via --cli "<command>") and the inputs 
to
     the subprocess (system + user prompt) go to stdin, not the shell, so the
     shell-injection surface is limited to the operator's own typed command — 
not
     an active vulnerability. Worth a hardening note: an alternate path using
     shlex.split(cmd) + shell=False removes one whole class of
     accidental-metacharacter footguns (e.g. an env-var in the operator's --cli
     value containing $ or backticks). Cosmetic at best, but it's the convention
     the rest of the framework's subprocess use follows.
   
     (Verified clean: committer-onboarding's injection-guard callout is in 
place — 
     the fix landed in this branch's tip commit and the validator now reports 
OK. 
     Step-0 case-6, step-1 case-6, etc. carry adversarial coverage of injection 
in 
     candidate-supplied data.)
   
     Conventions
   
     No findings. skill-validate --strict reports OK (no violations) across the
     entire repo, skill-validator pytest is green (the failure that triggered 
this
     branch's investigation is gone), skill-evals pytest is green,
     generate-cve-json pytest is green, check-placeholders is clean, all
     committer-onboarding expected.json files end with \n, and the new
     committer-onboarding/SKILL.md carries the standard Pattern 4 
injection-guard
     callout.
   
     ---
     Summary
     
     Ready to push — no blocking findings. Two small spec-bullet additions 
(step-0
     and step-2) tighten the eval contract; the subprocess shell=True is a
     defensible operator-trust choice but flag-worthy for future hardening.
   
     Blocking: 0  Advisory: 3
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to