Repository navigation
fix: webshell-probe false positive, PHP shell quick start page, stackdog.app domain - #12
Merged
Merged
Conversation
web.webshell-probe looked for its indicators anywhere in a log line. In stacker's agent request logs, "c99" sits inside x-request-id hex (b1dac994f229), so agent long-polls raised a webshell alert and an offense. The detector now reads the extracted request: a cmd/exec/shell parameter, a shell or downloader in the URL, or a path segment named after c99/r57. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Install with one curl command, write recommended settings to /etc/stackdog/stackdog.env, run stackdog serve under systemd, and check detection with an inert test file. Linked from the detection page, footer and sitemap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The site default URL, the default Slack avatar, the docs link printed by install.sh and the docs pages now point at stackdog.app. https://stackdog.app/stackdog-mark.png answers 200. The GitHub copy stays the Slack avatar fallback. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #11, which was merged before these commits were pushed.
Changes
3139ff7fix(detectors): match webshell probes in the request URL onlyweb.webshell-probematched its indicators anywhere in a log line, and this detector can ban. In stacker's agent request logs,c99sits inside thex-request-idhex (…b1dac994f229), so agent long-polls raised a webshell alert and an offense.The detector now reads only the extracted request. It matches:
cmd/exec/shellparameter;powershell,/bin/sh,wget httporcurl httpin the URL;c99/r57.A regression test uses the exact agent line from the alert. Trade-off: lines with no HTTP request no longer match (e.g. a cron line containing
/bin/sh).38272b8docs(website): add a PHP shell quick start page (/php-shell-quickstart)The page has four copy-paste steps:
/etc/stackdog/stackdog.env:127.0.0.1;/var/wwwplus nginx/Apache access logs;highalert threshold;stackdog serve;It also covers proxy/Cloudflare
real_ipand everyday commands. It is linked from the detection page, the footer and the sitemap.39a225achore: move the site domain to stackdog.appThe domain changes in
website/lib/config.ts,website/.env.local.example, the default Slack avatar (src/alerting/notifications.rs),.env.sample, the docs page andinstall.sh.https://stackdog.app/stackdog-mark.pnganswers 200; the GitHub copy stays the avatar fallback.Verification
cargo test: 446 + 8 + 108 passed, 0 failed, 1 ignored.cargo clippy --all-targets -- -D warningsis clean.cd website && npm run build: OK./php-shell-quickstartwas checked at 390px with no horizontal overflow.Not verified
grepon/api/alerts) have not been run on a server.https://stackdog.app/php-shell-detectionreturned 404 at the time of writing, so the site has not been redeployed since feat: PHP webshell detection with alert + IP ban #11.sitesrepo (sites/stacker.yml) was edited locally but is not part of this PR.🤖 Generated with Claude Code