<html><head></head><body>Hi Simon, <br>
<br>
I like this idea. To make the life of the tools-people easier, a fixed unique prefix would be good, so they can basically ignore all,<br>
<br>
data-nosec-*<br>
or<br>
data-ignoresec-*<br>
<br>
And if "*" would share a set of terms for vulns with the __vulns.json idea for scanner result assessment on intentionally vulnerable apps (1st draft see VWAD repo), that would be even more consistent!<br>
<br>
Cheers, <br>
Bjoern<br><br><div class="gmail_quote">Am 4. Januar 2017 14:53:06 MEZ schrieb psiinon <psiinon@gmail.com>:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Leaders,<br /><br />All security tools suffer from false positives (FP’s), and good tools allow these FPs to be flagged in the tool. SAST tools also typically allow the source code to be annotated to prevent FPs from being flagged, eg the @SuppressWarnings annotation in Java.<br /><br /></div>I've discussed this with Mozilla web developers and we have decided to start using what I've dubbed 'HTML security annotations'.<br /></div>The first one we will be using is to allow forms to be flagged as not requiring (anti) CSRF tokens, eg<br /><br /><div style="margin-left:40px"><span style="font-family:monospace,monospace"><form action="/my-handling-form-page" method="post" <span style="color:rgb(255,0,0)">data-no-csrf</span>><br />    <div><br />        <label for="search">Search:</label><br />        <input type="text" id=”search" /><br />    </div><br /></form><br /></span></div><br /></div>The 'data-no-csrf' attribute is an indication that the developers know all about CSRF tokens and have decided that this form doesnt require one.<br /></div>Security tools _can_ choose to not flag such forms as being insecure because they dont have a CSRF token. They can also make it easier for their users to find all forms that so have such tokens:)<br /></div>Theres no guarantee that the developers are right, so a sensible pentester would not place too much faith in this attributes use.<br /></div>However its an easy and effective way to reduce FPs in DAST tools and also an easy way to indicate to bug bounty participants that they should only report these forms if they are _really_ sure they can be usefully exploited.<br /><br /></div><div>There are other alternative solutions to this particular problem, including:<br /><ol><li>Adding CSRF tokens to all forms whether they need it or not. That feels nasty to me and I'm not going to suggest it to our devs ;)</li><li>Having tool specific configurations for flagging FPs. Many tools support this but personally I like the annotation approach that can be adopted by all tools<br /></li></ol></div><div></div>So thats the first one we're trying out, and I can see the potential for more of them.<br /><br /></div>What do you think?<br /><br /></div>If everyone else hates this idea then we can keep as Mozilla specific. However if there is broad support for this them maybe it could be mentioned on the relevant pages of the OWASP wiki.<br /></div>In any case I'll be adding the option to ignore forms flagged in this way to ZAP ;)<br clear="all" /><div><div><div><div><div><div><div><div><div><div><div><br /></div><div>All constructive feedback appreciated, including suggestions for other annotations that could be useful.<br /><br /></div><div>Cheers,<br /><br /></div><div>Simon<br /></div><div>-- <br /><div class="gmail_signature"><a href="https://www.owasp.org/index.php/ZAP" target="_blank">OWASP ZAP</a> Project leader<br /></div>
</div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></body></html>