Skip to content

Commit f73c2a5

Browse files
committed
feat: APK Auditor v2 with new UI (score ring, findings cards, component explorer)
- Copied entire new APK Auditor (thecybersandeep/apkauditor) into v2/ with matching directory structure for zero path changes. - New UI features: security score ring with color zones, collapsible findings cards with CWE/OWASP/MASVS tags, component explorer with ADB test commands, hex viewer, SARIF 2.1 export, PDF cover page. - 112 regex rules + 23 entropy detectors + 43 tracker signatures. - AutoAR's enhanced 280+ rule set still available in the original auditor at /ui/apkauditor/ (unchanged). - Access v2 at: /ui/apkauditor/v2/ - Next: merge AutoAR's custom regex patterns into v2 engine.
1 parent adc7a0f commit f73c2a5

13 files changed

Lines changed: 6587 additions & 0 deletions

File tree

198 KB
Binary file not shown.
Lines changed: 14 additions & 0 deletions
Loading
Lines changed: 14 additions & 0 deletions
Loading
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<!DOCTYPE html>
2+
<html lang="en" data-theme="dark">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>APK Auditor v2 — AutoAR Enhanced</title>
7+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; connect-src 'self'; font-src 'self'; frame-ancestors 'self';">
8+
<link rel="icon" type="image/svg+xml" href="../icons/icon-192.svg">
9+
<link rel="stylesheet" href="src/styles.css">
10+
</head>
11+
<body>
12+
13+
<!-- LOADING OVERLAY -->
14+
<div id="loadingOverlay" class="loading-overlay" style="display:none">
15+
<div class="loading-card">
16+
<div class="loading-spinner"></div>
17+
<div class="loading-file" id="loadingFile"></div>
18+
<div class="loading-bar"><div class="loading-fill" id="loadingFill"></div></div>
19+
<div class="loading-text" id="loadingText">Preparing…</div>
20+
</div>
21+
</div>
22+
23+
<!-- TOAST -->
24+
<div id="toastContainer" class="toast-container"></div>
25+
26+
<!-- LANDING -->
27+
<section id="landing" class="landing">
28+
<div class="hero-bg">
29+
<div class="mesh"></div>
30+
<div class="orb orb-1"></div>
31+
<div class="orb orb-2"></div>
32+
<div class="orb orb-3"></div>
33+
</div>
34+
<div class="hero-content">
35+
<div class="badge-row">
36+
<span class="ver-badge">v2.0 — AutoAR Enhanced</span>
37+
</div>
38+
<h1 class="hero-title">APK <span class="grad">Auditor</span></h1>
39+
<p class="hero-sub">Drop an APK to scan for security issues — hardcoded secrets, weak crypto, exported components, manifest misconfigs, and more.</p>
40+
<div class="dropzone" id="dropZone">
41+
<div class="dz-icon">
42+
<svg width="48" height="48" viewBox="0 0 48 48" fill="none"><rect x="18" y="8" width="12" height="28" rx="2" fill="currentColor" opacity="0.15"/><rect x="12" y="18" width="24" height="16" rx="2" fill="currentColor" opacity="0.3"/><path d="M24 4v16m-6-6 6-6 6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
43+
</div>
44+
<div class="dz-text">
45+
<span class="dz-title">Drop APK file here</span>
46+
<span class="dz-sub">or click to browse</span>
47+
</div>
48+
<input type="file" id="fileInput" accept=".apk" hidden>
49+
</div>
50+
<div class="feature-row">
51+
<div class="feature-pill">🔍 Pattern rules</div>
52+
<div class="feature-pill">📱 Manifest parser</div>
53+
<div class="feature-pill">🔐 Cert analysis</div>
54+
<div class="feature-pill">🔑 Secret detection</div>
55+
</div>
56+
</div>
57+
</section>
58+
59+
<!-- APP -->
60+
<div id="appContainer" style="display:none">
61+
<header id="appHeader">
62+
<div class="header-left"><span class="app-logo">APK Auditor</span></div>
63+
<div class="header-center">
64+
<nav id="tabNav">
65+
<button class="tab-btn active" data-tab="overview">Overview</button>
66+
<button class="tab-btn" data-tab="findings">Findings</button>
67+
<button class="tab-btn" data-tab="manifest">Manifest</button>
68+
<button class="tab-btn" data-tab="components">Components</button>
69+
<button class="tab-btn" data-tab="cert">Cert</button>
70+
<button class="tab-btn" data-tab="explorer">Explorer</button>
71+
</nav>
72+
</div>
73+
<div class="header-right">
74+
<button class="icon-btn" id="btnTheme" title="Toggle theme">🌓</button>
75+
<div class="export-dropdown">
76+
<button class="btn btn-export" id="btnExport">Export ▾</button>
77+
<div class="export-menu" id="exportMenu">
78+
<button data-format="pdf">📄 PDF Report</button>
79+
<button data-format="json">📋 JSON</button>
80+
<button data-format="csv">📊 CSV</button>
81+
<button data-format="sarif">🛡️ SARIF 2.1</button>
82+
</div>
83+
</div>
84+
</div>
85+
</header>
86+
<main id="appMain">
87+
<div id="panel-overview" class="tab-panel active"></div>
88+
<div id="panel-findings" class="tab-panel"></div>
89+
<div id="panel-manifest" class="tab-panel"></div>
90+
<div id="panel-components" class="tab-panel"></div>
91+
<div id="panel-cert" class="tab-panel"></div>
92+
<div id="panel-explorer" class="tab-panel"></div>
93+
</main>
94+
</div>
95+
96+
<script src="lib/jszip.min.js"></script>
97+
<script src="lib/jspdf.umd.min.js"></script>
98+
<script src="src/core/engine.js"></script>
99+
<script src="src/core/entropy.js"></script>
100+
<script src="src/core/export.js"></script>
101+
<script src="src/core/pdf.js"></script>
102+
<script src="src/main.js"></script>
103+
</body>
104+
</html>

0 commit comments

Comments
 (0)