Sachverhalt:
A.
Am 14. November 2016 richtete die C._ AG an die Chefin des Kantonalen Steueramtes Zürich ein Ausstandsbegehren gegen vier Mitarbeiter des Amtes, die mit einem hängigen Nachsteuer- und Steuerhinterziehungsverfahren gegenüber der Gesellschaft bei den Kantons- und Gemeindesteuern sowie der direkten Bundessteuer befasst waren. Am Tag danach (15. November 2016) erliess das Amt eine durch Steuerkommissär E._ verfasste und unterzeichnete Schlussverfügung gegenüber der Gesellschaft (Staats- und Gemeindesteuern: Nachsteuerverfügung für die Steuerperioden 2005 bis 2006; Strafbescheid für die Perioden 2005 bis 2008; direkte Bundessteuer: Nachsteuerverfügung für die Perioden 2005 bis 2006; Strafverfügung für die Perioden 2005 bis 2008).
Mit Verfügung vom 16. Dezember 2016 trat die Chefin des Amtes auf das Ausstandsgesuch gegen die Steuerkommissäre G._ und D._ nicht ein; betreffend die Kommissäre E._ und F._ wies sie das Gesuch ab. Zudem wies sie den Antrag auf Erklärung der Nichtigkeit bzw. auf Aufhebung der Verfügung vom 15. November 2016 ab.
Hinsichtlich der drei letztgenannten Kommissäre gelangte die C._ AG an die Finanzdirektion des Kantons Zürich, die den Rekurs am 6. Juli 2017 abwies, soweit sie darauf eintrat. Diesen Entscheid bestätigte das Verwaltungsgericht des Kantons Zürich mit Urteil vom 21. März 2018, soweit es auf die Rechtsmittel (jeweils im Bereich der Staats- und der direkten Bundessteuer) eintrat.
B.
Am 9. Mai 2018 hat die C._ AG Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht eingereicht. Sie beantragt im Wesentlichen, das verwaltungsgerichtliche Urteil aufzuheben und die drei Steuerkommissäre in den Ausstand zu versetzen. Die Verfügungen vom 15. November 2016 und vom 16. Dezember 2016 seien für nichtig zu erklären, eventuell aufzuheben. Subeventualiter sei die Sache zur Gewährung des rechtlichen Gehörs an die Vorinstanz zurückzuweisen.
C.
Das Kantonale Steueramt Zürich und das Verwaltungsgericht des Kantons Zürich schliessen auf Abweisung der Beschwerde (soweit darauf einzutreten sei). Die Eidgenössische Steuerverwaltung hat auf eine Stellungnahme verzichtet.
D.
Mit Replik vom 16. August 2018 hat die Beschwerdeführerin an ihren Rechtsstandpunkten festgehalten.
E.
Mit Verfügung vom 14. Juni 2018 hat der Präsident der II. öffentlich-rechtlichen Abteilung ein Gesuch um Erteilung der aufschiebenden Wirkung bzw. Anordnung vorsorglicher Massnahmen im Sinne der Erwägungen teilweise gutgeheissen und im Übrigen abgewiesen.
Erwägungen:
1.
1.1. Die Beschwerde ans Bundesgericht ist zulässig gegen Entscheide letzter kantonaler Instanzen (Art. 86 Abs. 1 lit. d BGG). Das angefochtene Urteil des Verwaltungsgerichts ist ein kantonal letztinstanzlicher Entscheid eines oberen Gerichts in einer Angelegenheit des öffentlichen Rechts, der keinem Ausschlussgrund von Art. 83 BGG unterliegt und als Zwischenentscheid gemäss Art. 92 BGG anfechtbar ist. Auf das Rechtsmittel ist grundsätzlich einzutreten (Art. 82 ff. BGG).
1.2. Anders liegen die Dinge hingegen, soweit die Beschwerdeführer die Aufhebung der Verfügung (vom 16. Dezember 2016) der Chefin des kantonalen Steueramtes zu den Ausstandsbegehren verlangt. Diese Verfügung ist, wie der nachfolgende Entscheid der kantonalen Finanzdirektion, durch das Urteil des Verwaltungsgerichts ersetzt worden (sog. Devolutiveffekt; vgl. u.a. BGE 134 II 142 E. 1.4 S. 144). Gründe, welche die Verfügung (wie auch diejenige vom 15. November 2016 oder das verwaltungsgerichtliche Urteil) geradezu nichtig machen würden, sind nicht ersichtlich.
1.3. Die Beschwerdeführerin stellt das Gesuch, nicht nur die Verfahren betreffend Staats- und Bundessteuer zu vereinigen, sondern die Vereinigung auf das Verfahren 2C_425/2018 zu erstrecken, welches sich auf eine andere Gesellschaft des wirtschaftlichen Eigentümers der Beschwerdeführerin bezieht.
Das Verwaltungsgericht hat eine solche Vereinigung abgelehnt und geurteilt, dass sich in den Verfahren der beiden Gesellschaften unterschiedliche Fragen stellen. Allgemein geht es zwar um das zulasten derselben Kommissäre des Kantonalen Steueramtes Zürich gestellte Ausstandsbegehren wegen der gleichen Vorfälle. Da aber bestimmte verfahrensrechtliche Einwendungen und Rügen nur das vorliegende Verfahren betrafen, hat die Vorinstanz sich damit gegenüber der anderen Gesellschaft nicht befasst und ist im dortigen Verfahren auf die entsprechenden Vorbringen nicht eingetreten (vgl. E. 7 des angefochtenen Urteils im Verfahren 2C_425/2018).
In Übereinstimmung damit wird das jeweilige verwaltungsgerichtliche Urteil vor Bundesgericht in jedem der beiden Fälle unterschiedlich angefochten. Hier macht die Beschwerdeführerin geltend, die Vorinstanz habe zu Unrecht geurteilt, dass die vor ihr gerügten Verfahrensfehler keine Ausstandspflicht zu begründen vermöchten. Stattdessen argumentiert die Gesellschaft im anderen Verfahren, durch sein Nichteintreten auf die den Steuerkommissären vorgeworfenen Verfahrensfehler habe das Verwaltungsgericht seine Prüfungspflicht verletzt und seinerseits gegen den verfassungsmässigen Anspruch auf rechtliches Gehör (Art. 29 Abs. 2 BV) verstossen. Die Prüfung dieser verschiedenen Fragen hat getrennt zu erfolgen, weshalb eine Vereinigung der Verfahren auch vor Bundesgericht abgelehnt werden muss.
1.4. Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (Art. 105 Abs. 1 BGG), es sei denn, dieser sei offensichtlich unrichtig oder beruhe auf einer Rechtsverletzung im Sinn von Art. 95 BGG (Art. 105 Abs. 2 BGG). Die betroffene Person muss rechtsgenügend dartun, dass und inwiefern der festgestellte Sachverhalt in diesem Sinn mangelhaft erscheint und die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (Art. 97 Abs. 1 BGG i.V.m. Art. 42 Abs. 2 und Art. 106 Abs. 2 BGG). Rein appellatorische Kritik an der Sachverhaltsermittlung und Beweiswürdigung genügt den Begründungs- und Rügeanforderungen nicht (vgl. BGE 139 II 404 E. 10.1 S. 445 mit Hinweisen).
2.
Die Beschwerdeführerin macht geltend, ihre sich aus Art. 29 f. BV ergebenden verfassungsmässigen Ansprüche seien verletzt worden, weil das Verwaltungsgericht geurteilt habe, die Kommissäre des Kantonalen Steueramtes hätten sich in Zusammenhang mit keinem der verschiedenen hier geltend gemachten Umstände (vgl. unten E. 3-5) als voreingenommen erwiesen und somit nicht in den Ausstand treten müssen.
2.1. Nach Art. 30 Abs. 1 BV und Art. 6 Ziff. 1 EMRK hat jede Person Anspruch darauf, dass ihre Sache von einem unparteiischen, unvoreingenommenen und unbefangenen Richter ohne Einwirken sachfremder Umstände entschieden wird. Ob diese Garantien verletzt sind, prüft das Bundesgericht frei. Art. 30 Abs. 1 BV soll zu der für einen korrekten und fairen Prozess erforderlichen Offenheit des Verfahrens im Einzelfall beitragen und damit ein gerechtes Urteil ermöglichen. Die Garantie des verfassungsmässigen Richters wird verletzt, wenn bei objektiver Betrachtung Gegebenheiten vorliegen, die den Anschein der Befangenheit oder die Gefahr der Voreingenommenheit zu begründen vermögen (vgl. u.a. BGE 137 I 227 E. 2.1 S. 229 m.w.H.).
Voreingenommenheit und Befangenheit werden nach der Rechtsprechung angenommen, wenn Umstände vorliegen, die bei objektiver Betrachtung geeignet sind, Misstrauen in die Unparteilichkeit des Richters zu erwecken. Solche Umstände können in einem bestimmten Verhalten des betreffenden Richters oder in gewissen äusseren Gegebenheiten funktioneller und organisatorischer Natur begründet sein (vgl. ebenda).
Bei der Beurteilung solcher Umstände ist nicht auf das subjektive Empfinden einer Partei abzustellen. Das Misstrauen in die Unvoreingenommenheit muss vielmehr in objektiver Weise begründet erscheinen. Es genügt, wenn Umstände vorliegen, die bei objektiver Betrachtung den Anschein der Befangenheit und Voreingenommenheit erwecken. Für die Ablehnung wird nicht verlangt, dass der Richter tatsächlich befangen ist. Der Anschein der Befangenheit kann durch unterschiedlichste Umstände und Gegebenheiten erweckt werden. Dazu können nach der Rechtsprechung insbesondere vor oder während eines Prozesses abgegebene Äusserungen eines Richters zählen, die den Schluss zulassen, dass sich dieser bereits eine feste Meinung über den Ausgang des Verfahrens gebildet hat (vgl. a.a.O.).
2.2. Für nichtrichterliche Behörden kommen Art. 30 Abs. 1 BV und Art. 6 Ziff. 1 EMRK nicht zur Anwendung. In Analogie zu diesen Bestimmungen verpflichtet aber Art. 29 Abs. 1 BV eine Amtsperson zum Ausstand, wenn Umstände vorliegen, die nach objektiven Gesichtspunkten geeignet sind, den Anschein der Befangenheit zu erwecken. Art. 29 Abs. 1 BV garantiert den Anspruch auf gleiche und gerechte Behandlung; das Gebot der Unbefangenheit bildet einen Teilgehalt dieses Grundrechts. Im Kern der Garantie der Unbefangenheit steht für Richter wie für Verwaltungsbeamte, dass sie sich in Bezug auf die Beurteilung des Sachverhalts nicht bereits festgelegt haben. Nach der Rechtsprechung haben nichtrichterliche Amtspersonen im Wesentlichen nur dann in den Ausstand zu treten, wenn sie an der zu behandelnden Sache ein persönliches Interesse haben, zu einem früheren Zeitpunkt gegenüber der Partei ihre persönliche Geringschätzung oder Abneigung zum Ausdruck gebracht haben oder wenn ihnen Verfahrens- oder Ermessensfehler unterlaufen sind, die nach ihrer Natur oder wegen ihrer aussergewöhnlichen Häufung besonders schwer wiegen und auf eine gravierende Verletzung ihrer Amtspflichten gegenüber dem Betroffenen hinauslaufen. In der Regel kann aus Äusserungen, die mit der normalen Ausübung von Verwaltungsfunktionen oder mit den üblichen Befugnissen der am Verfahren beteiligten Behörde im Einklang stehen, nicht auf den Anschein von Parteilichkeit geschlossen werden (vgl. zum Ganzen u.a. BGE 140 I 326 E. 5.2 S. 329; 127 I 196 E. 2b S. 198 f. m.w.H.; 125 I 119 E. 3e f. S. 124 f., Urteile 2C_643/2010 vom 1. Februar 2011 E. 5.5.1 und 2C_36/2010 vom 14. Juni 2010 E. 3.3).
2.3. Ein Ausstandsgrund aus angeblichen materiellen oder prozessualen Rechtsfehlern ist nur dann wesentlich, wenn diese Fehler besonders krass sind oder wiederholt auftreten, so dass sie einer schweren Amtspflichtverletzung gleichkommen und sich einseitig zulasten einer Partei auswirken (vgl. u.a. BGE 141 IV 178 E. 3.2.3 S. 180; 138 IV 142 E 2.3 S. 146).
3.
Die Beschwerdeführerin stützt ihr Ausstandsbegehren vorab auf einen Presseartikel, der am 10. November 2016 in einer bestimmten Zeitung erschien; dieser Artikel beruhe auf Informationen, die zwingend als Ergebnis einer Amtsgeheimnisverletzung seitens (zumindest) eines Mitarbeiters des Kantonalen Steueramtes Zürich an die Zeitung gelangt seien. Die drei massgeblichen Steuerkommissäre des Amtes hätten deshalb in den Ausstand treten müssen. Der Artikel beziehe sich auf zwei verschiedene Umstände: einerseits erwähne er einen Sicherungshinterlegungsvertrag, den der wirtschaftliche Eigentümer der Beschwerdeführerin mit den zuständigen Steuerbehörden auf der Ebene der Gemeinde, des Kantons und des Bundes abgeschlossen habe; andererseits enthalte der Artikel die Information, dass gegen den besagten wirtschaftlichen Eigentümer Strafanzeige erhoben worden sei; beide Umstände zusammen seien ausschliesslich den verschiedenen Mitarbeitern der zürcherischen Steuerbehörden zugänglich und bekannt gewesen; deshalb seien sie allesamt für die weitere Behandlung des Falles befangen.
3.1. Diesbezüglich hat das Verwaltungsgericht das Ausstandsbegehren jedoch zu Recht als unbegründet eingestuft.
3.1.1. Einerseits war, wie die Beschwerdeführerin selbst eingeräumt hat, der Sicherungshinterlegungsvertrag einem zwar beschränkten, aber doch nicht klar eingrenzbaren Personenkreis bekannt, der u.a. verschiedene Ämter in mehreren Kantonen und Privatpersonen umfasste. Die mit dem Fall befassten Kommissäre hielten alle fest, die ihnen spekulativ entgegengehaltene Verletzung des Amtsgeheimnisses nicht begangen zu haben; zwei von ihnen gaben weiter an, vom Vertrag im damaligen Zeitpunkt keine Kenntnis gehabt bzw. ihn noch nie gesehen zu haben (vgl. E. 6.3 S. 14 des angefochtenen Urteils).
3.1.2. Das Verwaltungsgericht hat andererseits für das Bundesgericht verbindlich festgehalten, dass der Personenkreis, der von der Strafanzeige wusste, weiter war als die hier massgeblichen Kommissäre und nebst Mitarbeitern der Oberstaatsanwaltschaft soweit ersichtlich auch die anderen Mitglieder des Verwaltungsrats der Beschwerdeführerin mit einschloss. Es bestand somit kein Anlass für die Vermutung, dass nur die Kommissäre eine kombinierte Kenntnis vom Vertrag und der Anzeige hatten.
3.2. Die Beschwerdeführerin wendet sich mit zahlreichen Argumenten gegen die Beurteilung der Vorinstanz, vermag damit aber nicht durchzudringen.
3.2.1. Sie setzt den Sachverhaltsfeststellungen des Verwaltungsgerichts nur ihre eigene Sichtweise und insbesondere blosse Vermutungen entgegen, was sich bei weitem als nicht genügend erweist, um die vorinstanzliche Fakten-Ermittlung als geradezu offensichtlich unrichtig erscheinen zu lassen, was erforderlich wäre, damit sie für das Bundesgericht nicht verbindlich wäre (vgl. oben E. 1.4). Es bestand auch kein Grund für zusätzliche Abklärungen, sei es nun auf der Ebene des Kantonalen Steueramtes oder seitens des Verwaltungsgerichts.
3.2.2. Unbegründet ist auch der Vorwurf, die mit dem Nachsteuer- und Hinterziehungsverfahren befassten Steuerkommissäre hätten nach dem gegen sie eingereichten Ausstandsbegehren unverzüglich jegliche Amtshandlung gegenüber der Beschwerdeführerin unterlassen sollen. So hätte es diese faktisch in der Hand gehabt, das Hauptverfahren massgeblich zu verzögern. Deshalb muss es den betroffenen Behördenmitarbeitern gestattet sein, das Verfahren weiterzubetreuen, mit dem Risiko, dass die nachher von ihnen erlassene Verfügung (hier diejenige vom 15. November 2016) im Nachhinein wegen Gutheissung des Ausstandsgesuchs aufgehoben wird, gegebenenfalls im Rechtsmittelverfahren.
3.2.3. In diesem Zusammenhang vermag es ebenfalls nicht zu überzeugen, wenn die Beschwerdeführerin den Vorwurf erhebt, das Verwaltungsgericht habe bei seiner Beurteilung der Befangenheit die Periode zwischen dem 10. November 2016 (erstes telefonisches Ausstandsbegehren seitens des Rechtsvertreters der Beschwerdeführerin) und dem 16. November 2016 (amtsinterne Mitteilung hinsichtlich des Ausstandsgesuchs an die betroffenen Steuerkommissäre) völlig ausser Acht gelassen und somit den rechtserheblichen Sachverhalt unvollständig ermittelt. Nichts drängte solche zusätzlichen Erhebungen auf.
4.
Weiter stützt die Beschwerdeführerin ihr Begehren, die Kommissäre hätten in den Ausstand zu treten, auf vermeintliche schwere Verfahrensverstösse, welche diese im Nachsteuer- und Hinterziehungsverfahren begangen hätten.
4.1. Das Verwaltungsgericht hat im angefochtenen Urteil zutreffend erwogen und sorgfältig begründet, dass selbst die Gesamtheit der dort geltend gemachten Vorwürfe nicht den Anschein einer Befangenheit zu erwecken vermag (vgl. E. 7 des verwaltungsgerichtlichen Urteils; siehe auch oben E. 2.3).
4.2. Daran vermag für sich allein auch der Umstand nichts zu ändern, dass der zuständige Kommissär seine endgültige Verfügung nur fünf Tage nach Eingang der doch 15-seitigen Vernehmlassung mit neuen Beweisanträgen erliess. Nur schon daraus ist nicht zwingend auf seine Voreingenommenheit zu schliessen. Vielmehr ging er, wie die Beschwerdeführerin selbst einräumt, auf die verschiedenen Argumente in ihrer Vernehmlassung ein und setzte sich insbesondere mit den Beweisanträgen auseinander (vgl. dazu aber näher unten E. 5.2.1 in fine).
4.3. Die Beurteilung des Verwaltungsgerichts hat somit die verfassungsmässigen Ansprüche der Beschwerdeführerin (auch diejenigen aus Art. 29 Abs. 2 BV) nicht verletzt.
5.
Die Beschwerdeführerin begründet ihr Ausstandsbegehren im Übrigen damit, dass der mit ihrem Verfahren befasste Steuerkommissär E._ insofern den Anschein von Befangenheit erweckt habe, als er noch während der laufenden Vernehmlassungsfrist im hier zugrunde liegenden Nachsteuer- und Steuerhinterziehungsverfahren eine Strafanzeige wegen Steuerbetrugs gegen den wirtschaftlichen Eigentümer der Beschwerdeführerin erhoben habe.
5.1. Dazu hat die Vorinstanz geurteilt, dass das Einreichen der Strafanzeige unter den gegebenen Umständen keinen Anschein der Befangenheit zu erwecken vermochte. Sie stützt diese Beurteilung auf zwei Gesichtspunkte.
5.1.1. Einerseits hat das Verwaltungsgericht die Auffassung vertreten, dass die zuständige Behörde eine Rechtspflicht trifft, Anzeige zu erstatten. Aufgrund von Art. 188 DBG ist die kantonale Verwaltung für die direkte Bundessteuer nicht nur berechtigt, sondern vielmehr verpflichtet, Strafanzeige zu erheben, wenn sie zu vermuten hat, dass ein Vergehen nach den Artikeln 186-187 DBG (Steuerbetrug bzw. Veruntreuung von Quellensteuern) begangen wurde. Der Wortlaut von Art. 188 DBG lässt keinen Raum für die Anwendung des Opportunitätsprinzips. Bei konkretem Tatverdacht muss die zuständige Behörde eine Anzeige erstatten, was der mit dem Verfahren befasste Steuerkommissär hier getan hat. Die Anzeigepflicht setzt weder den Nachweis der Steuerhinterziehung voraus, noch dass ein bestimmter Tatverdächtiger als Täter bezeichnet werden kann.
5.1.2. Andererseits hat das Verwaltungsgericht gegen den Anschein einer Befangenheit hervorgehoben, dass sich die Anzeige gegen den wirtschaftlichen Eigentümer richtete, womit auch keine Parteiidentität vorliege. Weiter würden nicht die gleichen Voraussetzungen für die in den beiden Verfahren massgeblichen Tatbestände gelten; der Steuerbetrug umfasse die Hinterziehung nicht vollständig; das eine und das andere Verfahren könnten parallel durchgeführt werden.
5.2. Dem Verwaltungsgericht ist zwar einzuräumen, dass die Erstattung einer Strafanzeige auf Amtspflicht beruht und als solche keine Aussstandspflicht zu begründen vermag. Die Vorinstanz verkennt in ihrer rechtlichen Würdigung des zeitlichen Ablaufs jedoch, dass der betroffene Steuerkommissär E._ sich vor Beendigung des Schriftenwechsels eine abschliessende Meinung gebildet und diese nach aussen durch Erstattung der Strafanzeige in einem verbundenen Verfahren zum Ausdruck gebracht hat. Daher konnte er von der Beschwerdeführerin nicht mehr als unbefangen angesehen werden.
5.2.1. Die Abteilung Strafsachen und Untersuchungen der EStV (ASU) verlangte bereits am 11. Februar 2014, es sei eine Strafanzeige wegen Steuerbetrugs zu erstatten. Hierauf stützte sich unter anderem der Steuerkommissär bei seiner Anzeige am 24. Oktober 2016.
Die rechtliche Würdigung des Verwaltungsgerichts gewichtet jedoch ein entscheidendes Element nur ungenügend: Der Umstand, dass die Anzeige mehr als zwei Jahre nach entsprechender Aufforderung durch die ASU erging, ist bereits als solcher ein starkes Indiz dafür, dass der Steuerkommissär sich zu diesem Schritt nicht aufgrund einer blossen prima-facie-Prüfung entschloss, sondern aufgrund einer eingehenden Analyse des Dossiers im Nachsteuer- und Hinterziehungsverfahren. Dass der Steuerkommissär sich hier tatsächlich mit erheblicher Wahrscheinlichkeit eine abschliessende Meinung gebildet und die so gewonnene Überzeugung sogar nach aussen kommuniziert hat, ergibt sich aus dem weiteren Ablauf: Im Zeitpunkt der im genannten anderen Verfahren am 24. Oktober 2016 eingereichten Strafanzeige war noch die Vernehmlassungsfrist für die Beschwerdeführerin offen. Deren Vernehmlassung erfolgte am 9. November 2016. Bereits fünf Tage nach Erhalt, nämlich am 15. November 2016, erging die Verfügung, mit welcher die Beschwerdeführerin zu einer Nachsteuer und einer Steuerhinterziehungsbusse verurteilt worden ist.
Nun hat aber der zuständige Kommissär jederzeit für Argumente offen zu bleiben, welche im weiteren Verfahren vorgetragen werden. Gerade das ist nicht mehr der Fall, wenn er knapp vor Eingang einer Vernehmlassung in einem verbundenen Verfahren (entgegen der abweichenden juristischen Einschätzung der Vorinstanz, vgl. oben E. 5.1.2) Strafanzeige erstattet. Dann hat er sich notwendigerweise seine Meinung gebildet; er ist nicht mehr offen für weitere Argumente oder erweckt jedenfalls zumindest diesen Eindruck.
Im vorliegenden Verfahren kommt ein weiterer Umstand dazu, der auch von der Vorinstanz in ihrer rechtlichen Würdigung des Falls nicht bestritten wird: Es ist klar, dass die Ausarbeitung der Verfügung vom 15. November 2016 weitgehend vor Erstattung der Vernehmlassung erfolgt ist. Das ist als solches nicht zu beanstanden, so lange die verfügende Behörde auch insoweit für Argumente offen bleibt, welche im weiteren Verfahren vorgetragen werden. Gerade das aber ist unter Umständen wie den vorliegenden nicht mehr gewährleistet.
5.2.2. An der rechtlichen Würdigung der Vorinstanz erweist sich wohl als zutreffend, dass hier eine Verpflichtung zur Erstattung der Strafanzeige bestand. Der Zeitpunkt, in dem die Anzeige erstattet wird, ist dem Beamten nicht vorgegeben, erweist sich aber für den Anschein der Befangenheit als wesentlich. Eine Anzeige bereits aufgrund einer groben prima-facie-Beurteilung, z.B. direkt nach Eingang des besonderen Untersuchungsberichts der ASU, hätte keine Bedenken erweckt. Ebenso wenig hätte sich auf Voreingenommenheit schliessen lassen, wenn mit der Anzeige noch bis zum Erlass der Verfügung zugewartet worden wäre.
Entgegen der Beurteilung des Verwaltungsgerichts erfolgt jedoch eine in einem verbundenen Verfahren erstattete Strafanzeige kurz vor Erlass der Verfügung und bei noch offener Vernehmlassungsfrist zur Unzeit und lässt auf Voreingenommenheit schliessen (vgl. dazu mutatis mutandis das Bundesgerichtsurteil 1B_87/2017 vom 6. April 2017; dort überwies ein Einzelrichter die Sache unmittelbar vor angesetzter Verhandlung an ein Kollegialgericht mit erweiterter Strafkompetenz; das liess ebenfalls darauf schliessen, dass die Einschätzung eines erweiterten Strafrahmens nicht auf einer blossen prima-facie-Beurteilung beruhte, sondern auf der nach eingehender Analyse gewonnenen Überzeugung, eine härtere Bestrafung sei notwendig). Dass sich die Anzeige nicht gegen die Beschwerdeführerin, sondern gegen deren wirtschaftlichen Eigentümer richtete, ist dabei nicht ausschlaggebend.
5.3. Gesamthaft kann somit der Vorinstanz hinsichtlich ihrer Anwendung von Art. 29 f. BV (sowie der damit in Zusammenhang stehenden Gesetzesbestimmungen) insoweit nicht beigepflichtet werden, als sie die Situation in Bezug auf die drei Steuerkommissäre nicht differenziert gewürdigt hat. Gegen die Kommissäre D._ und F._ ist kein Ausstandsgrund ersichtlich (vgl. oben E. 3-5.1 sowie E. 5.2 a contrario), für E._ aber schon, aufgrund der Strafanzeige vom 24. Oktober 2016 und ab diesem Zeitpunkt (vgl. oben E. 5.2).
6.
6.1. Nach dem Gesagten ist die Beschwerde im Sinne der obenstehenden Erwägungen teilweise gutzuheissen, soweit darauf einzutreten ist (vgl. oben E. 1.2). Im eben erwähnten Umfang (vgl. oben E. 5.2 u. E. 5.3) erweist sich das Ausstandsgesuch als begründet und ist das angefochtene Urteil aufzuheben. Die Verfügung vom 15. November 2016 ist ebenfalls aufzuheben und die Sache zur Neuentscheidung durch einen unbefangenen Steuerkommissär an das Kantonale Steueramt Zürich zurückzuweisen. Von einer solchen Neubearbeitung ist weder D._ noch F._ (oder der im Sachverhalt erwähnte G._; vgl. dort: A.) ausgeschlossen.
6.2. Entsprechend dem Verfahrensausgang wird der Kanton Zürich, der Vermögensinteressen vertritt, in reduziertem Ausmass kosten- und entschädigungspflichtig (vgl. Art. 65 f. u. Art. 68 BGG); darüber hinaus sind die Gerichtskosten der Beschwerdeführerin aufzuerlegen. Im gleichen Sinne ist die Sache an die Vorinstanz zur Neuverlegung der Kosten- und Entschädigungsfolgen des kantonalen Verfahrens zurückzuweisen.
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird im Sinne der Erwägungen teilweise gutgeheissen, soweit darauf einzutreten ist, im Übrigen abgewiesen. Das Ausstandsgesuch wird gegenüber Steuerkommissär E._ aufgrund der Strafanzeige vom 24. Oktober 2016 und ab diesem Zeitpunkt gutgeheissen, gegenüber den Kommissären D._ und F._ abgewiesen. Das Urteil des Verwaltungsgerichts des Kantons Zürich vom 21. März 2018 wird im entsprechenden Umfang aufgehoben, ansonsten bestätigt. Die Verfügung vom 15. November 2016 wird aufgehoben und die Sache zur Neuentscheidung durch einen unbefangenen Steuerkommissär an das Kantonale Steueramt Zürich zurückgewiesen.
2.
Die Gerichtskosten von Fr. 8'000.-- werden in der Höhe von Fr. 2'000.-- dem Kanton Zürich, darüber hinaus der Beschwerdeführerin auferlegt.
3.
Der Kanton Zürich hat der Beschwerdeführerin für das bundesgerichtliche Verfahren eine reduzierte Parteientschädigung von Fr. 2'000.-- auszurichten.
4.
Die Sache wird zur Neuverlegung der Kosten- und Entschädigungsfolgen des kantonalen Verfahrens an das Verwaltungsgericht des Kantons Zürich zurückgewiesen.
5.
Dieses Urteil wird den Verfahrensbeteiligten, dem Verwaltungsgericht des Kantons Zürich, 2. Abteilung, und der Eidgenössischen Steuerverwaltung schriftlich mitgeteilt.
Lausanne, 25. März 2019
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Seiler
Der Gerichtsschreiber: Matter