2.3 KiB
2.3 KiB
Symbol Source Connectors (Debuginfod, Buildinfo, Ddeb, SecDb)
Module
BinaryIndex
Status
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