Skip to content

Expand manifest-parser ecosystem coverage (#702) - #1050

Merged
squid-protocol merged 1 commit into
mainfrom
feat/702-ecosystem-coverage
Aug 5, 2026
Merged

Expand manifest-parser ecosystem coverage (#702)#1050
squid-protocol merged 1 commit into
mainfrom
feat/702-ecosystem-coverage

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Summary

  • Extends UniversalManifestSlicer (SBOM dependency extraction + physical on-disk verification) to cover the ecosystems requested in Feature Request: Expand Ecosystem Coverage in Manifest Parser #702: Modern Python (pyproject.toml/poetry.lock/Pipfile), .NET/NuGet (packages.config/*.csproj), C/C++ (conanfile.txt/vcpkg.json), Gradle (build.gradle/.kts), CocoaPods (Podfile), Swift Package Manager (Package.swift), Dart/Flutter (pubspec.yaml), and JS/TS alternative lockfiles (yarn.lock/pnpm-lock.yaml).
  • Extends ManifestParser's supply-chain security auditing (direct git/URL dependency refs, insecure/non-standard registries) to pyproject.toml, yarn.lock, and Gradle build scripts, per the issue's "Security Auditing" ask.
  • Introduces SUPPORTED_MANIFEST_SUFFIXES alongside the existing exact-name SUPPORTED_MANIFEST_FILENAMES, since *.csproj files are named per-project rather than with one fixed filename. Wired into both manifest-discovery call sites (galaxyscope.py Phase 10's stem_map filter, SbomRecorder's standalone root-only fallback), which previously only matched exact filenames and would have silently dropped wildcard manifests.

Closes #702.

Test plan

  • New/updated unit tests in tests/tools_recorders/test_sbom_generator.py (slicing + physical-locate for every new ecosystem, updated drift-guard tests) and tests/core_engine/test_manifest_parser.py (new security-audit coverage for pyproject.toml/yarn.lock/Gradle)
  • Full suite: python -m pytest tests/ — 5447 passed, 0 failed
  • ruff format --check clean
  • python tests/tools/audit_check.py clean (baseline regenerated only for pure line-shifts from inserted code, no new genuine findings)

🤖 Generated with Claude Code

Adds Modern Python (pyproject.toml/poetry.lock/Pipfile), .NET (NuGet
packages.config/*.csproj), C/C++ (Conan/vcpkg), Gradle, CocoaPods,
Swift Package Manager, Dart/Flutter (pubspec.yaml), and JS/TS
alternative lockfiles (yarn.lock/pnpm-lock.yaml) to
UniversalManifestSlicer's SBOM extraction and physical-package
location, plus extends ManifestParser's supply-chain security
auditing to pyproject.toml, yarn.lock, and Gradle build scripts.

Introduces SUPPORTED_MANIFEST_SUFFIXES alongside the existing
exact-name SUPPORTED_MANIFEST_FILENAMES set, since *.csproj files are
named per-project rather than with one fixed filename; wired into
both manifest-discovery call sites (galaxyscope Phase 10, SbomRecorder's
standalone fallback), which previously only matched exact filenames.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit f1c212a into main Aug 5, 2026
28 checks passed
@squid-protocol
squid-protocol deleted the feat/702-ecosystem-coverage branch August 5, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Expand Ecosystem Coverage in Manifest Parser

1 participant