Problemen met het scannen van code oplossen
Over het algemeen rapporteert de CodeQL CLI de status van elke opdracht die wordt uitgevoerd als afsluitcode als afsluitcode. De afsluitcode bevat informatie voor volgende opdrachten of voor andere hulpprogramma's die afhankelijk zijn van de CodeQL CLI. Zie Afsluitcodes voor meer informatie over afsluitcodedetails.
Fout: codeQL-opdracht 'database finalize' (32)
Deze fout geeft aan dat er een probleem is met het voltooien van het maken van de CodeQL-database, mogelijk vanwege extractiefouten of ontbrekende buildstappen.
Stappen voor probleemoplossing:
- Controleer of de code bestaat en is gecompileerd
- Controleer voor gecompileerde talen of het buildproces code samenstelt en plaatsvindt tussen de
AdvancedSecurity-Codeql-Init
en deAdvancedSecurity-Codeql-Analyze
taken. Algemene buildopdrachten en vereiste vlaggen (zoals clean no-cache/no-daemon) vindt u hier in Het opgeven van build-opdrachten. - Controleer voor geïnterpreteerde talen of er een broncode is voor de opgegeven taal in het project.
- Controleer voor gecompileerde talen of het buildproces code samenstelt en plaatsvindt tussen de
- Extractiefouten controleren
- Controleer of extractiefouten van invloed zijn op de status van de CodeQL-database.
- Controleer het logboekbestand op extractiefouten en waarschuwingen om de algehele databasestatus te beoordelen.
- Overweldigende fouten onderzoeken
- Als de meeste bestanden extractorfouten tegenkomen, onderzoek dan verder om inzicht te krijgen in de hoofdoorzaak van onjuiste extractie.
Fout: autobuild script (1)
Deze fout beschrijft een automatische buildfout, wat een probleem voorstelt met het instellen of configureren van codescans.
Stappen voor probleemoplossing:
- Buildstappen configureren
- Verwijder de AutoBuild-stap en configureer in plaats daarvan specifieke buildstappen voor gecompileerde talen in uw pijplijnen.
- Raadpleeg de installatierichtlijnen in GitHub Advanced Security configureren voor Azure DevOps.
Fout: CodeQL-directory's zijn niet gevonden in de cache van agenthulpprogramma's
Deze fout geeft een probleem aan met het installeren van CodeQL voor zelf-hostende agents.
Stappen voor probleemoplossing:
- Raadpleeg de installatierichtlijnen of configuratiescripts in GitHub Advanced Security configureren voor Azure DevOps.
Fout: taalpijplijnvariabele niet ingesteld
Deze fout treedt op wanneer u CodeQL probeert uit te voeren zonder de pijplijnvariabele in te stellen die aangeeft welke talen moeten worden gescand.
Stappen voor probleemoplossing:
- Taalpijplijnvariabele instellen
- Zorg ervoor dat de taalpijplijnvariabele juist is geconfigureerd. Raadpleeg de installatierichtlijnen in GitHub Advanced Security configureren voor Azure DevOps.
- Ondersteunde talen zijn onder andere , , , , , , en
ruby
swift
.javascript
python
java
go
cpp
csharp
CodeQL retourneert geen resultaten
Deze sectie bevat richtlijnen voor situaties waarin CodeQL-analyse geen resultaten oplevert.
Stappen voor probleemoplossing:
- Controleren op gedetecteerde beveiligingsproblemen
- Houd rekening met de mogelijkheid dat uw code echt geen beveiligingsproblemen heeft. Als er beveiligingsproblemen worden verwacht maar niet gedetecteerd, gaat u verder met het controleren.
- Configuratie van querysuite controleren
- Controleer of de querysuite wordt gebruikt en overweeg indien nodig over te schakelen naar een uitgebreider pakket.
- U kunt ook aangepaste querysuites maken voor een op maat gemaakte analyse.
- Machtigingen aanpassen voor het weergeven van resultaten
- Zorg ervoor dat de juiste machtigingen, ten minste op het niveau van de inzender, worden verleend voor toegang tot analyseresultaten. Zie Geavanceerde beveiligingsmachtigingen voor meer informatie.
Time-out voor CodeQL
Als de AdvancedSecurity-Codeql-Analyze@1
taak wordt weergegeven This job was abandoned ... we lost contact with the agent
en u een gehoste Microsoft-agent gebruikt, raakt de taak de ingebouwde time-out van zes uur voor betaalde gehoste agents. U kunt in plaats daarvan proberen een analyse uit te voeren op een zelf-hostende agent.
Taakmachtigingen voor codescans
De buildtaak voor codescans maakt gebruik van de pijplijnidentiteit om de Advanced Security REST API's aan te roepen. Pijplijnen in hetzelfde project hebben standaard toegang tot het uploaden van het SARIF-bestand dat is gegenereerd door het uitvoeren van CodeQL-analyse. Als deze machtigingen worden verwijderd uit het buildserviceaccount of als u een aangepaste installatie hebt (bijvoorbeeld een pijplijn die wordt gehost in een ander project dan de opslagplaats), moet u deze machtigingen handmatig verlenen.
Stappen voor probleemoplossing:
- Verken
Advanced Security: View alerts
enAdvanced Security: Manage and dismiss alerts
toestemming voor het buildserviceaccount dat wordt gebruikt in uw pijplijn, wat voor pijplijnen met projectbereik is[Project Name] Build Service ([Organization Name])
, en voor pijplijnenProject Collection Build Service ([Organization Name])
met een verzamelingsbereik.
Handmatige installatie van CodeQL-bundel naar zelf-hostende agent
Installeer de CodeQL-bundel in de cache van het agenthulpprogramma door gebruik te maken van het installatiescript voor uw architectuur, dat beschikbaar is op GitHub. Voor deze scripts moet de $AGENT_TOOLSDIRECTORY
omgevingsvariabele worden ingesteld op de locatie van de map agenthulpprogramma's op de agent, bijvoorbeeld C:/agent/_work/_tool
. U kunt ook handmatig de volgende stappen implementeren:
- Kies de nieuwste CodeQL-releasebundel van GitHub.
- Download en pak de bundel uit naar de volgende map in de map van het agenthulpprogramma, meestal onder
_work/_tool
:./CodeQL/0.0.0-[codeql-release-bundle-tag]/x64/
Met behulp van de huidige release vanv2.16.0
, wordt de mapnaam een./CodeQL/0.0.0-codeql-bundle-v2.16.0/x64/
titel. Meer informatie over de map met agenthulpprogramma's. - Maak een leeg bestand met
x64.complete
de titel in de./CodeQL/0.0.0-[codeql-release-bundle-tag]
map. In het vorige voorbeeld moet het pad naar het eindbestand naar hetx64.complete
bestand zijn./CodeQL/0.0.0-codeql-bundle-v2.16.0/x64.complete
.