Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Added my own checkers - count is 19K #4372

Open
bakasur89 opened this issue Aug 21, 2024 · 2 comments
Open

feat: Added my own checkers - count is 19K #4372

bakasur89 opened this issue Aug 21, 2024 · 2 comments
Labels
blocked enhancement New feature or request

Comments

@bakasur89
Copy link

I have added 19k+ checkers into the tool, but somehow it is not working it gives error as
TypeError:'module' object is not callable.
error

  1. I want to use this tool on windows.
  2. my aim is to create each and every checker, for which the product is present in DB.
  3. 19k already created. more to go.
  4. there is NO issue in the checker, as when I try to run these checkers but not all 19k together, but as 2-3k checkers at a time it works.
  5. but when it comes to 19k together it fails.

Also, I want to make sure when I achieve 19k checkers for now, it should run quickly.

Please Please help me, I need to achieve this at any cost.

Best regards,
bakasur89

@bakasur89 bakasur89 added enhancement New feature or request good first issue Good for newcomers labels Aug 21, 2024
@terriko
Copy link
Contributor

terriko commented Aug 21, 2024

It looks like maybe you have a typo in __init__.py

Please try getting 1 or 2 checkers merged before you start a project of this scale. Most people have trouble with the first couple.

That said 19k, checkers is awfully ambitious:

  • you're probably going to rethink how checkers are loaded so you don't have to add them all to __init__.py. Currently it's set up to make importing all of them easier, but that may not be a thing anyone wants to do if you have 19k of them.
  • As far as performance goes: 19k checkers means running more than 19k regexes against every single string encountered by the tool. That's going to be slow no matter how you slice it. I think some of the commercial tools I've used do this and we're talking 4hr+ execution times on beefy servers rather than the maybe 30 minutes that we run in cheap docker containers.
  • You may need to rethink some architecture to make this viable, such as how to mass-disable things based on various criteria (like "is this likely to run on the platform I'm scanning?"), or different ways to batch things.
  • You likely will need to re-implement parts of our scanning engine in a more performant language such as rust. (I love Python but the best way to make things faster in python remains to not use python for the parts that are slowest.)
  • I also have serious doubts as to whether all of those 19k have viable signatures (sometimes things don't with our current scanning methodology).

I don't know why you're saying you need to do this at any cost, but I just want to be clear that you're talking about a development process that would probably require a full team of engineers and potentially years of work. Which isn't to say it wouldn't be awesome, or even necessarily that it'd be infeasible, but maybe start a bit slower and see if you can get 1-2 checkers merged before trying to make a checker for everything?

@terriko terriko added blocked and removed good first issue Good for newcomers labels Aug 21, 2024
@chenjianquan7
Copy link

what is the checker with 19k? thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants