AI Slop Code RIsk Monitor

asLody/VirtualApp

Virtual Engine for Android(Support 14.0 in business version)

22.6 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for asLody/VirtualApp, a Java project with 11,106 GitHub stars. SynthScan examined 89,522 lines of code across 806 source files, recording 243 pattern matches distributed across 2 syntactic categories. The legacy adjusted pattern signal is 22.6 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

22.6
Adjusted Signal
22.6
Raw Pattern Score
100%
Time Factor
2026-10-06
Last Push
11.1K
Stars
Java
Language
89.5K
Lines of Code
806
Files
243
Pattern Hits
2026-10-12
Scan Date
0.18
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 5.2/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 95 finding(s).

Hallucinated Dependency & Supply Chain Risk 65.9/100 · HIGH

Are imports declared and package/API names verified? 148 finding(s).

Agent Over-Engineering Ratio 0.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 0 finding(s).

PR Review Velocity Impact 58.5/100 · HIGH

Which changes need focused human review? 243 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 148HIGH 0MEDIUM 0LOW 95

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 243 distinct pattern matches across 2 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators148 hits · 1925 pts
SeverityFileLineSnippetContext
CRITICAL…com/lody/virtual/server/pm/parser/PackageParserEx.java168 List<String> protectedBroadcasts = mirror.android.content.pm.PackageParser.Package.protectedBroadcasts.get(pCODE
CRITICAL…ain/java/com/lody/virtual/server/am/ActivityStack.java484 Class<?>[] types = mirror.android.app.IActivityManager.startActivity.paramList();CODE
CRITICAL…ain/java/com/lody/virtual/server/am/ActivityStack.java509 mirror.android.app.IActivityManager.startActivity.call(ActivityManagerNative.getDefault.call(),CODE
CRITICAL⚡…n/java/com/lody/virtual/server/am/BroadcastSystem.java95 * at com.lody.virtual.server.am.BroadcastSystem.startApp(BroadcastSystem.java:54)COMMENT
CRITICAL⚡…n/java/com/lody/virtual/server/am/BroadcastSystem.java96 * at com.lody.virtual.server.pm.VAppManagerService.install(VAppManagerService.java:193)COMMENT
CRITICAL⚡…n/java/com/lody/virtual/server/am/BroadcastSystem.java97 * at com.lody.virtual.server.pm.VAppManagerService.preloadAllApps(VAppManagerService.java:98)COMMENT
CRITICAL⚡…n/java/com/lody/virtual/server/am/BroadcastSystem.java98 * at com.lody.virtual.server.pm.VAppManagerService.systemReady(VAppManagerService.java:70)COMMENT
CRITICAL⚡…n/java/com/lody/virtual/server/am/BroadcastSystem.java99 * at com.lody.virtual.server.BinderProvider.onCreate(BinderProvider.java:42)COMMENT
CRITICAL…l/server/notification/NotificationCompatCompatV21.java103 return mirror.android.widget.RemoteViews.mApplication.get(remoteViews);CODE
CRITICAL…l/server/notification/NotificationCompatCompatV21.java110 mirror.android.widget.RemoteViews.mApplication.set(remoteViews, ai);CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java85 int type = mirror.android.graphics.drawable.Icon.mType.get(icon);CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java88 mirror.android.graphics.drawable.Icon.mObj1.set(icon, appContext.getResources());CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java89 mirror.android.graphics.drawable.Icon.mString1.set(icon, appContext.getPackageName());CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java93 mirror.android.graphics.drawable.Icon.mObj1.set(icon, bitmap);CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java94 mirror.android.graphics.drawable.Icon.mString1.set(icon, null);CODE
CRITICAL⚡…ody/virtual/server/notification/NotificationFixer.java95 mirror.android.graphics.drawable.Icon.mType.set(icon, mirror.android.graphics.drawable.Icon.TYPE_BITMAP)CODE
CRITICAL…ody/virtual/server/notification/NotificationFixer.java197 mirror.android.widget.RemoteViews.mPackage.set(remoteViews, VirtualCore.get().getHostPkg());CODE
CRITICAL⚡…/com/lody/virtual/server/accounts/VContentService.java67 Account account = mirror.android.content.SyncRequest.mAccountToSync.get(request);CODE
CRITICAL⚡…/com/lody/virtual/server/accounts/VContentService.java68 String authority = mirror.android.content.SyncRequest.mAuthority.get(request);CODE
CRITICAL⚡…/com/lody/virtual/server/accounts/VContentService.java69 Bundle extras = mirror.android.content.SyncRequest.mExtras.get(request);CODE
CRITICAL⚡…/com/lody/virtual/server/accounts/VContentService.java70 boolean isPeriodic = mirror.android.content.SyncRequest.mIsPeriodic.get(request);CODE
CRITICAL⚡…/com/lody/virtual/server/accounts/VContentService.java71 long syncRunTimeSecs = mirror.android.content.SyncRequest.mSyncRunTimeSecs.get(request);CODE
CRITICAL…/com/lody/virtual/server/accounts/VContentService.java177 type = mirror.android.content.SyncAdapterType.ctor.newInstance(contentAuthority, accountType, userVisible, sCODE
CRITICAL…/virtual/server/accounts/RegisteredServicesParser.java34 AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance();CODE
CRITICAL…/virtual/server/accounts/RegisteredServicesParser.java35 mirror.android.content.res.AssetManager.addAssetPath.call(assets, ps.apkPath);CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java198 mirror.android.app.job.JobInfo.jobId.set(job, config.virtualJobId);CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java199 mirror.android.app.job.JobInfo.service.set(job, mJobProxyComponent);CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java331 mirror.android.app.job.JobInfo.jobId.set(job, jobId.clientJobId);CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java332 mirror.android.app.job.JobInfo.service.set(job, new ComponentName(jobId.packageName, config.serviceName)CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java388 mirror.android.app.job.JobInfo.jobId.set(job, jobConfig.virtualJobId);CODE
CRITICAL…/com/lody/virtual/server/job/VJobSchedulerService.java389 mirror.android.app.job.JobInfo.service.set(job, this.mJobProxyComponent);CODE
CRITICAL…/java/com/lody/virtual/helper/compat/BundleCompat.java19 return mirror.android.os.Bundle.getIBinder.call(bundle, key);CODE
CRITICAL…/java/com/lody/virtual/helper/compat/BundleCompat.java27 mirror.android.os.Bundle.putIBinder.call(bundle, key, value);CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java61 return mirror.android.content.pm.PackageParser.ctor.newInstance(packageFile.getAbsolutePath());CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java79 return mirror.android.content.pm.PackageParser.parsePackage.callWithException(parser, packageFile, null,CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java96 return mirror.android.content.pm.PackageParser.generateServiceInfo.call(service, flags);CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java112 return mirror.android.content.pm.PackageParser.generateApplicationInfo.call(p, flags);CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java128 return mirror.android.content.pm.PackageParser.generateActivityInfo.call(activity, flags);CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java144 return mirror.android.content.pm.PackageParser.generateProviderInfo.call(provider, flags);CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java167 return mirror.android.content.pm.PackageParser.generatePackageInfo.call(p, GIDS, flags, firstInstallTime,CODE
CRITICAL…om/lody/virtual/helper/compat/PackageParserCompat.java186 mirror.android.content.pm.PackageParser.collectCertificates.call(parser, p, flags);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java236 mirror.android.os.Build.SERIAL.set(deviceInfo.serial);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java237 mirror.android.os.Build.DEVICE.set(Build.DEVICE.replace(" ", "_"));CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java261 mirror.android.os.Message.updateCheckRecycle.call(targetSdkVersion);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java298 mirror.android.app.ActivityThread.AppBindData.info.set(boundApp, data.info);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java317 mirror.android.app.ActivityThread.mInitialApplication.set(mainThread, mInitialApplication);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java371 final List<ThreadGroup> groups = mirror.java.lang.ThreadGroup.groups.get(root);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java376 mirror.java.lang.ThreadGroup.groups.set(newRoot, newGroups);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java379 mirror.java.lang.ThreadGroup.groups.set(root, groups);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java382 mirror.java.lang.ThreadGroup.parent.set(group, newRoot);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java462 Object boundApp = mirror.android.app.ActivityThread.mBoundApplication.get(thread);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java463 mirror.android.app.ActivityThread.AppBindData.appInfo.set(boundApp, data.appInfo);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java464 mirror.android.app.ActivityThread.AppBindData.processName.set(boundApp, data.processName);CODE
CRITICAL⚡…src/main/java/com/lody/virtual/client/VClientImpl.java465 mirror.android.app.ActivityThread.AppBindData.instrumentationName.set(CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java512 provider = mirror.android.content.ContentProviderClient.mContentProvider.get(client);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java621 mirror.android.content.BroadcastReceiver.setPendingResult.call(receiver, result);CODE
CRITICAL…src/main/java/com/lody/virtual/client/VClientImpl.java627 if (mirror.android.content.BroadcastReceiver.getPendingResult.call(receiver) != null) {CODE
CRITICAL…ain/java/com/lody/virtual/client/core/VirtualCore.java558 AssetManager assets = mirror.android.content.res.AssetManager.ctor.newInstance();CODE
CRITICAL…ain/java/com/lody/virtual/client/core/VirtualCore.java559 mirror.android.content.res.AssetManager.addAssetPath.call(assets, installedAppInfo.apkPath);CODE
CRITICAL…rc/main/java/com/lody/virtual/client/stub/StubJob.java45 IBinder binder = mirror.android.app.job.JobParameters.callback.get(jobParams);CODE
88 more matches not shown…
Over-Commented Block95 hits · 95 pts
SeverityFileLineSnippetContext
LOW…java/io/virtualapp/widgets/DragSelectRecyclerView.java261 }COMMENT
LOW…/java/io/virtualapp/widgets/fittext/FitTextHelper.java61 sSpcaeList.add("*");COMMENT
LOW…n/java/io/virtualapp/widgets/fittext/BaseTextView.java301// }COMMENT
LOW…ava/com/lody/virtual/client/stub/ResolverActivity.java141 builder.setMessage(R.string.noApplications);COMMENT
LOW…ava/com/lody/virtual/client/stub/ResolverActivity.java481// mIntent, mIntent.resolveTypeIfNeeded(getContentResolver()),COMMENT
LOW…ava/com/lody/virtual/client/stub/ResolverActivity.java501// for (int i = currentResolveList.size() - 1; i >= 0; i--) {COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/hde64.h21 */COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/hde64.h41#define F_PREFIX_REP 0x03000000COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/CydiaSubstrate.h21COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/table64.h1/*COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/table64.h21#define PRE_F3 0x04COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/SubstrateLog.hpp21COMMENT
LOWVirtualApp/lib/src/main/jni/Substrate/SubstrateHook.cpp21COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/fbjni.h21#include <fb/fbjni/CoreClasses.h>COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/ALog.h61inline void logf(const char* tag, const char* msg, ARGS... args) noexcept {COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/ALog.h81# define ALOGW(...) ((void)0)COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/log.h41//COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/log.h121#define FBLOGV(...) ((void)FBLOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__))COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/log.h141#define FBLOGD(...) ((void)FBLOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/RefPtr.h21// By default, the internal pointer is null.COMMENT
LOW…lApp/lib/src/main/jni/fb/include/fb/fbjni/Exceptions.h21#pragma onceCOMMENT
LOW…rtualApp/lib/src/main/jni/fb/include/fb/fbjni/Common.h21#include <fb/visibility.h>COMMENT
LOWVirtualApp/lib/src/main/jni/fb/include/fb/fbjni/Meta.h21COMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h41///COMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h61//COMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h81// return newInstance(i);COMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h181// Given a class:COMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h221/// Wrapper to provide functionality to jclass referencesCOMMENT
LOW…App/lib/src/main/jni/fb/include/fb/fbjni/CoreClasses.h401 /// NOTE: if using as a return value, you want to call release() instead of get() on theCOMMENT
LOWVirtualApp/lib/src/main/jni/Foundation/IOUniformer.h1//COMMENT
LOWVirtualApp/lib/src/main/jni/Foundation/SymbolFinder.cpp1#include <stdio.h>COMMENT
LOWVirtualApp/lib/src/main/jni/Foundation/IOUniformer.cpp1//COMMENT
LOWVirtualApp/lib/src/main/jni/Foundation/VMPatch.h1//COMMENT
LOW…/main/jni/HookZz/tools/ZzSolidifyHook/solidifyhook.cpp1/*COMMENT
LOW…/main/jni/HookZz/tools/ZzSolidifyHook/solidifyhook.cpp61#define COLOR_LOG 0COMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/include/hookzz.h161 HALFCALL half_call_ptr);COMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/zzinfo.h1// Copyright 2017 jmpewsCOMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/interceptor.h21COMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/trampoline.h61#ifdef TARGET_IS_IOSCOMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/stack.h61#endifCOMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/memory.h1// Copyright 2017 jmpewsCOMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/zzdefs.h21 Floating-point) (4.6.1 Floating-point register organization in AArch64) use struct and union toCOMMENT
LOWVirtualApp/lib/src/main/jni/HookZz/src/zzdefs.h41#define THUMB_FUNCTION_ADDRESS(target_addr) (void *)((unsigned long)target_addr & ~(unsigned long)1)COMMENT
LOW…/jni/HookZz/src/platforms/backend-posix/thread-posix.h21COMMENT
LOW…ni/HookZz/src/platforms/backend-darwin/memory-darwin.h21COMMENT
LOW…ain/jni/HookZz/src/platforms/backend-arm/thunker-arm.h21#include "platforms/arch-arm/relocator-arm.h"COMMENT
LOW…jni/HookZz/src/platforms/backend-arm/interceptor-arm.h21#include "platforms/arch-arm/relocator-arm.h"COMMENT
LOW…ain/jni/HookZz/src/platforms/backend-arm/thunker-arm.c21// jump`.COMMENT
LOW…App/lib/src/main/jni/HookZz/src/platforms/x86/reader.h1// Copyright 2017 jmpewsCOMMENT
LOW…App/lib/src/main/jni/HookZz/src/platforms/x86/reader.c1// Copyright 2017 jmpewsCOMMENT
LOW…b/src/main/jni/HookZz/src/platforms/x86/instructions.h1// Copyright 2017 jmpewsCOMMENT
LOW…b/src/main/jni/HookZz/src/platforms/x86/instructions.h101#endifCOMMENT
LOW…App/lib/src/main/jni/HookZz/src/platforms/x86/writer.h1// Copyright 2017 jmpewsCOMMENT
LOW…/main/jni/HookZz/src/platforms/arch-x86/instructions.c1#include "instructions.h"COMMENT
LOW…main/jni/HookZz/src/platforms/arch-x86/relocator-x86.h21#include "instructions.h"COMMENT
LOW…/jni/HookZz/src/platforms/backend-linux/memory-linux.h21COMMENT
LOW…/jni/HookZz/src/platforms/arch-arm64/relocator-arm64.h21#include "instructions.h"COMMENT
LOW…rc/main/jni/HookZz/src/platforms/arch-arm/reader-arm.h1// Copyright 2017 jmpewsCOMMENT
LOW…/src/main/jni/HookZz/src/platforms/arch-arm/regs-arm.h1// Copyright 2017 jmpewsCOMMENT
LOW…main/jni/HookZz/src/platforms/arch-arm/relocator-arm.h21#include "instructions.h"COMMENT
35 more matches not shown…