no-jira: Add skillsaw lint and LLM security scan Prow jobs for agentic-skills#79006
no-jira: Add skillsaw lint and LLM security scan Prow jobs for agentic-skills#79006stbenjam wants to merge 1 commit into
Conversation
|
@stbenjam: This pull request explicitly references no jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughInstalls ChangesLint & Security Scan Pipeline Steps
sequenceDiagram
participant CI as CI Pipeline
participant Image as skill-tools Image
participant Lint as Skillsaw Linter
participant Scanner as Skill-Scanner Step
participant Vertex as Vertex AI
participant Artifacts as Artifact Store
CI->>Image: Build image (includes cisco-ai-skill-scanner[vertex], skillsaw)
CI->>Lint: Run openshift-harness-lint step
Lint->>Lint: execute `skillsaw -v`
CI->>Scanner: Run openshift-harness-security-scan step
Scanner->>Scanner: prepare env & credential (GOOGLE_APPLICATION_CREDENTIALS)
alt USE_LLM=true
Scanner->>Vertex: request semantic analysis (model via SKILL_SCANNER_LLM_MODEL)
Vertex-->>Scanner: semantic analysis results
end
Scanner->>Artifacts: write JSON/HTML reports to ${ARTIFACT_DIR}
🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: stbenjam The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/config/openshift/agentic-skills/openshift-agentic-skills-main.yaml`:
- Line 16: Update the Dockerfile RUN line that performs pip install: replace the
unpinned "cisco-ai-skill-scanner[vertex]" and the nonexistent "skillsaw" with
exact pinned package versions (e.g., "cisco-ai-skill-scanner[vertex]==2.0.11")
and either correct the intended package name and pin "skillsaw" to its verified
package name and version or remove it if it was included in error; modify the
RUN pip install "cisco-ai-skill-scanner[vertex]" skillsaw entry accordingly so
CI installs only valid, version-pinned packages.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 90a10552-6a40-4884-ae9d-de5f7e97094a
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/agentic-skills/openshift-agentic-skills-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (9)
ci-operator/config/openshift/agentic-skills/openshift-agentic-skills-main.yamlci-operator/step-registry/openshift/harness/lint/OWNERSci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-commands.shci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.metadata.jsonci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.yamlci-operator/step-registry/openshift/harness/security-scan/OWNERSci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-commands.shci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-ref.metadata.jsonci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-ref.yaml
|
/pj-rehearse |
|
@stbenjam: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse |
|
@stbenjam: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
Add reusable step-registry refs for agent skill linting and security scanning, and wire them up to the agentic-skills CI config: - openshift-harness-lint: runs skillsaw to validate skills against the agentskills.io specification - openshift-harness-security-scan: runs cisco-ai-skill-scanner with LLM-as-judge (Vertex AI / Claude Sonnet 4.6) for prompt injection, data exfiltration, and command injection detection Both refs share a single skill-tools pipeline image built with cisco-ai-skill-scanner[vertex] and skillsaw. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41072a1 to
4850ca0
Compare
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse |
|
@stbenjam: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-commands.sh`:
- Around line 15-21: The command appends ${SCAN_ADDITIONAL_ARGS} after the
enforced flag so users can override --fail-on-severity; move
${SCAN_ADDITIONAL_ARGS} to appear before --fail-on-severity in the skill-scanner
invocation (i.e., place ${SCAN_ADDITIONAL_ARGS} earlier in the argument list for
the skill-scanner scan-all command) so that the explicit --fail-on-severity
medium option cannot be superseded by later duplicate options.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 1da9b7e6-4328-4acb-b73d-0b546f435247
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/agentic-skills/openshift-agentic-skills-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (10)
ci-operator/config/openshift/agentic-skills/openshift-agentic-skills-main.yamlci-operator/step-registry/openshift/harness/OWNERSci-operator/step-registry/openshift/harness/lint/OWNERSci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-commands.shci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.metadata.jsonci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.yamlci-operator/step-registry/openshift/harness/security-scan/OWNERSci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-commands.shci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-ref.metadata.jsonci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-ref.yaml
✅ Files skipped from review due to trivial changes (7)
- ci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-commands.sh
- ci-operator/step-registry/openshift/harness/security-scan/OWNERS
- ci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.yaml
- ci-operator/step-registry/openshift/harness/OWNERS
- ci-operator/step-registry/openshift/harness/security-scan/openshift-harness-security-scan-ref.metadata.json
- ci-operator/step-registry/openshift/harness/lint/OWNERS
- ci-operator/step-registry/openshift/harness/lint/openshift-harness-lint-ref.metadata.json
🚧 Files skipped from review as they are similar to previous changes (1)
- ci-operator/config/openshift/agentic-skills/openshift-agentic-skills-main.yaml
|
@stbenjam: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
images is aws outage /pj-rehearse ack |
|
@stbenjam: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Summary
openshift-harness-lintandopenshift-harness-security-scanfor agent skill validationopenshift-harness-lintruns skillsaw to validate skills against the agentskills.io specopenshift-harness-security-scanruns cisco-ai-skill-scanner with LLM-as-judge (Vertex AI / Claude Sonnet 4.6) to detect prompt injection, data exfiltration, and command injectionopenshift/agentic-skillsmain branch CI config, replacing the previous inlineevaltestskill-toolspipeline imageSummary
This PR updates OpenShift CI configuration to add two reusable step-registry refs and wire them into the openshift/agentic-skills main-branch pipeline, replacing the previous inline eval test.
What changed (practical terms)
evaltest with two reusable refs:New reusable step-registry refs
openshift-harness-lint
openshift-harness-security-scan
Metadata and OWNERS
Test plan / operational notes