HackMD
    • Sharing Link copied
    • /edit
    • View mode
      • Edit mode
      • View mode
      • Book mode
      • Slide mode
      Edit mode View mode Book mode Slide mode
    • Note Permission
    • Read
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • Write
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • More (Comment, Invitee)
    • Publishing
    • Commenting Enable
      Disabled Forbidden Owners Signed-in users Everyone
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Invitee
    • No invitee
    • Options
    • Versions
    • Transfer ownership
    • Delete this note
    • Template
    • Save as template
    • Insert from template
    • Export
    • Google Drive Export to Google Drive
    • Gist
    • Import
    • Google Drive Import from Google Drive
    • Gist
    • Clipboard
    • Download
    • Markdown
    • HTML
    • Raw HTML
Menu Sharing Help
Menu
Options
Versions Transfer ownership Delete this note
Export
Google Drive Export to Google Drive Gist
Import
Google Drive Import from Google Drive Gist Clipboard
Download
Markdown HTML Raw HTML
Back
Sharing
Sharing Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
More (Comment, Invitee)
Publishing
More (Comment, Invitee)
Commenting Enable
Disabled Forbidden Owners Signed-in users Everyone
Permission
Owners
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Invitee
No invitee
   owned this note    owned this note      
Published Linked with
Like BookmarkBookmarked
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- tags: cofacts, 詐騙, 165, open data, SEO --- # Open165 反詐筆記 - 詐騙網站公告搜尋引擎最佳化 ## 看到的問題 165 每週都會公告「[民眾通報假投資(博弈)詐騙網站](https://165.npa.gov.tw/#/article/9/1541)」。 然而,實際在 Google 搜尋公告裡的網站,會發現出現的不是 165 公告,而是大量的「[二次詐騙](https://www.vac.gov.tw/vac_home/changhua/cp-1228-113572-105.html)」 ![](https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_7aaf7c45ae619a69b4ddb4d1d8e7876f.png) (左邊的 "nexus" 搜尋結果都是二次詐騙,而右邊的詐騙公告都沒有在 Google 上) ## 想到的解法 - 用 165 開放資料做一個網站,讓每一個 scam site 有自己的一頁 - SEO: 網址、標題、內容 - 讓 Google 到的人得到有用的資訊,如:簡單好懂的 165 處理方式、過往報案的經驗分享等等 ![](https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_161a97856a8fdecd46f44942802849ae.png) ### Target audience 會透過搜尋引擎裡進到網域 (host) detail 或網站名稱(name)detail 的人,應有兩種 - 與詐騙有接觸,半信半疑者 - 前一波已被完詐,搜尋資料時容易踩進二次詐騙陷阱者 由於兩者需求不同(前者需要資訊與被說服說是詐騙;後者剛被完詐,已知詐騙,重點是把握黃金報案時間),需要的資訊與 wording 也都會不一樣。 ### 可以放的東西 兩個 detail 頁面都可以這樣放: - 網域/網站名作為標題 - Summary:根據 OOO(165 通報案例)來看,它確定 / 可能(僅有類似名字 or 網域但本身不在 165)是詐騙 - Tab: 分成「OO 是詐騙嗎」跟「被 OO 騙怎麼辦」對應到兩種 TA,預設顯示前者 tab - Tab 視為一種分頁,有自己的 route 與頁面標題,以供最佳化 - Tab 最末尾有按鈕可以換 tab Host detail 「OO 是詐騙嗎」tab 中可以放: - 165 公告列表(點擊名字可以連到 name detail),蓋棺論定是詐騙 - 「內政部警政署曾公告過 N 次,說 xxx.com 是詐騙:」 - 網站名稱、相關截圖、相關公告 - WHOIS record - 分析網域多新 - urlscan 上相同 IP 的網站有哪些:標題、URL、截圖、是否有 165 公告 - 進行 or 重做 urlscan 分析 - 類似網域 -「內政部警政署已公告過下面這些詐騙網站」 - 除了 host,還可以用此 host 用過、165 公告的名字去搜 - fake.idv, fake.xyz, fa0ke 算是「相似」 - show urlscan 截圖、日期、網域 - 注意:若詐騙使用 tw 網域,在 165 公告前就會被停止解析,urlscan 也抓不到 name detail 「OO 是詐騙嗎」tab 中可以放: - 165 網域與公告次數(點擊網域可以連到 host detail) - urlscan 上相同名字的網站有哪些:URL、截圖、是否有 165 公告 - 進行 or 重做 urlscan 分析 - 列出類似名字 - 「內政部警政署已公告過下面這些詐騙網站」 - 除了 name,還可以用 165 公告過的 host 去搜 - 「富達」、「富達投資」算是相似 - show urlscan 截圖、日期、名稱 找不到的 case(網址、名稱)時,「OO 是詐騙嗎」tab 中可以放: > 找不到的 case 仍須顯示以下,方便 Fact checker 引用 > 真的很可疑、但 165 還沒有的 case,有這個 open165 permalink 可以用在查核裡 - 坦承說 165 反詐騙還沒收到這個,無法確認 - 若為網域,做 DNS record - 列出類似內容,若有,則明確請讀者小心 每個 case 的「被 OO 騙怎麼辦」tab 內容都一樣: - 網頁標題放「被 OO 騙怎麼拿回錢」之類 - 說明「二次詐騙」與小心所有會幫你拿回款項的人 - 撥打或前往 165 官網,提供保存的證據 - 赴警局完成報案程序 - 一些 youtube 上的成功案例,但也說明這是比較幸運的狀況 - 說明調查接下來會怎麼進行 - 也說明:無論有沒有拿回來,赴警局交付證物也是有幫助的 ### Brainstorming #### 「類似名字」、「類似網域」的 retrieval: :::success Already implemented in https://github.com/cofacts/open165/pull/9 ::: - 因為一定很多「投資」等常用字,用向量做或只用 term frequency 做效果一定爛。搜尋一定要用 TF-IDF 來避開常用字。 - D1 supports virtual tables for full-text search using SQLite’s FTS5 module [source](https://developers.cloudflare.com/d1/build-with-d1/import-export-data/); [discussion](https://community.cloudflare.com/t/d1-support-for-virtual-tables/607277) - 其他支援 TF-IDF 的有: - Zinc https://github.com/zincsearch/zincsearch?tab=readme-ov-file - Quickwit https://github.com/quickwit-oss/quickwit - 介紹人:https://grafbase.com/blog/serverless-search-in-rust - Edgesearch https://github.com/wilsonzlin/edgesearch - Comparisons: https://prabhatsharma.in/blog/in-search-of-a-search-engine-beyond-elasticsearch-introducing-zinc/ #### 網站內文 ![](https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_e30bee122297094e19936f5953486131.png) - 紀錄詐騙網站截圖:某種網站外觀可能是詐騙常用的,所以會長很像 - 若要做使用者站內搜尋功能(可能產生 not found case),也可以用截圖外觀比對 - 紀錄詐騙網站原始碼:可能詐騙集團抄來抄去,用的都是同一套 library 組合等等 - 很多都 SPA,或許可以用 headless browser 抓 JS 啟動完成後的 HTML,用全文檢索處理 - 詐騙網站 server header fingerprint - 可能不同網域都連到同一台機器 - DNS records: txt records and stuff - 1.1.1.1 provides JSON API https://developers.cloudflare.com/1.1.1.1/other-ways-to-use-1.1.1.1/dns-in-google-sheets/ and https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/ #### 其他 - 官方澄清:某些網站名稱是被冒用,如果他們有官方澄清,那麼可以放在「OO 是詐騙嗎」分頁裡 - 可能需要 crowd source - WHOIS / OSINT recon solutions - [whoiser](https://github.com/LayeredStudio/whoiser) 與[似乎能在 Cloudflare Worker 上跑的 hack](https://www.pudn.com/Download/item/id/1699851202973721.html) - 現在似乎可以直上 worker? - 只用 Cloudflare worker 支援的東西跑 whois https://github.com/abersheeran/http-whois/ - FinalRecon's [whois command](https://github.com/thewhiteh4t/FinalRecon/blob/master/modules/whois.py#L39-L58) - 可疑網站資料爬取 - 資料來源:[數位發展部數位產業署聲請詐騙網域名稱停止解析網址清單](https://data.gov.tw/dataset/165027) - Cloudflare worker 應該還是能爬得到內容,存檔下來有助於偵測新網站 - 先用現有資料判斷詐團是否會重複利用同一個網站 - urlscan:見 [2025/05/05 分析](https://g0v.hackmd.io/pk0szdZYSkWmSCjz865Ldg?view#Open165),可提供 - 截圖 - DOM snapshot - 查詢同 IP 的其他網頁 ### 其他內容 - 政府 open data license - 本專案 license - about 本專案 - 想一個不會被誤會成政府的 site name 擺在左上角。如 Open165 民間反詐騙? ### 防詐文案來源 - https://www.pocket.tw//EDM/anti_fraud/index.htm - whoscall 防詐小學堂 - 法務部111年反詐騙法治教育電子書 https://data.gov.tw/dataset/159067 ### 其他名單來源 - 非金管會核准之證券期貨業者及商品警示專區 https://3434.twsa.org.tw/ 本專區警示資料為截至目前已發現未經金管會核准之業者或商品,可能未含括所有未經金管會核准業者或商品。為保障您自身權益,如有投資理財需求,請點選下列合法業者或商品網站名單,並洽詢業者提供服務。 - https://165dashboard.tw/city-case-summary 真實案例 https://github.com/Open165/165cases/ [name=jimmy++] - 快門手 dataset https://github.com/houboyjacky/Ad-Malicious-Scams-Boring-Farm-Filter - TWNIC DNS RPZ1.0法院及行政命令攔阻域名清單(財團法人台灣網路資訊中心統計資料) - https://data.gov.tw/dataset/165144 - 才 19 筆,最新在 2024/01 - 數位發展部數位產業署聲請詐騙網域名稱停止解析網址清單 - https://data.gov.tw/dataset/165027 - 不定期更新,最新在 2025/3/31 但之前一個月都更新數次 ## 目前進度 ### 2025/1/4 第零次網路黑魔法防禦松 > 提案投影片 > https://docs.google.com/presentation/d/1QCkxgPHj-9XW0i_CxvhEotkE8fLkEBHMgH6lEUlFuHk/edit #### Open165 - Harry: NextJS - SunSec: 比對技術協助 - 二次詐騙 blog ID - LINE ID - 豬仔是人工跟受害者對話 - Open165 可以試著用網站截圖,顯示詐騙長怎樣,與官方 165 區隔 - urlscan - 煒翔:第一次參加 - 皇甫: - Jimmy: vector DB 可以幫忙 - Claire - Xrex 金流文章 - 詐騙文本彙整,劇本整理 - Deepfake Elon Musk,如果有中文的話很有幫助 - 有寫如何防範,但其實都差不多 - 反詐文案可以 cite Xrex - 被詐騙要怎麼報警 - 受害者如何 google 到? - 抽取關鍵字 - 詢問是怎麼搜尋進來的 - 社群 - 瀧 Lucien:視覺切版 https://www.figma.com/design/Fqcv6KODgXFWyyjj1Ru9er/Open165?node-id=106-449 - 希望加一個共感的方式,互動,知道自己被詐騙的比例,對社群有興趣 - IG 影片 --> 把流量導進來 - 符合性:部分符合、完全符合等,文本 / 網域 等等 - Alan:找找看詐騙的同夥 - 介面可以參考:Infodemic - https://infodemic.cc/zh-hant/stories?uncover=troll - 類似 哪些農場文 -> 誰操作 -> 在什麼平台 etc. - 每天 AI 生成新文章:利用CICD每天生成,類似內容農場的做法 - Dong: - 蒐集疑似網域 - 例:https://165.g0v.tw/host/cofacts.tw - 整合文案與其他資訊,有機會在 165 公告前在這樣的頁面上提供詐騙資訊 [name=mrorz] - 目前設計上 165 公告的比例比較少 - 調整了一下 Figma![](https://g0v.hackmd.io/_uploads/S1cDEdIIJx.png) - Paul - https://165dashboard.tw/city-case-summary 這個是真實案例改寫的沒錯 - 二次詐騙者的 IP? - 撈撈看 [name=mrorz] #### 其他討論 ### 2024/10/4 大松 > https://g0v.hackmd.io/7UzK_kfzRWOcmJrXc7bxfA?view#Open1651 > Figma by Chloe, Sylvia, Tofus: https://www.figma.com/design/Fqcv6KODgXFWyyjj1Ru9er/Open165?node-id=106-449 ### 2024/8/04 COSCUP - Designers in Tech - Open Source Design Workshop - [最靠近門的那一組的共筆](https://hackmd.io/dMR3n42xSYy2P4EzVP-SeQ?view#%E6%9C%80%E9%9D%A0%E8%BF%91%E9%96%80%E7%9A%84%E9%82%A3%E4%B8%80%E7%B5%84%E7%9A%84%E5%85%B1%E7%AD%86) - https://github.com/cofacts/open165/issues/13 ### 2024/7/20 大松 > 初次提案 - [📊 提案投影片](https://docs.google.com/presentation/d/1ivYoq6-urRHUYQw92Rm1Y2tIM4F98NTS1EMGXbcs6z4/edit#slide=id.g2787f2273ce_0_0) - [📝 共筆](https://g0v.hackmd.io/roo-89pnR6iouhm-xgLL3A) - [💻 開發](https://github.com/cofacts/open165) - Finished data flow: [Open data](https://data.gov.tw/dataset/160055) --> Cloudflare D1 DB --> website display - Continuous deployment on Cloudflare Pages - 申請 [165.g0v.tw](https://github.com/g0v/domain/pull/82)

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lost their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.


Upgrade

All
  • All
  • Team
No template.

Create a template


Upgrade

Delete template

Do you really want to delete this template?

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

Sign in via GitHub

New to HackMD? Sign up

Help

  • English
  • 中文
  • 日本語

Documents

Tutorials

Book Mode Tutorial

Slide Example

YAML Metadata

Resources

Releases

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions

Versions

Upgrade now

Version named by    

More Less
  • Edit
  • Delete

Note content is identical to the latest version.
Compare with
    Choose a version
    No search result
    Version not found

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.