Commit Graph

11 Commits

Author SHA1 Message Date
Timothy Kassis
b085e116c5 Update skill metadata formatting and improve .gitignore entries
- Revised the metadata format in multiple SKILL.md files to use block mapping instead of single-line JSON, enhancing YAML compatibility.
- Added a new entry for local agent tooling in .gitignore to exclude the .claude directory, improving project cleanliness.
- Removed outdated entries for AGENTS.md and CLAUDE.md from .gitignore, streamlining ignored files.
2026-07-26 09:29:16 -07:00
Timothy Kassis
489de4ce4c Update security documentation and scanning process
- Clarified the security scan report generation process in README.md, emphasizing the publication of results.
- Revised `scan_skills.py` documentation to reflect changes in report generation and the removal of the validate_report.py script.
- Updated SECURITY.md to specify the scope of vulnerabilities and improved clarity on the report's purpose and limitations.
- Adjusted the security scan workflow to remove the validation step, streamlining the process while ensuring accurate reporting.
2026-07-26 08:16:14 -07:00
Timothy Kassis
665663cac1 perf(security-scan): scan concurrently and reuse unchanged results
Scans were sequential at ~29s per skill: 72 minutes for 150 skills against a
120-minute workflow timeout. Each scan is blocked on LLM network I/O rather
than local CPU, so the work parallelizes.

- Run skills through a thread pool (SKILL_SCAN_WORKERS, default 8), building
  one scanner per worker thread rather than sharing one, since the analyzers
  carry mutable per-scan state. Rate-limit retry with backoff already exists
  inside cisco-ai-skill-scanner, so concurrency is bounded, not retried here.
- Reuse findings for skills whose package contents are unchanged, keyed on a
  SHA-256 over file paths and bytes. Invalidate on scanner version change,
  model change, --full, or a 30-day backstop from the last full scan.
- Record per-skill content_hash and last_scanned in the JSON report, and
  disclose carried-forward findings in the markdown header, so a reused
  finding always shows when it was actually produced.
- Sort report entries by skill name so worker completion order does not churn
  the committed JSON.
- Lower the workflow timeout to 60 minutes; add a full_scan dispatch input.

Also fixes skills/genomic-intelligence/SKILL.md, whose unquoted description
contained a colon-space that made its YAML frontmatter invalid. The loader had
been rejecting it silently, so every scan covered 149 of 150 skills.
2026-07-25 15:11:47 -07:00
Timothy Kassis
d77f819637 Update security scanning process and documentation
- Enhanced the README to clarify the publication of security scan results to a dedicated markdown file.
- Modified `scan_skills.py` to generate both a human-readable report and a machine-readable JSON report, ensuring consistency checks before CI publishing.
- Updated the GitHub Actions workflow to validate the scan report and commit the new reports, replacing the previous SECURITY.md approach with separate report files.

This change improves the clarity and accessibility of security information for users and contributors.
2026-07-25 14:55:40 -07:00
Timothy Kassis
37f2064f89 Update default LLM model in SkillScanner to "anthropic/claude-sonnet-5" 2026-07-25 13:45:50 -07:00
Timothy Kassis
878519452f Update directory for compatibility 2026-05-27 15:54:01 -07:00
Timothy Kassis
eb20fb0dcb chore: increase max instruction body character limit in SkillScanner 2026-04-12 17:44:14 -07:00
Timothy Kassis
4d7364170c chore: increase character limits for referenced and code files in SkillScanner 2026-04-12 17:43:46 -07:00
Timothy Kassis
968da4bf37 Update scanner 2026-04-10 14:09:00 -07:00
Timothy Kassis
97dd95f2b4 Increase character limits 2026-04-10 13:54:15 -07:00
Timothy Kassis
8b4e35c50b Update .gitignore and enhance security scan workflow
Removed unnecessary entries from .gitignore and added environment variable to the security scan workflow for improved compatibility with Node.js 24.
2026-04-10 13:36:45 -07:00