Skip to content

Detection Source Types

Reference table of all detection sources in WebDecoy.


SourceCodeIconDescription
Decoy Linkdecoy_linkLinkHidden honeypot link was accessed
EndpointendpointAPIAPI honeypot received a request
Detection Scriptbot_scannerRobotJavaScript scanner detected automation
LLM Referralllm_referralLinkVisitor arrived from an AI platform (ChatGPT, Perplexity, etc.)
WordPress Pluginwordpress_pluginDocumentWordPress plugin server-side detection
SDKsdkToolServer-side SDK submitted detection

Detections from hidden honeypot URLs that legitimate users cannot see or access.

FieldExample
URL/admin/backup.zip
MethodGET
Trigger ActionLog, Block, Poison, Redirect
Click CountIncremented on each access
  • Bot crawling hidden links
  • Scanner probing common admin paths
  • Attacker following disallowed robots.txt paths

Usually mapped to:

  • TA0043 (Reconnaissance)
  • TA0001 (Initial Access)

Detections from fake API endpoints that capture detailed request information including POST bodies.

FieldExample
URL/api/v1/admin/users
MethodPOST, PUT, DELETE, PATCH
BodyCaptured request body
Content-Typeapplication/json
Attack SignaturesSQL injection, XSS, etc.
FieldDescription
request_bodyCaptured POST/PUT body content
body_sizeSize in bytes
content_typeContent-Type header value
has_auth_headerWhether Authorization header present
attack_signaturesArray of detected attack patterns
  • API vulnerability scanning
  • SQL injection attempts
  • Authentication bypass attempts
  • Data exfiltration probing

Usually mapped to:

  • TA0001 (Initial Access) - for exploit attempts
  • TA0006 (Credential Access) - for auth attacks
  • TA0007 (Discovery) - for enumeration

Detections from the JavaScript-based scanner running in visitors’ browsers.

FieldExample
Detection TypeHeadless browser, WebDriver
Bot Score0-100
SignalsArray of detected anomalies
Browser FingerprintHash of browser characteristics
FieldDescription
webdriver_detectedWebDriver API present
headless_detectedRunning in headless mode
automation_markersPuppeteer, Playwright traces
fingerprint_hashBrowser fingerprint
behavioral_scoreBehavior analysis score
SignalIndicates
webdriverSelenium/WebDriver automation
headless_chromeChrome running headless
puppeteerPuppeteer automation
playwrightPlaywright automation
phantom_jsPhantomJS browser
missing_pluginsNo browser plugins (headless indicator)
canvas_anomalyUnusual canvas fingerprint
webgl_anomalyGraphics rendering inconsistency
chromedriver_cdcChromeDriver cdc_ properties detected
selenium_evaluateSelenium evaluation artifacts
selenium_unwrappedSelenium unwrapped objects
firefox_driverFirefox WebDriver artifacts
puppeteer_evalPuppeteer evaluation script markers
cdp_script_injectionCDP Runtime.evaluate injection
webdriver_getter_modifiedModified navigator.webdriver getter

These advanced signals detect stealth plugins and anti-fingerprinting tools:

SignalIndicates
lie_tamperingStealth plugin detected (native functions modified)
lie_modified_*Specific function with modified toString()
lie_webdriver_getter_tamperedWebDriver getter property descriptor modified
lie_webdriver_getter_modifiedWebDriver getter toString is not native
lie_toString_tamperedFunction.prototype.toString modified
lie_bind_tamperedFunction.prototype.bind modified
lie_plugins_spoofednavigator.plugins object type mismatch
lie_getOwnPropertyDescriptor_tamperedCore Object method modified
lie_defineProperty_tamperedCore Object method modified
lie_chrome_runtime_spoofedFake chrome.runtime in non-Chrome browser
worker_mismatchMain thread/Web Worker navigator mismatch
worker_mismatch_platformPlatform differs between main/worker
worker_mismatch_userAgentUser agent differs between main/worker
worker_mismatch_hardwareConcurrencyCPU cores differ between main/worker
worker_mismatch_languageLanguage differs between main/worker
canvas_pixel_noiseAnti-fingerprinting noise in canvas output
canvas_text_metrics_anomalyText metrics inconsistent across fonts
  • Headless browser scraping
  • Automated testing tools on production
  • Bot networks using browser automation

Usually mapped to:

  • TA0043 (Reconnaissance) - for scraping
  • TA0009 (Collection) - for data theft

Detections from the WebDecoy WordPress plugin’s server-side analysis.

FieldExample
Detection TypeRate limit, honeypot field, user agent
WordPress Hookcomment_form, login, registration
Plugin Version1.3.x
FieldDescription
hook_triggeredWhich WordPress hook caught this
honeypot_filledHidden form field was filled
rate_limitedRequest exceeded rate limit
form_typecomment, login, registration
woocommerce_contextCart, checkout, etc.
ContextDescription
comment_formComment submission
loginLogin attempt
registrationUser registration
checkoutWooCommerce checkout
generalGeneral request analysis
  • Comment spam bots
  • Login brute force attacks
  • Registration spam
  • Card testing on WooCommerce

Usually mapped to:

  • TA0006 (Credential Access) - for login attacks
  • TA0001 (Initial Access) - for form exploits

Detections submitted programmatically via the Node.js or PHP SDK.

FieldExample
SDK Version1.0.0
FrameworkExpress, Next.js, etc.
Custom FieldsDeveloper-defined metadata
FieldDescription
sdk_versionVersion of SDK used
frameworkWeb framework (if applicable)
custom_metadataDeveloper-added fields
submission_timestampWhen SDK submitted
  • Custom server-side bot detection
  • Middleware-based protection
  • API gateway integration
  • Custom threat analysis

Depends on detection context. Typically:

  • TA0043 (Reconnaissance)
  • TA0001 (Initial Access)

Detections from the client-side detection script when a visitor arrives from an AI platform. These represent human visitors who clicked a link shared by an AI chatbot (e.g., ChatGPT, Perplexity, Claude).

FieldExample
Score0 (always)
Referrerhttps://chatgpt.com/c/abc123
LLM PlatformChatGPT, Perplexity, Claude, etc.
Page URLThe landing page URL
PlatformDomains
ChatGPTchat.openai.com, chatgpt.com
Perplexityperplexity.ai, www.perplexity.ai
Google Geminigemini.google.com
Claudeclaude.ai
DeepSeekdeepseek.com, www.deepseek.com, chat.deepseek.com
Microsoft Copilotcopilot.microsoft.com
You.comyou.com, www.you.com
Phindphind.com, www.phind.com
Kagikagi.com, www.kagi.com
Meta AImeta.ai, www.meta.ai
Grokgrok.com, www.grok.com
  • User asks ChatGPT a question, ChatGPT links to your site, user clicks the link
  • Perplexity search results include your page as a source
  • AI assistant recommends your product/service with a link

LLM referral detections are not threats. They have a score of 0 and are used for analytics purposes — understanding how AI platforms drive traffic to your site.


SourceServer-SideClient-SideBody CaptureAttack Signatures
decoy_linkYesNoNoBasic
endpointYesNoYesFull
bot_scannerNoYesNoAutomation
llm_referralNoYesNoNone
wordpress_pluginYesYesLimitedFull
sdkYesNoCustomCustom

  1. Go to Detections
  2. Click Filters
  3. Select Source filter
  4. Check desired sources
Terminal window
GET /api/organizations/{org_id}/detections?source=endpoint

Multiple sources:

Terminal window
GET /api/organizations/{org_id}/detections?source=endpoint,bot_scanner