MCPcopy Create free account
hub / github.com/FIND-Lab/AgentWard / detectFoundationScan

Function detectFoundationScan

layers/foundation-scan.ts:900–931  ·  view source on GitHub ↗
(
  workspaceDir: string,
  logger: LoggerLike,
  state: SessionState,
  config: OpenClawConfig,
  options: FoundationScanConfig,
)

Source from the content-addressed store, hash-verified

898}
899
900export async function detectFoundationScan(
901 workspaceDir: string,
902 logger: LoggerLike,
903 state: SessionState,
904 config: OpenClawConfig,
905 options: FoundationScanConfig,
906): Promise<Warning | null> {
907 const mergedOptions = merge({}, DEFAULT_FOUNDATION_SCAN_CONFIG, options) as Required<FoundationScanConfig>;
908
909 logger?.info(`[FoundationScan] start foundation scan, workspace=${workspaceDir}, options=${JSON.stringify(mergedOptions)}`);
910
911 if (mergedOptions.detectMisConfiguration.enable) {
912 const misConfigurationWarning = detectMisConfiguration(workspaceDir, logger, config);
913 if (misConfigurationWarning) {
914 return misConfigurationWarning;
915 }
916 } else {
917 logger?.info("[FoundationScan] detectMisConfiguration is disabled, skip.");
918 }
919
920 if (mergedOptions.detectMaliciousSkills.enable) {
921 const maliciousSkillWarning = await detectMaliciousSkills(workspaceDir, logger, state, config, mergedOptions);
922 if (maliciousSkillWarning) {
923 return maliciousSkillWarning;
924 }
925 } else {
926 logger?.info("[FoundationScan] detectMaliciousSkills is disabled, skip.");
927 }
928
929 logger?.info("[FoundationScan] foundation scan completed, no warning.");
930 return null;
931}

Callers 1

registerFunction · 0.90

Calls 2

detectMisConfigurationFunction · 0.85
detectMaliciousSkillsFunction · 0.85

Tested by

no test coverage detected