how are different nasl scripts linked to each other? there is a difference between the two openvas scans that include group of families and a single family? does families also depend on each other? why?
for example after a scan i can see the log of a.nasl script. the result in the log is found by b.nasl script. how can we know that they are linked and how to know how many scripts a.nasl depends on?
as pointed out via IRC please have a look at the “Golden Rules” and “How to write a product detection VT” parts of the following high level overview / description VT Development which should answer most of the questions.
A short sum-up to your related questions in this thread:
script_dependencies() as well as via the
script_mandatory_keys() described in the linked article.
Families are not relevant for the VT and are only used to allow the end user to create own scan configurations with VTs of specific families.
script_dependencies() described above.
You would need to follow the
script_dependencies() of each .nasl file on your local file system and grep through your plugins folder so see the dependencies.
Thank you very much for the response. Is there any priority while mentioning scripts inside script_dependencies(). for example d.nasl has script_dependencies(a.nasl, b.nasl,c.nasl) and I run two different scans:
- with single family in scan config: This shows only result of c.nasl and doesnt show the result of a.nasl where both of them belong to the same family as mentioned in scan config.
2)with two families in scan config: This shows result of a.nasl directly without even mentioning c.nasl anywhere in the log.
How are these dependencies related?
as pointed out previously the family of a .nasl file doesn’t have any relevance for it or its execution / run time as long as both scan configs including the VT you’re expecting an output.
Why you’re seeing different results of different scan configs is probably a topic better matching into the https://community.greenbone.net/c/gse category.