3.3 KiB
3.3 KiB
Symbol Source Connectors (Debuginfod, Buildinfo, Ddeb, SecDb)
Module
BinaryIndex
Status
PARTIALLY_IMPLEMENTED
Description
Four symbol source connector implementations (Debuginfod, Debian Buildinfo, Ubuntu Ddeb, Alpine SecDb), each with plugin registration and configuration support.
Implementation Details
- Modules:
src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus/,src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Alpine/,src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Debian/,src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Rpm/ - Key Classes:
- Alpine SecDb:
AlpineCorpusConnector(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Alpine/AlpineCorpusConnector.cs) - connects to Alpine security database;ApkBuildSecfixesExtractor- extracts secfixes from APK build files - Debian Buildinfo:
DebianCorpusConnector(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Debian/DebianCorpusConnector.cs) - connects to Debian buildinfo sources;DebianMirrorPackageSource- mirrors Debian repositories - RPM:
RpmCorpusConnector(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus.Rpm/RpmCorpusConnector.cs) - connects to RPM repositories;SrpmChangelogExtractor- extracts changelogs from source RPMs - Library-specific:
CurlCorpusConnector,GlibcCorpusConnector,OpenSslCorpusConnector,ZlibCorpusConnector(src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Corpus/Connectors/)
- Alpine SecDb:
- Interfaces:
IBinaryCorpusConnector,ILibraryCorpusConnector,IAlpinePackageSource,IDebianPackageSource,IRpmPackageSource - Package Extractors:
AlpinePackageExtractor,DebianPackageExtractor,RpmPackageExtractor- extract binaries from packages usingIBinaryFeatureExtractor
E2E Test Plan
- Connect via
AlpineCorpusConnectorand verify secfixes data is extracted from APK builds - Connect via
DebianCorpusConnectorand verify buildinfo data is retrieved from Debian mirrors - Connect via
RpmCorpusConnectorand verify RPM changelog extraction works - Verify library-specific connectors (OpenSSL, glibc, curl, zlib) retrieve correct binary versions
- Verify all connectors produce
CorpusSnapshotwith consistent snapshot IDs - Verify package extractors use
IBinaryFeatureExtractorto extract identity features from packages
Verification Outcome (run-001)
- Tier 0/1/2 artifacts:
docs/qa/feature-checks/runs/binaryindex/symbol-source-connectors/run-001/ - Result: not implemented at full claim parity.
- Verified behavior:
- Alpine, Debian, and RPM mirror package source/parsing and package extractor suites execute successfully with deterministic cache-fallback behavior.
- Corpus contracts and package extractors pass local behavioral tests.
- Missing behavior:
- No Debuginfod/Buildinfo/Ddeb connector implementation classes were found in the declared module paths, despite the feature claim naming those connector families.
- Library-specific connector extraction flows remain placeholder-backed (
CurlCorpusConnector,GlibcCorpusConnector,OpenSslCorpusConnector,ZlibCorpusConnector), with deb/apk extraction paths returningnull. - No dedicated tests were found for these library-specific connector classes, so end-to-end retrieval behavior for those connectors is not verified.