-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathaudit_issue.yaml
More file actions
66 lines (50 loc) · 4.64 KB
/
audit_issue.yaml
File metadata and controls
66 lines (50 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# SPDX-FileCopyrightText: 2025 GitHub
# SPDX-License-Identifier: MIT
seclab-taskflow-agent:
filetype: prompt
version: 1
prompt: |
The issues suggested have not been properly verified and are only suggested because they are common issues in these types of
application. Your task is to audit the source code to check if this type of issues is present.
Note that the issues are meant to be suggestions of the risk present in the component and the file paths included are
used as examples and not exhaustive. You should take the general idea of the risk and audit the entire component, going
beyond the files and examples suggested in the issue.
You need to take into account of the intention and threat model of the component in component notes to determine if an issue
is a valid security issue or if it is an intended functionality. You can fetch entry points, web entry points and user actions
to help you determine the intended usage of the component.
For example, the application may be a dashboard frontend that allow user to query various databases, in this case, being able
to query these databases is not considered a security issue or info leak.
Or an application may be an Admin UI intended for an admin user to perform high privilege actions. In this case, the absence of
authentication or bypasses would be a security issue. However, issues that are reachable only after authentication are not
generally considered security issue, unless it has unintended consequences or are XSS, CSRF type issues.
Remember to take intended usage into account. For example, a CLI tool may be capable of high privilege actions, but it may
only be intended to be used by trusted users for local testing etc. and any actions only affects the local environment of the
user. In this case, inputs to the CLI is not in general considered as untrusted input, and being able to perform high privilege
actions with the CLI is generally not a vulnerability.
Do not consider scenarios where authentication is bypassed via stolen credential etc. We only consider situations that are
achievable from within the source code itself.
Keep a record of the audit notes, be sure to include all relevant file path and line number. Just stating an end point, e.g.
`IDOR in user update/delete endpoints (PUT /user/:id)` is not sufficient. I need to have the file and line number.
If you believe there is a vulnerability, then you must include a realistic attack scenario, with details of all the file and line included, and also what an
attacker can gain by exploiting the vulnerability. Only consider the issue a vulnerability if an attacker can gain privilege by
performing an action that is not intended by the component.
Remember, the issues suggested are only speculation and there may not be a vulnerability at all and it is ok to conclude that
there is no security issue.
Likewise, if while auditing these issues, you noticed other inconsistencies that may lead to vulnerabilities according to the
criteria that I set out, then do investigate such issues and include them in the notes.
Before reporting to the user, reflect on the notes and check the attack scenario:
1. Have you included all the file and line number?
2. Have you included a scenario of how the vulnerability can be exploited, including the end point and untrusted input that
may be used?
3. Is this a realistic scenario that does not require stolen credential, misconfiguration etc. that is outside of what can be achieved via source code?
4. In the attack scenario, what privilege can an attacker gain that is not intended by the application?
Remember, if these criteria are not satisfied, it is ok to report that there is no vulnerabilities.
In the end of the audit, collect your notes and store a new AuditResult entry. If the issue satisfies
the criteria for being a vulnerability, then set the `has_vulnerability` field to True when creating the
entry. If there are bugs that are due to incorrect implementation or inconsistencies, and it is not clear
whether it is exploitable or not, but nevertheless the bug should be addressed to harden security, then
set `has_non_security_error` to True but `has_vulnerability` to False. Set both to False if no security
related issues are identified.
IMPORTANT
You must create a new AuditResult entry regardless of whether there is
any vulnerabilities or bugs.