Vault7: CIA Hacking Tools Revealed
Navigation: » Latest version
11. Issues and Documentation
SECRET//NOFORN
Project Issues/Issue Tracking
Text Here
Project Documentation
Ah documentation. I'm not sure I know anyone who enjoys doing documentation. If you do like documenation it is suggested that you take sick leave and rest until you feel better. That being said, this isn't a rodeo. We can't be sustainable by slinging code together and throwing tools without understanding the details. To EDGEngineering Development Branch there are a few different sets of things we need to document. Number one is our code. People do leave to other jobs or go on vacation and at some time you will have to take over someone else's projects. Be nice and not lazy. The next thing we as developers need to document is the tools we create and deliver. This means documenting the conceptual level (CONOPS) as well as the capabilities, limitations, and testing results of the tool (usage would be nice as well but we can't always do that unfortunately). The final thing that EDGEngineering Development Branch stresses to document is code sharing/reuse. This one's a toughie. It's never as simple as yes or no. In fact, most of code reuse falls somewhere in the middle of the spectrum of exact copy to completely changed. What we can do, at a minimum, is note that there is a correlation. That way we can make the judgement when we come back to it later (with new/more information). So let's discuss how we do this:
Code Documentation: This one we can't provide too much guidance on as everyone has their own style. However, some suggestions include using a Doxygen compatible documentation for your tool. Having Doxygen compatible code documentation will help automate the process of documenting your tool on Confluence. Another suggestion would be to comment throughout your code supplying conceptual comments as well as any odd numbers (wcslen(wcMyVar) + 13). Also, please don't tell us in a comment that for(int i = 0; i < dwSumNum; i++) is a for loop. Please.
SECRET//NOFORN