RepoTrust

TideSec/WDScanner

WDScanner平台目前实现了如下功能:分布式web漏洞扫描、客户管理、漏洞定期扫描、子域名枚举、端口扫描、网站爬虫、暗链检测、坏链检测、网站指纹搜集、专项漏洞检测、代理搜集及部署等功能。

https://github.com/TideSec/WDScanner · commit aebfddd4eb2d · scored 2026-11-13 · scoring prov-4+qual-2+sec-2

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

Dispute this score or request a re-score Full report JSON

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 49% 100%
Code quality 22 poor 90% 100%
Security 38 poor 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

Month Lines added Attributed to AI
2019-02 7,730 0%
2019-05 175,619 0%

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is poor: test-to-source ratio 0.00, no CI test run detected; 29% of function code in complex or long functions; 19% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 42
Duplication 31
Code smells (Opengrep) 3
Tests and CI 0
Documentation 40
Type safety 40
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is poor: 4 known vulnerabilities in 2 dependencies; 78 high-severity SAST findings. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 57
Static analysis (Opengrep) 4
Vulnerable dependencies (OSV) 68
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a

Top findings

Severity Finding Location
critical osv/GHSA-x7m3-jprg-wc5g: [email protected] (PyPI) is affected by PYSEC-2023-177, GHSA-x7m3-jprg-wc5g TaskPython/TaskInfo/BBScan/requirements.txt
high opengrep/python.lang.security.unverified-ssl-context: Unverified SSL context detected. This will permit insecure connections without verifying SSL certificates. Use 'ssl.create_default_context' instead. [confidence medium] TaskPython/TaskInfo/BBScan/BBScan.py:38
high opengrep/php.lang.security.injection.echoed-request: Echoing user input risks cross-site scripting vulnerability. You should use htmlentities() when showing data to users. [confidence medium] TaskPython/TaskInfo/fileinfo.php:14
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/subDomainsBrute-master/run.py:10
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/subDomainsBrute-master/utils/banner.py:20
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'Popen' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] TaskPython/TaskInfo/subDomainsBrute-master/utils/common.py:69
high opengrep/python.lang.security.audit.subprocess-shell-true: Found 'subprocess' function 'Popen' with 'shell=True'. This is dangerous because this call will spawn the command using a shell process. Doing so propagates current shell settings and variables, which makes it much easier for a malicious actor to execute commands. Use 'shell=False' instead. [confidence medium] TaskPython/TaskInfo/subDomainsBrute-master/utils/common.py:71
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/subDomainsBrute-master/utils/get_by_ssl.py:126
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:273
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:305
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:311
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:317
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:326
high opengrep/python.lang.security.audit.dangerous-system-call-audit: Found dynamic content used in a system call. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Use the 'subprocess' module instead, which is easier to use without accidentally exposing a command injection vulnerability. [confidence low] TaskPython/TaskInfo/taskinfo-win.py:341
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:28
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:38
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:48
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:63
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:72
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/assess_quality.py:119
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/ip_pool.py:47
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/ip_pool.py:48
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/ip_pool.py:49
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/ip_pool.py:50
high opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query: Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low] TaskPython/proxy/ip_pool.py:209

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Repository profile

Language Lines
PHP 6,711
Python 6,580
JavaScript 1,203

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/TideSec/WDScanner/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/TideSec/WDScanner/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/TideSec/WDScanner/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/TideSec/WDScanner/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/TideSec/WDScanner/security.svg)](https://repotrust.synapticcyber.com/r/github.com/TideSec/WDScanner/)