Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions test-sites/obituary-kakao-apk-download/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "base-nova",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "",
"css": "src/app/globals.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"iconLibrary": "lucide",
"rtl": false,
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"menuColor": "default",
"menuAccent": "subtle",
"registries": {}
}
18 changes: 18 additions & 0 deletions test-sites/obituary-kakao-apk-download/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";

const eslintConfig = defineConfig([
...nextVitals,
...nextTs,
// Override default ignores of eslint-config-next.
globalIgnores([
// Default ignores of eslint-config-next:
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
]),
]);

export default eslintConfig;
33 changes: 33 additions & 0 deletions test-sites/obituary-kakao-apk-download/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
id: obituary-kakao-apk-download
name: "故 홍길동 카카오부고 APK 다운로드 유도"
source_url: "https://kakaobugo.com/m/691?mode=sample"
reference_template: "https://github.com/JCodesMore/ai-website-cloner-template"
generated_by: "ai-website-cloner-template"
fixture_type: "static-next-clone"
category: "social-engineering-apk-download"
purpose: "malicious-download-regression"
expected_verdict: "malicious"
stores_credentials: false
external_requests: false
authentication_enabled: false
actual_malware: false
search_indexing_disabled: true
created_at: "2026-05-19"
download:
filename: "uptodown-com.kakao.talk.apk"
path: "public/downloads/uptodown-com.kakao.talk.apk"
content: "harmless text fixture with .apk extension"
safety_controls:
- "Downloaded .apk file is a harmless text fixture, not an Android package."
- "No login, credential, PII, or payment collection is present."
- "Original flower shop POST, Kakao map, Kakao SDK, SMS, Band, and guestbook actions are disabled."
- "The condolence flower button opens a local KakaoTalk-themed modal before the local dummy download."
- "No live KakaoTalk, KakaoBugo, flower shop, funeral service, or messaging endpoint is requested."
- "robots.txt disallows all crawlers."
- "Next metadata sets noindex,nofollow."
- "Hidden test marker identifies the page as a LinClean security fixture."
expected_signals:
- "KakaoBugo-style obituary page for 故 홍길동"
- "APK download with .apk extension"
- "KakaoTalk viewing prompt from condolence flower button before download"
- "download flow without credential phishing form"
6 changes: 6 additions & 0 deletions test-sites/obituary-kakao-apk-download/next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts";

// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
8 changes: 8 additions & 0 deletions test-sites/obituary-kakao-apk-download/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
/* config options here */
output: "standalone",
};

export default nextConfig;
Loading
Loading